/* Options: Date: 2026-05-19 10:47:30 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: GetStockDetail.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/stock/{brand}/{posCode}/{articleCode}", Verbs="GET") open class GetStockDetail : IReturn { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) var brand:String? = null /** * POS Legacy */ @ApiMember(Description="POS Legacy", IsRequired=true) var posCode:String? = null /** * Article Code */ @ApiMember(Description="Article Code", IsRequired=true) var articleCode:String? = null companion object { private val responseType = GetStockDetailResponse::class.java } override fun getResponseType(): Any? = GetStockDetail.responseType } open class GetStockDetailResponse { /** * Article code */ @ApiMember(Description="Article code", IsRequired=true) var articleCode:String? = null /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) var brand:String? = null /** * Pos Code */ @ApiMember(Description="Pos Code", IsRequired=true) var posCode:String? = null /** * Current Stock Quantity */ @ApiMember(Description="Current Stock Quantity", IsRequired=true) var currentStockQuantity:Int? = null /** * Shared Stock Location */ @ApiMember(Description="Shared Stock Location", IsRequired=true) var sharedStockLocation:Pos? = null /** * Stock Positions */ @ApiMember(Description="Stock Positions", IsRequired=true) var stockPositions:ArrayList = ArrayList() } open class Pos { /** * POS Code */ @ApiMember(Description="POS Code", IsRequired=true) var posCode:String? = null /** * Name of the POS */ @ApiMember(Description="Name of the POS", IsRequired=true) var name:String? = null /** * City of the POS */ @ApiMember(Description="City of the POS", IsRequired=true) var city:String? = null /** * Address of the POS */ @ApiMember(Description="Address of the POS", IsRequired=true) var address:String? = null /** * Country of the POS */ @ApiMember(Description="Country of the POS", IsRequired=true) var country:String? = null /** * Brand of the POS */ @ApiMember(Description="Brand of the POS", IsRequired=true) var brand:String? = null } open class Pos { /** * Name of the POS */ @ApiMember(Description="Name of the POS", IsRequired=true) var name:String? = null /** * POS Code */ @ApiMember(Description="POS Code", IsRequired=true) var posCode:String? = null /** * Pos Code To Be Displayed */ @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true) var posCodeToBeDisplayed:String? = null /** * Country of the POS */ @ApiMember(Description="Country of the POS", IsRequired=true) var country:String? = null /** * City of the POS */ @ApiMember(Description="City of the POS", IsRequired=true) var city:String? = null /** * Postal Code */ @ApiMember(Description="Postal Code", IsRequired=true) var postalCode:String? = null /** * State */ @ApiMember(Description="State", IsRequired=true) var state:String? = null /** * Street */ @ApiMember(Description="Street", IsRequired=true) var street:String? = null } open class StockPositionItem { /** * Quantity */ @ApiMember(Description="Quantity", IsRequired=true) var quantity:Int? = null /** * Serial Number */ @ApiMember(Description="Serial Number") var serialNumber:String? = null /** * Stock Date */ @ApiMember(Description="Stock Date", IsRequired=true) var stockDate:String? = null /** * Loaded On Date */ @ApiMember(Description="Loaded On Date", IsRequired=true) var loadedOnDate:String? = null /** * Type e.g. consignment or standard */ @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true) @SerializedName("type") var Type:String? = null /** * Is Consignment Sellable */ @ApiMember(Description="Is Consignment Sellable ", IsRequired=true) var isConsignmentSellable:Boolean? = null /** * Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase. */ @ApiMember(Description="Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase.") var unitNetAmount:UnitNetAmount? = null /** * Retail Sales Price */ @ApiMember(Description="Retail Sales Price") var retailSalesPrice:UnitNetAmount? = null } open class UnitNetAmount { /** * Currency Iso Code */ @ApiMember(Description="Currency Iso Code", IsRequired=true) var currencyIsoCode:String? = null /** * Value */ @ApiMember(Description="Value", IsRequired=true) var value:BigDecimal? = null }