/* Options: Date: 2026-05-19 09:52:37 SwiftVersion: 5.0 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: CreateSellOut.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/warranty", "POST") public class CreateSellOut : IReturn, Codable { public typealias Return = CreateSellOutResponse /** * Brand Trigram, e.g. CAR, IWC; compulsory only if articleCode is not provided */ // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC; compulsory only if articleCode is not provided") public var brand:String /** * Richemont POS code */ // @ApiMember(Description="Richemont POS code", IsRequired=true) public var posCode:String /** * Receipt or Invoice Number */ // @ApiMember(Description="Receipt or Invoice Number") public var documentNumber:String /** * Date of the Sell-out */ // @ApiMember(Description="Date of the Sell-out", IsRequired=true) public var documentDate:Date /** * Position Number */ // @ApiMember(Description="Position Number") public var documentLineNumber:Int? /** * Richemont Reference Code of the item */ // @ApiMember(Description="Richemont Reference Code of the item", IsRequired=true) public var articleCode:String /** * Serial Number of the item */ // @ApiMember(Description="Serial Number of the item") public var serialNumber:String /** * Use positive for standard Sell-out and negative quantity for return */ // @ApiMember(Description="Use positive for standard Sell-out and negative quantity for return", IsRequired=true) public var quantity:Int /** * Sold Price */ // @ApiMember(Description="Sold Price") public var unitPrice:Double? /** * Currency of the sold price */ // @ApiMember(Description="Currency of the sold price") public var currencyCode:String /** * Booster Customer Id */ // @ApiMember(Description="Booster Customer Id") public var boosterCustomerId:Int? /** * Sale Representative Email e.g. rauf.aliyev@richemont.com */ // @ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com") public var saleRepresentativeEmails:[String] = [] /** * Promoter Type ID, e.g. DAI, FIT, GRT */ // @ApiMember(Description="Promoter Type ID, e.g. DAI, FIT, GRT") public var promoterTypeId:String /** * Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH */ // @ApiMember(Description="Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH") public var returnReasonId:String /** * Sale related comments */ // @ApiMember(Description="Sale related comments") public var comments:String /** * Original Sale Detail Id */ // @ApiMember(Description="Original Sale Detail Id") public var originalSaleDetailId:Int? /** * To have the piece back in stock as consignment in case of consignment sellout return */ // @ApiMember(Description="To have the piece back in stock as consignment in case of consignment sellout return") public var consSelloutReturnInStock:Bool? required public init(){} } public class CreateSellOutResponse : Codable { /** * Unique Identifier of the Sell-out item created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out item created in Booster") public var saleDetailId:Int? /** * Unique Identifiers of the Sell-out items created in Booster if more than one */ // @ApiMember(Description="Unique Identifiers of the Sell-out items created in Booster if more than one") public var saleDetailIds:[Int] = [] /** * Unique Identifier of the Sell-out header created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out header created in Booster", IsRequired=true) public var saleId:Int required public init(){} }