/* Options: Date: 2026-05-19 10:46:57 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: CreateSellOut.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/warranty", Verbs="POST") open class CreateSellOut : IReturn { /** * 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") var brand:String? = null /** * Richemont POS code */ @ApiMember(Description="Richemont POS code", IsRequired=true) var posCode:String? = null /** * Receipt or Invoice Number */ @ApiMember(Description="Receipt or Invoice Number") var documentNumber:String? = null /** * Date of the Sell-out */ @ApiMember(Description="Date of the Sell-out", IsRequired=true) var documentDate:Date? = null /** * Position Number */ @ApiMember(Description="Position Number") var documentLineNumber:Int? = null /** * Richemont Reference Code of the item */ @ApiMember(Description="Richemont Reference Code of the item", IsRequired=true) var articleCode:String? = null /** * Serial Number of the item */ @ApiMember(Description="Serial Number of the item") var serialNumber:String? = null /** * 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) var quantity:Int? = null /** * Sold Price */ @ApiMember(Description="Sold Price") var unitPrice:BigDecimal? = null /** * Currency of the sold price */ @ApiMember(Description="Currency of the sold price") var currencyCode:String? = null /** * Booster Customer Id */ @ApiMember(Description="Booster Customer Id") var boosterCustomerId:Int? = null /** * Sale Representative Email e.g. rauf.aliyev@richemont.com */ @ApiMember(Description="Sale Representative Email e.g. rauf.aliyev@richemont.com") var saleRepresentativeEmails:ArrayList = ArrayList() /** * Promoter Type ID, e.g. DAI, FIT, GRT */ @ApiMember(Description="Promoter Type ID, e.g. DAI, FIT, GRT") var promoterTypeId:String? = null /** * Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH */ @ApiMember(Description="Return Reason ID, e.g ADM, CLR, EXC, DEF, OTH") var returnReasonId:String? = null /** * Sale related comments */ @ApiMember(Description="Sale related comments") var comments:String? = null /** * Original Sale Detail Id */ @ApiMember(Description="Original Sale Detail Id") var originalSaleDetailId:Int? = null /** * 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") var consSelloutReturnInStock:Boolean? = null companion object { private val responseType = CreateSellOutResponse::class.java } override fun getResponseType(): Any? = CreateSellOut.responseType } open class CreateSellOutResponse { /** * Unique Identifier of the Sell-out item created in Booster */ @ApiMember(Description="Unique Identifier of the Sell-out item created in Booster") var saleDetailId:Int? = null /** * 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") var saleDetailIds:ArrayList = ArrayList() /** * Unique Identifier of the Sell-out header created in Booster */ @ApiMember(Description="Unique Identifier of the Sell-out header created in Booster", IsRequired=true) var saleId:Int? = null }