/* Options: Date: 2026-08-27 07:10:45 Version: 10.08 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 = 0; /** * 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 = 0; /** * Event Month */ // @ApiMember(Description="Event Month", IsRequired=true) int eventMonth = 0; /** * Event Year */ // @ApiMember(Description="Event Year", IsRequired=true) int eventYear = 0; CustomerEvent({this.eventId=0,this.eventDescription="",this.eventTypeOther="",this.comment="",this.eventDay=0,this.eventMonth=0,this.eventYear=0}); CustomerEvent.fromJson(Map json) { fromMap(json); } fromMap(Map json) { eventId = json['eventId'] ?? 0; eventDescription = json['eventDescription'] ?? ""; eventTypeOther = json['eventTypeOther'] ?? ""; comment = json['comment'] ?? ""; eventDay = json['eventDay'] ?? 0; eventMonth = json['eventMonth'] ?? 0; eventYear = json['eventYear'] ?? 0; 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 = 0; /** * 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=0,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=const [],this.phones=const [],this.events=const [],this.registrationDate}); GetCustomerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { id = json['id'] ?? 0; 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 = 0; GetCustomer({this.boosterCustomerId=0}); GetCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { boosterCustomerId = json['boosterCustomerId'] ?? 0; 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()), });