/* Options: Date: 2026-05-19 09:51:22 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: SimulateOrderV2.* //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; using Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels; 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; } } } 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; } } public partial class Amount { /// ///Value /// [ApiMember(Description="Value", IsRequired=true)] public virtual decimal value { get; set; } /// ///Currency /// [ApiMember(Description="Currency", IsRequired=true)] public virtual string currency { get; set; } } public partial class AmountAndQuantity { /// ///Amount /// [ApiMember(Description="Amount", IsRequired=true)] public virtual Amount amount { get; set; } /// ///Base Quantity /// [ApiMember(Description="Base Quantity", IsRequired=true)] public virtual Quantity baseQuantity { get; set; } } public partial class ItemTotalValues { /// ///Requested Quantity /// [ApiMember(Description="Requested Quantity")] public virtual Quantity requestedQuantity { get; set; } /// ///Confirmed Quantity /// [ApiMember(Description="Confirmed Quantity")] public virtual Quantity confirmedQuantity { get; set; } /// ///Available Quantity /// [ApiMember(Description="Available Quantity")] public virtual Quantity availableQuantity { get; set; } /// ///Gross Weight /// [ApiMember(Description="Gross Weight")] public virtual Quantity grossWeightMeasure { get; set; } /// ///Net Weight /// [ApiMember(Description="Net Weight")] public virtual Quantity netWeightMeasure { get; set; } /// ///Volume /// [ApiMember(Description="Volume")] public virtual Quantity volumeMeasure { get; set; } /// ///Net Amount Line Total /// [ApiMember(Description="Net Amount Line Total")] public virtual Amount netAmount { get; set; } /// ///Net Price Line Total /// [ApiMember(Description="Net Price Line Total")] public virtual AmountAndQuantity netPrice { get; set; } /// ///Tax Amount Line Total /// [ApiMember(Description="Tax Amount Line Total")] public virtual Amount taxAmount { get; set; } /// ///Retail Sales Price Line Total /// [ApiMember(Description="Retail Sales Price Line Total")] public virtual Amount retailSalesPriceAmount { get; set; } } public partial class Party { /// ///Internal ID of the Element /// [ApiMember(Description="Internal ID of the Element", IsRequired=true)] public virtual string id { get; set; } /// ///Formatted Name of the Element /// [ApiMember(Description="Formatted Name of the Element", IsRequired=true)] public virtual string name { get; set; } /// ///Geographic Address of the Element /// [ApiMember(Description="Geographic Address of the Element")] public virtual Address address { get; set; } } public partial class Quantity { /// ///Unit /// [ApiMember(Description="Unit", IsRequired=true)] public virtual string unit { get; set; } /// ///Value /// [ApiMember(Description="Value", IsRequired=true)] public virtual decimal value { get; set; } } public partial class SimulateOrderItemRequestV2 { /// ///Line Number /// [ApiMember(Description="Line Number", IsRequired=true)] public virtual int lineNumber { get; set; } /// ///Reference ID of the article/product, e.g. 'CRWB520003' /// [ApiMember(Description="Reference ID of the article/product, e.g. 'CRWB520003'", IsRequired=true)] public virtual string articleCode { get; set; } /// ///Desired quantity of the article /// [ApiMember(Description="Desired quantity of the article", IsRequired=true)] public virtual int quantity { get; set; } /// ///Requested Delivery Date of the Item, e.g. '2020-12-30' /// [ApiMember(Description="Requested Delivery Date of the Item, e.g. '2020-12-30'")] public virtual DateTime? requestedDeliveryDate { get; set; } /// ///Purchase order type, e.g. 'WCFS', null. Null for ordinary order /// [ApiMember(Description="Purchase order type, e.g. 'WCFS', null. Null for ordinary order")] public virtual string orderType { get; set; } /// ///Final Ship To Pos Code /// [ApiMember(Description="Final Ship To Pos Code")] public virtual string finalShipToId { get; set; } /// ///Strap definition /// [ApiMember(Description="Strap definition")] public virtual StrapItem strap { get; set; } } public partial class SimulateOrderItemResponseV2 { public SimulateOrderItemResponseV2() { warnings = new List{}; } /// ///Line Number, e.g 20, 40, 21, 41 /// [ApiMember(Description="Line Number, e.g 20, 40, 21, 41", IsRequired=true)] public virtual int lineNumber { get; set; } /// ///Parent Line Number, e.g 20, 40 /// [ApiMember(Description="Parent Line Number, e.g 20, 40", IsRequired=true)] public virtual int? parentLineNumber { get; set; } /// ///Original line number in the request. Line numbers are remapped after the split /// [ApiMember(Description="Original line number in the request. Line numbers are remapped after the split", IsRequired=true)] public virtual int requestLineNumber { get; set; } /// ///Reference No of item, e.g.: CRWB521234 /// [ApiMember(Description="Reference No of item, e.g.: CRWB521234", IsRequired=true)] public virtual string articleCode { get; set; } /// ///Substituted reference No of item, e.g.: CRWB520003 /// [ApiMember(Description="Substituted reference No of item, e.g.: CRWB520003")] public virtual string substitutedArticleCode { get; set; } /// ///DeliveryPlantId of item, e.g.: CHD6 /// [ApiMember(Description="DeliveryPlantId of item, e.g.: CHD6", IsRequired=true)] public virtual string deliveryPlantId { get; set; } /// ///Expected Delivery Date, e.g. '2020-12-30' /// [ApiMember(Description="Expected Delivery Date, e.g. '2020-12-30'")] public virtual string expectedDeliveryDate { get; set; } /// ///Buckle Summary, need to be forwarded to order creation /// [ApiMember(Description="Buckle Summary, need to be forwarded to order creation")] public virtual string buckleSummary { get; set; } /// ///Material Summary, need to be forwarded to order creation /// [ApiMember(Description="Material Summary, need to be forwarded to order creation")] public virtual string materialSummary { get; set; } /// ///Content Summary, need to be forwarded to order creation /// [ApiMember(Description="Content Summary, need to be forwarded to order creation")] public virtual string contentSummary { get; set; } /// ///Strap Summary, need to be forwarded to order creation /// [ApiMember(Description="Strap Summary, need to be forwarded to order creation")] public virtual string strapSummary { get; set; } /// ///Item Total Values /// [ApiMember(Description="Item Total Values", IsRequired=true)] public virtual ItemTotalValues totalValues { get; set; } /// ///Warning list /// [ApiMember(Description="Warning list", IsRequired=true)] public virtual List warnings { get; set; } } public partial class SimulateOrderResponseV2 { public SimulateOrderResponseV2() { results = new Dictionary{}; shipTo = new List{}; finalShipTo = new List{}; billTo = new List{}; } /// ///List of splitted order simulation results /// [ApiMember(Description="List of splitted order simulation results", IsRequired=true)] public virtual Dictionary results { get; set; } /// ///Addresses which order can be shipped to (common list for all splitted orders) /// [ApiMember(Description="Addresses which order can be shipped to (common list for all splitted orders)")] public virtual List shipTo { get; set; } /// ///Addresses which order can be final shipped to (common list for all splitted orders) /// [ApiMember(Description="Addresses which order can be final shipped to (common list for all splitted orders)")] public virtual List finalShipTo { get; set; } /// ///Addresses which order can be billed to (common list for all splitted orders) /// [ApiMember(Description="Addresses which order can be billed to (common list for all splitted orders)")] public virtual List billTo { get; set; } /// ///Address which order is made to (common list for all splitted orders) /// [ApiMember(Description="Address which order is made to (common list for all splitted orders)")] public virtual Party soldTo { get; set; } /// ///Sales representatives (common list for all splitted orders) /// [ApiMember(Description="Sales representatives (common list for all splitted orders)")] public virtual Party salesRepresentative { get; set; } } [Route("/purchase/simulate/v2", "POST")] public partial class SimulateOrderV2 : IReturn { public SimulateOrderV2() { orderItems = new List{}; } /// ///Brand Trigram of the intended Order, e.g. 'IWC', 'CAR', etc. /// [ApiMember(Description="Brand Trigram of the intended Order, e.g. 'IWC', 'CAR', etc.", IsRequired=true)] public virtual string brand { get; set; } /// ///Global Pos Code for the intended Order e.g. ES100:102048 /// [ApiMember(Description="Global Pos Code for the intended Order e.g. ES100:102048", IsRequired=true)] public virtual string posCode { get; set; } /// ///Customer Reference /// [ApiMember(Description="Customer Reference")] public virtual string customerReference { get; set; } /// ///Additional Notes regarding the Order /// [ApiMember(Description="Additional Notes regarding the Order")] public virtual string notes { get; set; } /// ///Purchase order date, e.g. '2020-12-31' /// [ApiMember(Description="Purchase order date, e.g. '2020-12-31'")] public virtual DateTime? orderDate { get; set; } /// ///List of Articles to be simulated /// [ApiMember(Description="List of Articles to be simulated", IsRequired=true)] public virtual List orderItems { get; set; } /// ///Booster1 ID of the end Customer /// [ApiMember(Description="Booster1 ID of the end Customer")] public virtual string endCustomerBooster1Id { get; set; } /// ///Details of the end Customer /// [ApiMember(Description="Details of the end Customer")] public virtual EndCustomerDetails endCustomerDetails { get; set; } } public partial class SplittedSimulateOrderResponse { public SplittedSimulateOrderResponse() { orderItems = new List{}; shipTo = new List{}; finalShipTo = new List{}; billTo = new List{}; warnings = new List{}; } /// ///Order Type /// [ApiMember(Description="Order Type", IsRequired=true)] public virtual string orderType { get; set; } /// ///Product Type /// [ApiMember(Description="Product Type", IsRequired=true)] public virtual string productType { get; set; } /// ///List of Articles simulated /// [ApiMember(Description="List of Articles simulated", IsRequired=true)] public virtual List orderItems { get; set; } /// ///Total Values /// [ApiMember(Description="Total Values", IsRequired=true)] public virtual TotalValues totalValues { get; set; } /// ///Addresses which order can be shipped to /// [ApiMember(Description="Addresses which order can be shipped to", IsRequired=true)] public virtual List shipTo { get; set; } /// ///Addresses which order can be final shipped to /// [ApiMember(Description="Addresses which order can be final shipped to")] public virtual List finalShipTo { get; set; } /// ///Addresses which order can be billed to /// [ApiMember(Description="Addresses which order can be billed to", IsRequired=true)] public virtual List billTo { get; set; } /// ///Address which order is made to /// [ApiMember(Description="Address which order is made to", IsRequired=true)] public virtual Party soldTo { get; set; } /// ///Sales Representative /// [ApiMember(Description="Sales Representative")] public virtual Party salesRepresentative { get; set; } /// ///Warning list /// [ApiMember(Description="Warning list", IsRequired=true)] public virtual List warnings { get; set; } } public partial class TotalValues { /// ///Gross Weight /// [ApiMember(Description="Gross Weight", IsRequired=true)] public virtual Quantity grossWeightMeasure { get; set; } /// ///Net Weight /// [ApiMember(Description="Net Weight", IsRequired=true)] public virtual Quantity netWeightMeasure { get; set; } /// ///Gross Volume /// [ApiMember(Description="Gross Volume", IsRequired=true)] public virtual Quantity grossVolumeMeasure { get; set; } /// ///Gross Amount /// [ApiMember(Description="Gross Amount", IsRequired=true)] public virtual Amount grossAmount { get; set; } /// ///Net Amount /// [ApiMember(Description="Net Amount", IsRequired=true)] public virtual Amount netAmount { get; set; } /// ///Tax Amount /// [ApiMember(Description="Tax Amount", IsRequired=true)] public virtual Amount taxAmount { get; set; } } public partial class Warning { /// ///Id /// [ApiMember(Description="Id", IsRequired=true)] public virtual string id { get; set; } /// ///Message /// [ApiMember(Description="Message", IsRequired=true)] public virtual string message { get; set; } /// ///Severity code, possible values: 1, 2, 3, 4 /// [ApiMember(Description="Severity code, possible values: 1, 2, 3, 4", IsRequired=true)] public virtual int severityCode { get; set; } } } namespace Richemont.Booster2.PublicApi.Purchase.ServiceModel.SharedModels { public partial class EndCustomerDetails { /// ///Title of the end Customer, e.g. 'MR', 'MRS'. /// [ApiMember(Description="Title of the end Customer, e.g. 'MR', 'MRS'.")] public virtual string title { get; set; } /// ///First Name of the end Customer /// [ApiMember(Description="First Name of the end Customer", IsRequired=true)] public virtual string firstName { get; set; } /// ///Last Name of the end Customer /// [ApiMember(Description="Last Name of the end Customer", IsRequired=true)] public virtual string lastName { get; set; } /// ///Email of the end Customer /// [ApiMember(Description="Email of the end Customer")] public virtual string email { get; set; } /// ///Phone number of the end Customer, e.g. '0032477123456'. /// [ApiMember(Description="Phone number of the end Customer, e.g. '0032477123456'. ")] public virtual string phone { get; set; } /// ///Countr code in the shipping address, e.g. 'BE' (ISO Code) /// [ApiMember(Description="Countr code in the shipping address, e.g. 'BE' (ISO Code)", IsRequired=true)] public virtual string country { get; set; } /// ///City name in the shipping address /// [ApiMember(Description="City name in the shipping address", IsRequired=true)] public virtual string city { get; set; } /// ///Street name in the shipping address /// [ApiMember(Description="Street name in the shipping address", IsRequired=true)] public virtual string street { get; set; } /// ///House number in the shipping address /// [ApiMember(Description="House number in the shipping address")] public virtual string houseNumber { get; set; } /// ///Building number in the shipping address /// [ApiMember(Description="Building number in the shipping address")] public virtual string building { get; set; } /// ///Postal code in the shipping address /// [ApiMember(Description="Postal code in the shipping address")] public virtual string postalCode { get; set; } /// ///Region code in the shipping address, e.g. 'VL' (ISO Code) /// [ApiMember(Description="Region code in the shipping address, e.g. 'VL' (ISO Code)")] public virtual string region { get; set; } /// ///District name in the shipping address /// [ApiMember(Description="District name in the shipping address")] public virtual string district { get; set; } /// ///Additional Info number to the shipping address /// [ApiMember(Description="Additional Info number to the shipping address")] public virtual string additionalInfo { get; set; } } public partial class StrapItem { /// ///Article reference /// [ApiMember(Description="Article reference")] public virtual string speakingArticleCode { get; set; } /// ///Buckle type Description /// [ApiMember(Description="Buckle type Description")] public virtual string buckleTypeDescription { get; set; } /// ///Buckle type /// [ApiMember(Description="Buckle type")] public virtual string buckleTypeCode { get; set; } /// ///watch 6 Length /// [ApiMember(Description="watch 6 Length")] public virtual int? watch6Length { get; set; } /// ///watch 12 Length /// [ApiMember(Description="watch 12 Length")] public virtual int? watch12Length { get; set; } /// ///Article Material Code /// [ApiMember(Description="Article Material Code")] public virtual string materialCode { get; set; } /// ///Article Material Description /// [ApiMember(Description="Article Material Description")] public virtual string materialDescription { get; set; } /// ///Article Color Code /// [ApiMember(Description="Article Color Code")] public virtual string colorCode { get; set; } /// ///Article Color Description /// [ApiMember(Description="Article Color Description")] public virtual string colorDescription { get; set; } /// ///Buckle Witdh /// [ApiMember(Description="Buckle Witdh")] public virtual string buckleWidth { get; set; } /// ///Article Lining Code /// [ApiMember(Description="Article Lining Code")] public virtual string liningCode { get; set; } /// ///Article Lining Description /// [ApiMember(Description="Article Lining Description")] public virtual string liningDescription { get; set; } /// ///Article Stitching Code /// [ApiMember(Description="Article Stitching Code")] public virtual string stitchingCode { get; set; } /// ///Article Stitching Description /// [ApiMember(Description="Article Stitching Description")] public virtual string stitchingDescription { get; set; } /// ///Article Edge Code /// [ApiMember(Description="Article Edge Code")] public virtual string edgeCode { get; set; } /// ///Article Edge Description /// [ApiMember(Description="Article Edge Description")] public virtual string edgeDescription { get; set; } /// ///Article Padding Code /// [ApiMember(Description="Article Padding Code")] public virtual string paddingCode { get; set; } /// ///Article Padding Description /// [ApiMember(Description="Article Padding Description")] public virtual string paddingDescription { get; set; } /// ///Article Speciality Code /// [ApiMember(Description="Article Speciality Code")] public virtual string specialtyCode { get; set; } /// ///Article Speciality Description /// [ApiMember(Description="Article Speciality Description")] public virtual string specialtyDescription { get; set; } /// ///Nuancier Code /// [ApiMember(Description="Nuancier Code")] public virtual string nuancierCode { get; set; } /// ///Strap Vip Order /// [ApiMember(Description="Strap Vip Order")] public virtual bool? isStrapVipOrder { get; set; } } }