/* Options: Date: 2025-07-07 16:11:34 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: UpdateCustomer.* //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/{boosterCustomerId}", Verbs="PUT") open class UpdateCustomer : Customer() { /** * Booster customer Id */ @ApiMember(Description="Booster customer Id") var boosterCustomerId:Int? = 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 Event { /** * 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:Date? = 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 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 Customer { /** * Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE' */ @ApiMember(Description="Title e.g. 'Mr & Mrs', 'Mr.', 'Mrs.', 'Sama', 'Captain' - Mandatory only when customer type is 'PRIVATE'") var title:String? = null /** * First Name */ @ApiMember(Description="First Name") var firstName:String? = null /** * Last Name - Mandatory only when customer type is 'PRIVATE' */ @ApiMember(Description="Last Name - Mandatory only when customer type is 'PRIVATE'") var lastName:String? = null /** * First Name Not Latin */ @ApiMember(Description="First Name Not Latin") var firstNameNotLatin:String? = null /** * Last Name Not Latin */ @ApiMember(Description="Last Name Not Latin") 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 /** * Customer Type e.g. 'PRIVATE' or 'COMPANY' */ @ApiMember(Description="Customer Type e.g. 'PRIVATE' or '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 'PRIVATE' */ @ApiMember(Description="Language Id e.g. ita, chi, aze, eng, ger - Mandatory only when customer type is 'PRIVATE'") var languageId:String? = null /** * Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE' */ @ApiMember(Description="Gender e.g. M, F - Mandatory only when customer type is 'PRIVATE'") var gender: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 /** * Birth Date e.g. '2020-12-30' */ @ApiMember(Description="Birth Date e.g. '2020-12-30'") var birthDate:Date? = 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:Date? = 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 /** * Consent for allowing Cross Border Data Transfer For TimeVallée */ @ApiMember(Description="Consent for allowing Cross Border Data Transfer For TimeVallée") var tvAllowStoreDataAbroad:Boolean? = 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() /** * 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 /** * Notes */ @ApiMember(Description="Notes") var notes:String? = null /** * Reference Sale Representative Email */ @ApiMember(Description="Reference Sale Representative Email") var referenceSaleRepresentativeEmail:String? = null /** * Registration Date */ @ApiMember(Description="Registration Date") var registrationDate:Date? = 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 }