/* Options: Date: 2025-07-07 13:33:16 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: CreateCustomer.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using Richemont.Booster2.PublicApi.CRM.ServiceModel; using Richemont.Booster2.PublicApi.Purchase.ServiceModel; namespace Richemont.Booster2.PublicApi.CRM.ServiceModel { public partial class Address { /// ///Address type e.g. Home, Office, Shipping /// [ApiMember(Description="Address type e.g. Home, Office, Shipping", IsRequired=true)] public virtual string addressType { get; set; } /// ///Country Id e.g. it, cn, az, gb, de /// [ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)] public virtual string countryId { get; set; } /// ///House Number /// [ApiMember(Description="House Number")] public virtual string houseNumber { get; set; } /// ///Region/State /// [ApiMember(Description="Region/State")] public virtual string stateId { get; set; } /// ///City Name /// [ApiMember(Description="City Name")] public virtual string city { get; set; } /// ///Postal Code /// [ApiMember(Description="Postal Code")] public virtual string zipCode { get; set; } /// ///Street Name and Number /// [ApiMember(Description="Street Name and Number")] public virtual string street { get; set; } /// ///Street 2 /// [ApiMember(Description="Street 2")] public virtual string street2 { get; set; } /// ///Street 3 /// [ApiMember(Description="Street 3")] public virtual string street3 { get; set; } /// ///Street 4 /// [ApiMember(Description="Street 4")] public virtual string street4 { get; set; } /// ///Street 5 /// [ApiMember(Description="Street 5")] public virtual string street5 { get; set; } /// ///Main Address /// [ApiMember(Description="Main Address", IsRequired=true)] public virtual bool isMainAddress { get; set; } /// ///Post Office Box /// [ApiMember(Description="Post Office Box")] public virtual string poBox { get; set; } /// ///Additional Information /// [ApiMember(Description="Additional Information")] public virtual string additionalInformation { get; set; } } [Route("/customer", "POST")] public partial class CreateCustomer : Customer, IReturn { /// ///Privacy policy acceptance for data storage /// [ApiMember(Description="Privacy policy acceptance for data storage", IsRequired=true)] public virtual bool privacyPolicyAcceptanceStorage { get; set; } /// ///Privacy policy acceptance of data storage for TimeVallée /// [ApiMember(Description="Privacy policy acceptance of data storage for TimeVallée")] public virtual bool? tvPrivacyPolicyAcceptanceStorage { get; set; } } public partial class CreateCustomerResponse { /// ///Booster Customer ID /// [ApiMember(Description="Booster Customer ID", IsRequired=true)] public virtual int boosterCustomerId { get; set; } } public partial class Customer { public Customer() { emails = new List{}; phones = new List{}; addresses = new List
{}; events = new List{}; interests = new List{}; hobbies = new List{}; productCollections = new List{}; } /// ///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'")] public virtual string title { get; set; } /// ///First Name /// [ApiMember(Description="First Name")] public virtual string firstName { get; set; } /// ///Last Name - Mandatory only when customer type is 'PRIVATE' /// [ApiMember(Description="Last Name - Mandatory only when customer type is 'PRIVATE'")] public virtual string lastName { get; set; } /// ///First Name Not Latin /// [ApiMember(Description="First Name Not Latin")] public virtual string firstNameNotLatin { get; set; } /// ///Last Name Not Latin /// [ApiMember(Description="Last Name Not Latin")] public virtual string lastNameNotLatin { get; set; } /// ///Middle Name /// [ApiMember(Description="Middle Name")] public virtual string middleName { get; set; } /// ///Name Suffix /// [ApiMember(Description="Name Suffix")] public virtual string nameSuffix { get; set; } /// ///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 virtual bool canBeContactedByMaison { get; set; } /// ///Customer Type e.g. 'PRIVATE' or 'COMPANY' /// [ApiMember(Description="Customer Type e.g. 'PRIVATE' or 'COMPANY'", IsRequired=true)] public virtual string clientType { get; set; } /// ///Company Name - Mandatory only when customer type is 'COMPANY' /// [ApiMember(Description="Company Name - Mandatory only when customer type is 'COMPANY'")] public virtual string companyName { get; set; } /// ///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'")] public virtual string languageId { get; set; } /// ///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'")] public virtual string gender { get; set; } /// ///Country Id e.g. it, cn, az, gb, de /// [ApiMember(Description="Country Id e.g. it, cn, az, gb, de", IsRequired=true)] public virtual string countryId { get; set; } /// ///Birth Date e.g. '2020-12-30' /// [ApiMember(Description="Birth Date e.g. '2020-12-30'")] public virtual DateTime? birthDate { get; set; } /// ///Customer reference /// [ApiMember(Description="Customer reference")] public virtual string customerReference { get; set; } /// ///POS Code e.g. ES100:102048 /// [ApiMember(Description="POS Code e.g. ES100:102048", IsRequired=true)] public virtual string posCode { get; set; } /// ///Brand e.g. CAR, MTB /// [ApiMember(Description="Brand e.g. CAR, MTB", IsRequired=true)] public virtual string brand { get; set; } /// ///Wedding Date, e.g. '2020-01-18' /// [ApiMember(Description="Wedding Date, e.g. '2020-01-18'")] public virtual DateTime? weddingDate { get; set; } /// ///Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey' /// [ApiMember(Description="Preferred Contact Method e.g. 'Fax', 'Tel', 'EMail', 'Mail', 'Survey'")] public virtual string preferredContactMethod { get; set; } /// ///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 virtual bool contactByEmailFlag { get; set; } /// ///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 virtual bool contactByMailFlag { get; set; } /// ///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 virtual bool contactByPhoneFlag { get; set; } /// ///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 virtual bool contactBySMSFlag { get; set; } /// ///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 virtual bool contactBySocialMediaFlag { get; set; } /// ///Sale Representative Email e.g. rauf.aliyev@richemont.com /// [ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com")] public virtual string saleRepresentativeEmail { get; set; } /// ///Consent for allowing Cross Border Data Transfer /// [ApiMember(Description="Consent for allowing Cross Border Data Transfer")] public virtual bool? allowStoreDataAbroad { get; set; } /// ///Consent for allowing Cross Border Data Transfer For TimeVallée /// [ApiMember(Description="Consent for allowing Cross Border Data Transfer For TimeVallée")] public virtual bool? tvAllowStoreDataAbroad { get; set; } /// ///Customer emails /// [ApiMember(Description="Customer emails")] public virtual List emails { get; set; } /// ///Customer phones /// [ApiMember(Description="Customer phones")] public virtual List phones { get; set; } /// ///Customer addresses /// [ApiMember(Description="Customer addresses")] public virtual List
addresses { get; set; } /// ///Customer events /// [ApiMember(Description="Customer events")] public virtual List events { get; set; } /// ///Customer interests /// [ApiMember(Description="Customer interests")] public virtual List interests { get; set; } /// ///Customer hobbies /// [ApiMember(Description="Customer hobbies")] public virtual List hobbies { get; set; } /// ///Customer product collections /// [ApiMember(Description="Customer product collections")] public virtual List productCollections { get; set; } /// ///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 virtual bool? dataSharingConsent { get; set; } /// ///Notes /// [ApiMember(Description="Notes")] public virtual string notes { get; set; } /// ///Reference Sale Representative Email /// [ApiMember(Description="Reference Sale Representative Email")] public virtual string referenceSaleRepresentativeEmail { get; set; } /// ///Registration Date /// [ApiMember(Description="Registration Date")] public virtual DateTime? registrationDate { get; set; } } public partial class Email { /// ///Email /// [ApiMember(Description="Email", IsRequired=true)] public virtual string email { get; set; } /// ///Main email /// [ApiMember(Description="Main email", IsRequired=true)] public virtual bool isMainEmail { get; set; } } public partial class Event { /// ///Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other' /// [ApiMember(Description="Event type e.g. 'Birthday', 'Wedding', 'Anniversary', 'Barmitza', 'Other'", IsRequired=true)] public virtual string eventType { get; set; } /// ///Event date e.g. '2021-01-20' /// [ApiMember(Description="Event date e.g. '2021-01-20'", IsRequired=true)] public virtual DateTime eventDate { get; set; } /// ///Event notes /// [ApiMember(Description="Event notes")] public virtual string eventNotes { get; set; } /// ///Event other name /// [ApiMember(Description="Event other name")] public virtual string eventOtherName { get; set; } } public partial class Hobby { /// ///Hobby description /// [ApiMember(Description="Hobby description", IsRequired=true)] public virtual string hobby { get; set; } /// ///SAP Hobby ID, e.g. 'ART' /// [ApiMember(Description="SAP Hobby ID, e.g. 'ART'", IsRequired=true)] public virtual string sapHobbyId { get; set; } /// ///Hobby description translation /// [ApiMember(Description="Hobby description translation")] public virtual string translation { get; set; } } public partial class Interest { /// ///Interest description /// [ApiMember(Description="Interest description", IsRequired=true)] public virtual string interest { get; set; } /// ///SAP Interest ID, e.g. 'CA-1' /// [ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true)] public virtual string sapInterestId { get; set; } /// ///Interest description translation /// [ApiMember(Description="Interest description translation")] public virtual string translation { get; set; } } public partial class Phone { /// ///Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456 /// [ApiMember(Description="Phone e.g. cn: 13888889999, jp: 352858088, kr: 023123456", IsRequired=true)] public virtual string phone { get; set; } /// ///Prefix Country Id e.g. it, fr, az /// [ApiMember(Description="Prefix Country Id e.g. it, fr, az", IsRequired=true)] public virtual string countryPrefix { get; set; } /// ///Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address' /// [ApiMember(Description="Phone type e.g. 'Home', 'Mobile', 'Work', 'Other', 'Secondary Address'")] public virtual string phoneType { get; set; } /// ///Main Phone /// [ApiMember(Description="Main Phone", IsRequired=true)] public virtual bool isMainPhone { get; set; } } public partial class ProductCollection { /// ///Product Collection description /// [ApiMember(Description="Product Collection description", IsRequired=true)] public virtual string productCollection { get; set; } /// ///SAP ProductCollection ID, e.g. 'CA-1' /// [ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true)] public virtual string sapProductCollectionId { get; set; } /// ///Product Collection description translation /// [ApiMember(Description="Product Collection description translation", IsRequired=true)] public virtual string translation { get; set; } } } namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel { public partial class Address { /// ///Country ID /// [ApiMember(Description="Country ID")] public virtual string countryId { get; set; } /// ///State ID /// [ApiMember(Description="State ID")] public virtual string stateId { get; set; } /// ///City Name /// [ApiMember(Description="City Name")] public virtual string city { get; set; } /// ///Street Name and Number /// [ApiMember(Description="Street Name and Number")] public virtual string street { get; set; } /// ///Postal Code /// [ApiMember(Description="Postal Code")] public virtual string zipCode { get; set; } } }