/* Options: Date: 2026-05-19 10:57:01 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetCustomerV2.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/customer/v2/{customerId}", Verbs="GET") open class GetCustomerV2 : IReturn { /** * Booster or Elevate Customer ID */ @ApiMember(Description="Booster or Elevate Customer ID", IsRequired=true) var customerId:String? = null companion object { private val responseType = GetCustomerV2Response::class.java } override fun getResponseType(): Any? = GetCustomerV2.responseType } open class GetCustomerV2Response { /** * Booster Customer ID */ @ApiMember(Description="Booster Customer ID") var boosterCustomerId:Int? = null /** * Elevate Customer ID */ @ApiMember(Description="Elevate Customer ID") var elevateCustomerId:String? = null /** * SAP ID */ @ApiMember(Description="SAP ID", IsRequired=true) var sapId:String? = null /** * 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) var title:String? = null /** * First Name */ @ApiMember(Description="First Name", IsRequired=true) var firstName:String? = null /** * Last Name - Mandatory only when customer type is 'Personal' */ @ApiMember(Description="Last Name - Mandatory only when customer type is 'Personal'", IsRequired=true) var lastName:String? = null /** * First Name Not Latin, e.g. Arabic */ @ApiMember(Description="First Name Not Latin, e.g. Arabic", IsRequired=true) var firstNameNotLatin:String? = null /** * 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) var lastNameNotLatin:String? = null /** * Middle Name */ @ApiMember(Description="Middle Name") var middleName:String? = null /** * Name Suffix */ @ApiMember(Description="Name Suffix") var nameSuffix:String? = null /** * Can be Contacted by Maison e.g. true or false */ @ApiMember(Description="Can be Contacted by Maison e.g. true or false", IsRequired=true) var canBeContactedByMaison:Boolean? = null /** * clientType e.g. Private, Company */ @ApiMember(Description="clientType e.g. Private, Company", IsRequired=true) var clientType:String? = null /** * Company Name - Mandatory only when customer type is 'Company' */ @ApiMember(Description="Company Name - Mandatory only when customer type is 'Company'") var companyName:String? = null /** * 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'") var languageId:String? = null /** * 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'") var gender:String? = null /** * Country Id e.g. it, ch, az, gb, de */ @ApiMember(Description="Country Id e.g. it, ch, az, gb, de", IsRequired=true) var countryId:String? = null /** * Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany */ @ApiMember(Description="Country Description e.g. Italy, Switzerland, Azerbaijan, Great Britain, Germany", IsRequired=true) var countryDs:String? = null /** * Birth Date e.g. '2020-12-30' */ @ApiMember(Description="Birth Date e.g. '2020-12-30'") var birthDate:String? = null /** * Customer reference */ @ApiMember(Description="Customer reference") var customerReference:String? = null /** * POS Code e.g. ES100:102048 */ @ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true) var posCode:String? = null /** * Brand e.g. CAR, MTB */ @ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true) var brand:String? = null /** * Wedding Date, e.g. '2020-01-18' */ @ApiMember(Description="Wedding Date, e.g. '2020-01-18'") var weddingDate:String? = null /** * Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey' */ @ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'") var preferredContactMethod:String? = null /** * 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.") var contactByEmailFlag:Boolean? = null /** * 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.") var contactByMailFlag:Boolean? = null /** * 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.") var contactByPhoneFlag:Boolean? = null /** * 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.") var contactBySMSFlag:Boolean? = null /** * 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.") var contactBySocialMediaFlag:Boolean? = null /** * Sale Representative Email e.g. rauf.aliyev@richemont.com */ @ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com") var saleRepresentativeEmail:String? = null /** * Consent for allowing Cross Border Data Transfer */ @ApiMember(Description="Consent for allowing Cross Border Data Transfer") var allowStoreDataAbroad:Boolean? = null /** * 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.") var dataSharingConsent:Boolean? = null /** * Data Sharing Consent Timestamp */ @ApiMember(Description="Data Sharing Consent Timestamp") var dataSharingConsentTimestamp:String? = null /** * Client Registration Date */ @ApiMember(Description="Client Registration Date") var clientRegistrationDate:String? = null /** * Client Creation Date */ @ApiMember(Description="Client Creation Date") var createdOn:String? = null /** * Notes */ @ApiMember(Description="Notes") var notes:String? = null /** * Customer emails */ @ApiMember(Description="Customer emails") var emails:ArrayList = ArrayList() /** * Customer phones */ @ApiMember(Description="Customer phones") var phones:ArrayList = ArrayList() /** * Customer addresses */ @ApiMember(Description="Customer addresses") var addresses:ArrayList
= ArrayList
() /** * Customer events */ @ApiMember(Description="Customer events") var events:ArrayList = ArrayList() /** * Customer interests */ @ApiMember(Description="Customer interests") var interests:ArrayList = ArrayList() /** * Customer hobbies */ @ApiMember(Description="Customer hobbies") var hobbies:ArrayList = ArrayList() /** * Customer Product Collections */ @ApiMember(Description="Customer Product Collections") var productCollections:ArrayList = ArrayList() /** * Registration date */ @ApiMember(Description="Registration date") var registrationDate:Date? = null /** * Sap Crm Error Message */ @ApiMember(Description="Sap Crm Error Message") var sapCrmErrorMessage:String? = null } open class Email { /** * Email */ @ApiMember(Description="Email", IsRequired=true) var email:String? = null /** * Main email */ @ApiMember(Description="Main email", IsRequired=true) var isMainEmail:Boolean? = null } open class Phone { /** * Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456 */ @ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true) var phone:String? = null /** * Prefix Country Id e.g. it, fr, az */ @ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true) var countryPrefix:String? = null /** * Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address' */ @ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'") var phoneType:String? = null /** * Main Phone */ @ApiMember(Description="Main Phone", IsRequired=true) var isMainPhone:Boolean? = null } open class Address { /** * Address type e.g. Home, Office, Shipping */ @ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true) var addressType:String? = null /** * Country Id e.g. it, cn, az, gb, de */ @ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true) var countryId:String? = null /** * House Number */ @ApiMember(Description="House Number") var houseNumber:String? = null /** * Region/State */ @ApiMember(Description="Region/State") var stateId:String? = null /** * City Name */ @ApiMember(Description="City Name") var city:String? = null /** * Postal Code */ @ApiMember(Description="Postal Code") var zipCode:String? = null /** * Street Name and Number */ @ApiMember(Description="Street Name and Number") var street:String? = null /** * Street 2 */ @ApiMember(Description="Street 2") var street2:String? = null /** * Street 3 */ @ApiMember(Description="Street 3") var street3:String? = null /** * Street 4 */ @ApiMember(Description="Street 4") var street4:String? = null /** * Street 5 */ @ApiMember(Description="Street 5") var street5:String? = null /** * Main Address */ @ApiMember(Description="Main Address", IsRequired=true) var isMainAddress:Boolean? = null /** * Post Office Box */ @ApiMember(Description="Post Office Box") var poBox:String? = null /** * Additional Information */ @ApiMember(Description="Additional Information") var additionalInformation:String? = null } open class Interest { /** * Interest description */ @ApiMember(Description="Interest description", IsRequired=true) var interest:String? = null /** * SAP Interest ID, e.g. 'CA-1' */ @ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true) var sapInterestId:String? = null /** * Interest description translation */ @ApiMember(Description="Interest description translation") var translation:String? = null } open class Hobby { /** * Hobby description */ @ApiMember(Description="Hobby description", IsRequired=true) var hobby:String? = null /** * SAP Hobby ID, e.g. 'ART' */ @ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true) var sapHobbyId:String? = null /** * Hobby description translation */ @ApiMember(Description="Hobby description translation") var translation:String? = null } open class ProductCollection { /** * Product Collection description */ @ApiMember(Description="Product Collection description", IsRequired=true) var productCollection:String? = null /** * SAP ProductCollection ID, e.g. 'CA-1' */ @ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true) var sapProductCollectionId:String? = null /** * Product Collection description translation */ @ApiMember(Description="Product Collection description translation", IsRequired=true) var translation:String? = null } open class CustomerEventV2 { /** * Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other' */ @ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true) var eventType:String? = null /** * Event date e.g. '2021-01-20' */ @ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true) var eventDate:String? = null /** * Event notes */ @ApiMember(Description="Event notes") var eventNotes:String? = null /** * Event other name */ @ApiMember(Description="Event other name") var eventOtherName:String? = null } open class Address { /** * Country ID */ @ApiMember(Description="Country ID") var countryId:String? = null /** * State ID */ @ApiMember(Description="State ID") var stateId:String? = null /** * City Name */ @ApiMember(Description="City Name") var city:String? = null /** * Street Name and Number */ @ApiMember(Description="Street Name and Number") var street:String? = null /** * Postal Code */ @ApiMember(Description="Postal Code") var zipCode:String? = null }