/* Options: Date: 2026-06-14 22:00:41 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://qp-microservices-booster.richemont.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomerSuggestion.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class BaseRequest implements IRequest, IConvertible { String? sid; String? app; String? _os; String? _appVersion; String? _searchMethod; BaseRequest({this.sid,this.app,this._os,this._appVersion,this._searchMethod}); BaseRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { sid = json['sid']; app = json['app']; _os = json['_os']; _appVersion = json['_appVersion']; _searchMethod = json['_searchMethod']; return this; } Map toJson() => { 'sid': sid, 'app': app, '_os': _os, '_appVersion': _appVersion, '_searchMethod': _searchMethod }; getTypeName() => "BaseRequest<$TResponse>"; TypeContext? context = _ctx; } abstract class IRequest { String? sid; String? app; } class BaseResponse implements IRespose, IConvertible { String? _xmlns; String? _type; String? _source; String? _tstamp; String? _user; String? _env; String? _uri; String? _query; BaseResponse({this._xmlns,this._type,this._source,this._tstamp,this._user,this._env,this._uri,this._query}); BaseResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { _xmlns = json['_xmlns']; _type = json['_type']; _source = json['_source']; _tstamp = json['_tstamp']; _user = json['_user']; _env = json['_env']; _uri = json['_uri']; _query = json['_query']; return this; } Map toJson() => { '_xmlns': _xmlns, '_type': _type, '_source': _source, '_tstamp': _tstamp, '_user': _user, '_env': _env, '_uri': _uri, '_query': _query }; getTypeName() => "BaseResponse"; TypeContext? context = _ctx; } abstract class IRespose { String? _xmlns; String? _type; String? _source; String? _tstamp; String? _user; String? _env; String? _uri; String? _query; } class CustomerAddress implements IConvertible { String? addressId; String? description; String? addressLine1; String? addressLine2; String? addressLine3; String? addressLine4; String? addressLine5; String? houseNumber; String? city; String? region; String? county; String? stateOrProvinceId; String? countryId; String? countryDs; String? zipCode; String? addressTypeId; bool? isMailingAddress; bool? isMainAddress; CustomerAddress({this.addressId,this.description,this.addressLine1,this.addressLine2,this.addressLine3,this.addressLine4,this.addressLine5,this.houseNumber,this.city,this.region,this.county,this.stateOrProvinceId,this.countryId,this.countryDs,this.zipCode,this.addressTypeId,this.isMailingAddress,this.isMainAddress}); CustomerAddress.fromJson(Map json) { fromMap(json); } fromMap(Map json) { addressId = json['addressId']; description = json['description']; addressLine1 = json['addressLine1']; addressLine2 = json['addressLine2']; addressLine3 = json['addressLine3']; addressLine4 = json['addressLine4']; addressLine5 = json['addressLine5']; houseNumber = json['houseNumber']; city = json['city']; region = json['region']; county = json['county']; stateOrProvinceId = json['stateOrProvinceId']; countryId = json['countryId']; countryDs = json['countryDs']; zipCode = json['zipCode']; addressTypeId = json['addressTypeId']; isMailingAddress = json['isMailingAddress']; isMainAddress = json['isMainAddress']; return this; } Map toJson() => { 'addressId': addressId, 'description': description, 'addressLine1': addressLine1, 'addressLine2': addressLine2, 'addressLine3': addressLine3, 'addressLine4': addressLine4, 'addressLine5': addressLine5, 'houseNumber': houseNumber, 'city': city, 'region': region, 'county': county, 'stateOrProvinceId': stateOrProvinceId, 'countryId': countryId, 'countryDs': countryDs, 'zipCode': zipCode, 'addressTypeId': addressTypeId, 'isMailingAddress': isMailingAddress, 'isMainAddress': isMainAddress }; getTypeName() => "CustomerAddress"; TypeContext? context = _ctx; } class CustomerEmail implements IConvertible { String? emailId; String? description; String? email; bool? isMainEmail; Lookup? type; CustomerEmail({this.emailId,this.description,this.email,this.isMainEmail,this.type}); CustomerEmail.fromJson(Map json) { fromMap(json); } fromMap(Map json) { emailId = json['emailId']; description = json['description']; email = json['email']; isMainEmail = json['isMainEmail']; type = JsonConverters.fromJson(json['type'],'Lookup',context!); return this; } Map toJson() => { 'emailId': emailId, 'description': description, 'email': email, 'isMainEmail': isMainEmail, 'type': JsonConverters.toJson(type,'Lookup',context!) }; getTypeName() => "CustomerEmail"; TypeContext? context = _ctx; } class CustomerPhone implements IConvertible { String? phoneId; String? description; String? phone; bool? isMainPhone; String? prefixCountryId; String? telephonePrefix; Lookup? type; CustomerPhone({this.phoneId,this.description,this.phone,this.isMainPhone,this.prefixCountryId,this.telephonePrefix,this.type}); CustomerPhone.fromJson(Map json) { fromMap(json); } fromMap(Map json) { phoneId = json['phoneId']; description = json['description']; phone = json['phone']; isMainPhone = json['isMainPhone']; prefixCountryId = json['prefixCountryId']; telephonePrefix = json['telephonePrefix']; type = JsonConverters.fromJson(json['type'],'Lookup',context!); return this; } Map toJson() => { 'phoneId': phoneId, 'description': description, 'phone': phone, 'isMainPhone': isMainPhone, 'prefixCountryId': prefixCountryId, 'telephonePrefix': telephonePrefix, 'type': JsonConverters.toJson(type,'Lookup',context!) }; getTypeName() => "CustomerPhone"; TypeContext? context = _ctx; } class Lookup implements IConvertible { T? Id; String? Description; Lookup({this.Id,this.Description}); Lookup.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = JsonConverters.fromJson(json['Id'],'T',context!); Description = json['Description']; return this; } Map toJson() => { 'Id': JsonConverters.toJson(Id,'T',context!), 'Description': Description }; getTypeName() => "Lookup<$T>"; TypeContext? context = _ctx; } class GetCustomerSuggestionResponse extends BaseResponse implements IConvertible { String? customerType; String? customerRef; int? title; String? titleDs; String? firstName; String? lastName; String? firstNameNotLatin; String? lastNameNotLatin; String? birthday; String? birthDayEventId; String? weddingDate; bool? canBeContacted; String? seller; String? language; String? languageDs; String? nameSuffix; String? gender; String? companyName; String? middleName; String? customerId; String? personId; int? boosterCustomerId; int? posOwnerId; String? brandOwnerId; int? businessUnitId; String? sapGenderId; bool? allowStoreDataAbroad; bool? privacyPolicyAcceptanceStorage; bool? tvAllowStoreDataAbroad; bool? tvPrivacyPolicyAcceptanceStorage; bool? contactByMail; bool? contactByEmail; bool? contactByPhone; bool? contactBySMS; bool? contactBySocialMedia; List? addresses; List? emails; List? phones; ResponseStatus? ResponseStatus; GetCustomerSuggestionResponse({this.customerType,this.customerRef,this.title,this.titleDs,this.firstName,this.lastName,this.firstNameNotLatin,this.lastNameNotLatin,this.birthday,this.birthDayEventId,this.weddingDate,this.canBeContacted,this.seller,this.language,this.languageDs,this.nameSuffix,this.gender,this.companyName,this.middleName,this.customerId,this.personId,this.boosterCustomerId,this.posOwnerId,this.brandOwnerId,this.businessUnitId,this.sapGenderId,this.allowStoreDataAbroad,this.privacyPolicyAcceptanceStorage,this.tvAllowStoreDataAbroad,this.tvPrivacyPolicyAcceptanceStorage,this.contactByMail,this.contactByEmail,this.contactByPhone,this.contactBySMS,this.contactBySocialMedia,this.addresses,this.emails,this.phones,this.ResponseStatus}); GetCustomerSuggestionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); customerType = json['customerType']; customerRef = json['customerRef']; title = json['title']; titleDs = json['titleDs']; firstName = json['firstName']; lastName = json['lastName']; firstNameNotLatin = json['firstNameNotLatin']; lastNameNotLatin = json['lastNameNotLatin']; birthday = json['birthday']; birthDayEventId = json['birthDayEventId']; weddingDate = json['weddingDate']; canBeContacted = json['canBeContacted']; seller = json['seller']; language = json['language']; languageDs = json['languageDs']; nameSuffix = json['nameSuffix']; gender = json['gender']; companyName = json['companyName']; middleName = json['middleName']; customerId = json['customerId']; personId = json['personId']; boosterCustomerId = json['boosterCustomerId']; posOwnerId = json['posOwnerId']; brandOwnerId = json['brandOwnerId']; businessUnitId = json['businessUnitId']; sapGenderId = json['sapGenderId']; allowStoreDataAbroad = json['allowStoreDataAbroad']; privacyPolicyAcceptanceStorage = json['privacyPolicyAcceptanceStorage']; tvAllowStoreDataAbroad = json['tvAllowStoreDataAbroad']; tvPrivacyPolicyAcceptanceStorage = json['tvPrivacyPolicyAcceptanceStorage']; contactByMail = json['contactByMail']; contactByEmail = json['contactByEmail']; contactByPhone = json['contactByPhone']; contactBySMS = json['contactBySMS']; contactBySocialMedia = json['contactBySocialMedia']; addresses = JsonConverters.fromJson(json['addresses'],'List',context!); emails = JsonConverters.fromJson(json['emails'],'List',context!); phones = JsonConverters.fromJson(json['phones'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => super.toJson()..addAll({ 'customerType': customerType, 'customerRef': customerRef, 'title': title, 'titleDs': titleDs, 'firstName': firstName, 'lastName': lastName, 'firstNameNotLatin': firstNameNotLatin, 'lastNameNotLatin': lastNameNotLatin, 'birthday': birthday, 'birthDayEventId': birthDayEventId, 'weddingDate': weddingDate, 'canBeContacted': canBeContacted, 'seller': seller, 'language': language, 'languageDs': languageDs, 'nameSuffix': nameSuffix, 'gender': gender, 'companyName': companyName, 'middleName': middleName, 'customerId': customerId, 'personId': personId, 'boosterCustomerId': boosterCustomerId, 'posOwnerId': posOwnerId, 'brandOwnerId': brandOwnerId, 'businessUnitId': businessUnitId, 'sapGenderId': sapGenderId, 'allowStoreDataAbroad': allowStoreDataAbroad, 'privacyPolicyAcceptanceStorage': privacyPolicyAcceptanceStorage, 'tvAllowStoreDataAbroad': tvAllowStoreDataAbroad, 'tvPrivacyPolicyAcceptanceStorage': tvPrivacyPolicyAcceptanceStorage, 'contactByMail': contactByMail, 'contactByEmail': contactByEmail, 'contactByPhone': contactByPhone, 'contactBySMS': contactBySMS, 'contactBySocialMedia': contactBySocialMedia, 'addresses': JsonConverters.toJson(addresses,'List',context!), 'emails': JsonConverters.toJson(emails,'List',context!), 'phones': JsonConverters.toJson(phones,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }); getTypeName() => "GetCustomerSuggestionResponse"; TypeContext? context = _ctx; } // @Route("/warranty/v1/GetCustomerSuggestion", "POST") class GetCustomerSuggestion extends BaseRequest implements IReturn, IConvertible, IPost { String? emailAddress; int? posId; String? brandTrigram; String? phoneNumber; String? prefixCountryId; String? countryId; GetCustomerSuggestion({this.emailAddress,this.posId,this.brandTrigram,this.phoneNumber,this.prefixCountryId,this.countryId}); GetCustomerSuggestion.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); emailAddress = json['emailAddress']; posId = json['posId']; brandTrigram = json['brandTrigram']; phoneNumber = json['phoneNumber']; prefixCountryId = json['prefixCountryId']; countryId = json['countryId']; return this; } Map toJson() => super.toJson()..addAll({ 'emailAddress': emailAddress, 'posId': posId, 'brandTrigram': brandTrigram, 'phoneNumber': phoneNumber, 'prefixCountryId': prefixCountryId, 'countryId': countryId }); createResponse() => GetCustomerSuggestionResponse(); getResponseTypeName() => "GetCustomerSuggestionResponse"; getTypeName() => "GetCustomerSuggestion"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'qp_microservices_booster.richemont.com', types: { 'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()), 'IRequest': TypeInfo(TypeOf.Interface), 'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()), 'IRespose': TypeInfo(TypeOf.Interface), 'CustomerAddress': TypeInfo(TypeOf.Class, create:() => CustomerAddress()), 'CustomerEmail': TypeInfo(TypeOf.Class, create:() => CustomerEmail()), 'Lookup': TypeInfo(TypeOf.Class, create:() => Lookup()), 'CustomerPhone': TypeInfo(TypeOf.Class, create:() => CustomerPhone()), 'Lookup': TypeInfo(TypeOf.Class, create:() => Lookup()), 'Lookup': TypeInfo(TypeOf.Class, create:() => Lookup()), 'T': TypeInfo(TypeOf.Class, create:() => T()), 'GetCustomerSuggestionResponse': TypeInfo(TypeOf.Class, create:() => GetCustomerSuggestionResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetCustomerSuggestion': TypeInfo(TypeOf.Class, create:() => GetCustomerSuggestion()), });