/* Options: Date: 2026-05-19 10:46:14 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomer.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class CustomerEmail implements IConvertible { /** * Description */ // @ApiMember(Description="Description", IsRequired=true) String? description; /** * Email Address */ // @ApiMember(Description="Email Address", IsRequired=true) String? email; /** * Is main email address */ // @ApiMember(Description="Is main email address", IsRequired=true) bool? isMain; CustomerEmail({this.description,this.email,this.isMain}); CustomerEmail.fromJson(Map json) { fromMap(json); } fromMap(Map json) { description = json['description']; email = json['email']; isMain = json['isMain']; return this; } Map toJson() => { 'description': description, 'email': email, 'isMain': isMain }; getTypeName() => "CustomerEmail"; TypeContext? context = _ctx; } class CustomerPhone implements IConvertible { /** * Description */ // @ApiMember(Description="Description", IsRequired=true) String? description; /** * Phone Number */ // @ApiMember(Description="Phone Number", IsRequired=true) String? phone; /** * Is main phone number */ // @ApiMember(Description="Is main phone number ", IsRequired=true) bool? isMain; /** * Phone number country prefix */ // @ApiMember(Description="Phone number country prefix", IsRequired=true) String? prefixCountryId; /** * Telephone prefix */ // @ApiMember(Description="Telephone prefix", IsRequired=true) String? telephonePrefix; CustomerPhone({this.description,this.phone,this.isMain,this.prefixCountryId,this.telephonePrefix}); CustomerPhone.fromJson(Map json) { fromMap(json); } fromMap(Map json) { description = json['description']; phone = json['phone']; isMain = json['isMain']; prefixCountryId = json['prefixCountryId']; telephonePrefix = json['telephonePrefix']; return this; } Map toJson() => { 'description': description, 'phone': phone, 'isMain': isMain, 'prefixCountryId': prefixCountryId, 'telephonePrefix': telephonePrefix }; getTypeName() => "CustomerPhone"; TypeContext? context = _ctx; } class CustomerEvent implements IConvertible { /** * Event Id */ // @ApiMember(Description="Event Id", IsRequired=true) int? eventId; /** * Event Description */ // @ApiMember(Description="Event Description ", IsRequired=true) String? eventDescription; /** * Event Other */ // @ApiMember(Description="Event Other", IsRequired=true) String? eventTypeOther; /** * Comment */ // @ApiMember(Description="Comment", IsRequired=true) String? comment; /** * Event Day */ // @ApiMember(Description="Event Day", IsRequired=true) int? eventDay; /** * Event Month */ // @ApiMember(Description="Event Month", IsRequired=true) int? eventMonth; /** * Event Year */ // @ApiMember(Description="Event Year", IsRequired=true) int? eventYear; CustomerEvent({this.eventId,this.eventDescription,this.eventTypeOther,this.comment,this.eventDay,this.eventMonth,this.eventYear}); CustomerEvent.fromJson(Map json) { fromMap(json); } fromMap(Map json) { eventId = json['eventId']; eventDescription = json['eventDescription']; eventTypeOther = json['eventTypeOther']; comment = json['comment']; eventDay = json['eventDay']; eventMonth = json['eventMonth']; eventYear = json['eventYear']; return this; } Map toJson() => { 'eventId': eventId, 'eventDescription': eventDescription, 'eventTypeOther': eventTypeOther, 'comment': comment, 'eventDay': eventDay, 'eventMonth': eventMonth, 'eventYear': eventYear }; getTypeName() => "CustomerEvent"; TypeContext? context = _ctx; } class GetCustomerResponse implements IConvertible { /** * Booster Customer ID */ // @ApiMember(Description="Booster Customer ID", IsRequired=true) int? id; /** * SAP Customer ID */ // @ApiMember(Description="SAP Customer ID", IsRequired=true) String? sapId; /** * Customer Reference */ // @ApiMember(Description="Customer Reference", IsRequired=true) String? customerReference; /** * Gender */ // @ApiMember(Description="Gender", IsRequired=true) String? gender; /** * Personal Title */ // @ApiMember(Description="Personal Title", IsRequired=true) String? personalTitle; /** * First Name */ // @ApiMember(Description="First Name", IsRequired=true) String? firstName; /** * Customer Last Name */ // @ApiMember(Description="Customer Last Name", IsRequired=true) String? lastName; /** * First Name Not Latin */ // @ApiMember(Description="First Name Not Latin", IsRequired=true) String? firstNameNotLatin; /** * Customer Last Name Not Latin */ // @ApiMember(Description="Customer Last Name Not Latin", IsRequired=true) String? lastNameNotLatin; /** * Middle Name */ // @ApiMember(Description="Middle Name", IsRequired=true) String? middleName; /** * Can be contacted or not? */ // @ApiMember(Description="Can be contacted or not?", IsRequired=true) bool? canBeContacted; /** * Language */ // @ApiMember(Description="Language", IsRequired=true) String? language; /** * Country */ // @ApiMember(Description="Country", IsRequired=true) String? countryId; /** * Brand Trigram */ // @ApiMember(Description="Brand Trigram", IsRequired=true) String? brand; /** * List of Emails */ // @ApiMember(Description="List of Emails", IsRequired=true) List? emails; /** * List of Phone Numbers */ // @ApiMember(Description="List of Phone Numbers", IsRequired=true) List? phones; /** * List of Events */ // @ApiMember(Description="List of Events", IsRequired=true) List? events; /** * Registration date */ // @ApiMember(Description="Registration date") DateTime? registrationDate; GetCustomerResponse({this.id,this.sapId,this.customerReference,this.gender,this.personalTitle,this.firstName,this.lastName,this.firstNameNotLatin,this.lastNameNotLatin,this.middleName,this.canBeContacted,this.language,this.countryId,this.brand,this.emails,this.phones,this.events,this.registrationDate}); GetCustomerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id']; sapId = json['sapId']; customerReference = json['customerReference']; gender = json['gender']; personalTitle = json['personalTitle']; firstName = json['firstName']; lastName = json['lastName']; firstNameNotLatin = json['firstNameNotLatin']; lastNameNotLatin = json['lastNameNotLatin']; middleName = json['middleName']; canBeContacted = json['canBeContacted']; language = json['language']; countryId = json['countryId']; brand = json['brand']; emails = JsonConverters.fromJson(json['emails'],'List',context!); phones = JsonConverters.fromJson(json['phones'],'List',context!); events = JsonConverters.fromJson(json['events'],'List',context!); registrationDate = JsonConverters.fromJson(json['registrationDate'],'DateTime',context!); return this; } Map toJson() => { 'id': id, 'sapId': sapId, 'customerReference': customerReference, 'gender': gender, 'personalTitle': personalTitle, 'firstName': firstName, 'lastName': lastName, 'firstNameNotLatin': firstNameNotLatin, 'lastNameNotLatin': lastNameNotLatin, 'middleName': middleName, 'canBeContacted': canBeContacted, 'language': language, 'countryId': countryId, 'brand': brand, 'emails': JsonConverters.toJson(emails,'List',context!), 'phones': JsonConverters.toJson(phones,'List',context!), 'events': JsonConverters.toJson(events,'List',context!), 'registrationDate': JsonConverters.toJson(registrationDate,'DateTime',context!) }; getTypeName() => "GetCustomerResponse"; TypeContext? context = _ctx; } // @Route("/customer/{boosterCustomerId}", "GET") class GetCustomer implements IReturn, IConvertible, IGet { /** * Booster Customer ID */ // @ApiMember(Description="Booster Customer ID", IsRequired=true) int? boosterCustomerId; GetCustomer({this.boosterCustomerId}); GetCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { boosterCustomerId = json['boosterCustomerId']; return this; } Map toJson() => { 'boosterCustomerId': boosterCustomerId }; createResponse() => GetCustomerResponse(); getResponseTypeName() => "GetCustomerResponse"; getTypeName() => "GetCustomer"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'CustomerEmail': TypeInfo(TypeOf.Class, create:() => CustomerEmail()), 'CustomerPhone': TypeInfo(TypeOf.Class, create:() => CustomerPhone()), 'CustomerEvent': TypeInfo(TypeOf.Class, create:() => CustomerEvent()), 'GetCustomerResponse': TypeInfo(TypeOf.Class, create:() => GetCustomerResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetCustomer': TypeInfo(TypeOf.Class, create:() => GetCustomer()), });