/* Options: Date: 2026-05-19 09:52:42 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomerV2.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class Email { /** @description Email */ // @ApiMember(Description="Email", IsRequired=true) public email: string; /** @description Main email */ // @ApiMember(Description="Main email", IsRequired=true) public isMainEmail: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Phone { /** @description Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456 */ // @ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true) public phone: string; /** @description Prefix Country Id e.g. it, fr, az */ // @ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true) public countryPrefix: string; /** @description Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address' */ // @ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'") public phoneType: string; /** @description Main Phone */ // @ApiMember(Description="Main Phone", IsRequired=true) public isMainPhone: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { /** @description Address type e.g. Home, Office, Shipping */ // @ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true) public addressType: string; /** @description Country Id e.g. it, cn, az, gb, de */ // @ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true) public countryId: string; /** @description House Number */ // @ApiMember(Description="House Number") public houseNumber: string; /** @description Region/State */ // @ApiMember(Description="Region/State") public stateId: string; /** @description City Name */ // @ApiMember(Description="City Name") public city: string; /** @description Postal Code */ // @ApiMember(Description="Postal Code") public zipCode: string; /** @description Street Name and Number */ // @ApiMember(Description="Street Name and Number") public street: string; /** @description Street 2 */ // @ApiMember(Description="Street 2") public street2: string; /** @description Street 3 */ // @ApiMember(Description="Street 3") public street3: string; /** @description Street 4 */ // @ApiMember(Description="Street 4") public street4: string; /** @description Street 5 */ // @ApiMember(Description="Street 5") public street5: string; /** @description Main Address */ // @ApiMember(Description="Main Address", IsRequired=true) public isMainAddress: boolean; /** @description Post Office Box */ // @ApiMember(Description="Post Office Box") public poBox: string; /** @description Additional Information */ // @ApiMember(Description="Additional Information") public additionalInformation: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class Interest { /** @description Interest description */ // @ApiMember(Description="Interest description", IsRequired=true) public interest: string; /** @description SAP Interest ID, e.g. 'CA-1' */ // @ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true) public sapInterestId: string; /** @description Interest description translation */ // @ApiMember(Description="Interest description translation") public translation: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Hobby { /** @description Hobby description */ // @ApiMember(Description="Hobby description", IsRequired=true) public hobby: string; /** @description SAP Hobby ID, e.g. 'ART' */ // @ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true) public sapHobbyId: string; /** @description Hobby description translation */ // @ApiMember(Description="Hobby description translation") public translation: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProductCollection { /** @description Product Collection description */ // @ApiMember(Description="Product Collection description", IsRequired=true) public productCollection: string; /** @description SAP ProductCollection ID, e.g. 'CA-1' */ // @ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true) public sapProductCollectionId: string; /** @description Product Collection description translation */ // @ApiMember(Description="Product Collection description translation", IsRequired=true) public translation: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerEventV2 { /** @description Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other' */ // @ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true) public eventType: string; /** @description Event date e.g. '2021-01-20' */ // @ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true) public eventDate: string; /** @description Event notes */ // @ApiMember(Description="Event notes") public eventNotes: string; /** @description Event other name */ // @ApiMember(Description="Event other name") public eventOtherName: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { /** @description Country ID */ // @ApiMember(Description="Country ID") public countryId: string; /** @description State ID */ // @ApiMember(Description="State ID") public stateId: string; /** @description City Name */ // @ApiMember(Description="City Name") public city: string; /** @description Street Name and Number */ // @ApiMember(Description="Street Name and Number") public street: string; /** @description Postal Code */ // @ApiMember(Description="Postal Code") public zipCode: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class GetCustomerV2Response { /** @description Booster Customer ID */ // @ApiMember(Description="Booster Customer ID") public boosterCustomerId?: number; /** @description Elevate Customer ID */ // @ApiMember(Description="Elevate Customer ID") public elevateCustomerId: string; /** @description SAP ID */ // @ApiMember(Description="SAP ID", IsRequired=true) public sapId: string; /** @description Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'Personal' */ // @ApiMember(Description="Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'Personal'", IsRequired=true) public title: string; /** @description First Name */ // @ApiMember(Description="First Name", IsRequired=true) public firstName: string; /** @description Last Name - Mandatory only when customer type is 'Personal' */ // @ApiMember(Description="Last Name - Mandatory only when customer type is 'Personal'", IsRequired=true) public lastName: string; /** @description First Name Not Latin, e.g. Arabic */ // @ApiMember(Description="First Name Not Latin, e.g. Arabic", IsRequired=true) public firstNameNotLatin: string; /** @description Last Name Not Latin, e.g. Arabic; Mandatory only when customer type is 'Personal' */ // @ApiMember(Description="Last Name Not Latin, e.g. Arabic; Mandatory only when customer type is 'Personal'", IsRequired=true) public lastNameNotLatin: string; /** @description Middle Name */ // @ApiMember(Description="Middle Name") public middleName: string; /** @description Name Suffix */ // @ApiMember(Description="Name Suffix") public nameSuffix: string; /** @description Can be Contacted by Maison e.g. true or false */ // @ApiMember(Description="Can be Contacted by Maison e.g. true or false", IsRequired=true) public canBeContactedByMaison: boolean; /** @description clientType e.g. Private, Company */ // @ApiMember(Description="clientType e.g. Private, Company", IsRequired=true) public clientType: string; /** @description Company Name - Mandatory only when customer type is 'Company' */ // @ApiMember(Description="Company Name - Mandatory only when customer type is 'Company'") public companyName: string; /** @description Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'Personal' */ // @ApiMember(Description="Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'Personal'") public languageId: string; /** @description Gender e.g. M, F - Mandatory only when customer type is 'Personal' */ // @ApiMember(Description="Gender e.g. M, F - Mandatory only when customer type is 'Personal'") public gender: string; /** @description Country Id e.g. it, ch, az, gb, de */ // @ApiMember(Description="Country Id e.g. it, ch, az, gb, de", IsRequired=true) public countryId: string; /** @description Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany */ // @ApiMember(Description="Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany", IsRequired=true) public countryDs: string; /** @description Birth Date e.g. '2020-12-30' */ // @ApiMember(Description="Birth Date e.g. '2020-12-30'") public birthDate: string; /** @description Customer reference */ // @ApiMember(Description="Customer reference") public customerReference: string; /** @description POS Code e.g. ES100:102048 */ // @ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true) public posCode: string; /** @description Brand e.g. CAR, MTB */ // @ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true) public brand: string; /** @description Wedding Date, e.g. '2020-01-18' */ // @ApiMember(Description="Wedding Date, e.g. '2020-01-18'") public weddingDate: string; /** @description Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey' */ // @ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'") public preferredContactMethod: string; /** @description Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you want to be contacted by email. Leave empty or 'false' if you do not.") public contactByEmailFlag: boolean; /** @description Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you want to be contacted by mail. Leave empty or 'false' if you do not.") public contactByMailFlag: boolean; /** @description Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you want to be contacted by phone. Leave empty or 'false' if you do not.") public contactByPhoneFlag: boolean; /** @description Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you want to be contacted by SMS. Leave empty or 'false' if you do not.") public contactBySMSFlag: boolean; /** @description Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you want to be contacted by social media. Leave empty or 'false' if you do not.") public contactBySocialMediaFlag: boolean; /** @description Sale Representative Email e.g. rauf.aliyev@richemont.com */ // @ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com") public saleRepresentativeEmail: string; /** @description Consent for allowing Cross Border Data Transfer */ // @ApiMember(Description="Consent for allowing Cross Border Data Transfer") public allowStoreDataAbroad?: boolean; /** @description Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not. */ // @ApiMember(Description="Provide 'true' if you allow data sharing consent. Leave empty or 'false' if you do not.") public dataSharingConsent?: boolean; /** @description Data Sharing Consent Timestamp */ // @ApiMember(Description="Data Sharing Consent Timestamp") public dataSharingConsentTimestamp: string; /** @description Client Registration Date */ // @ApiMember(Description="Client Registration Date") public clientRegistrationDate: string; /** @description Client Creation Date */ // @ApiMember(Description="Client Creation Date") public createdOn: string; /** @description Notes */ // @ApiMember(Description="Notes") public notes: string; /** @description Customer emails */ // @ApiMember(Description="Customer emails") public emails: Email[]; /** @description Customer phones */ // @ApiMember(Description="Customer phones") public phones: Phone[]; /** @description Customer addresses */ // @ApiMember(Description="Customer addresses") public addresses: Address[]; /** @description Customer events */ // @ApiMember(Description="Customer events") public events: CustomerEventV2[]; /** @description Customer interests */ // @ApiMember(Description="Customer interests") public interests: Interest[]; /** @description Customer hobbies */ // @ApiMember(Description="Customer hobbies") public hobbies: Hobby[]; /** @description Customer Product Collections */ // @ApiMember(Description="Customer Product Collections") public productCollections: ProductCollection[]; /** @description Registration date */ // @ApiMember(Description="Registration date") public registrationDate?: string; /** @description Sap Crm Error Message */ // @ApiMember(Description="Sap Crm Error Message") public sapCrmErrorMessage: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/customer/v2/{customerId}", "GET") export class GetCustomerV2 implements IReturn { /** @description Booster or Elevate Customer ID */ // @ApiMember(Description="Booster or Elevate Customer ID", IsRequired=true) public customerId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetCustomerV2'; } public getMethod() { return 'GET'; } public createResponse() { return new GetCustomerV2Response(); } }