/* Options:
Date: 2026-08-27 07:06:58
Version: 10.08
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: True
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion:
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: SimulateOrderV2.*
//ExcludeTypes:
//AddNamespaces:
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/
using System;
using System.IO;
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
{
///
///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
{
///
///List of splitted order simulation results
///
[ApiMember(Description="List of splitted order simulation results", IsRequired=true)]
public virtual Dictionary results { get; set; } = new();
///
///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
{
///
///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
{
///
///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; }
}
}