/* Options: Date: 2026-08-27 07:11:32 Version: 10.08 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: GetStock.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/stock/{brand}", Verbs="GET") open class GetStock : StockRequest(), IReturn { companion object { private val responseType = GetStockResponse::class.java } override fun getResponseType(): Any? = GetStock.responseType } open class GetStockResponse : ArrayList() { } open class StockRequest { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) open var brand:String? = null /** * POS Legacy */ @ApiMember(Description="POS Legacy") open var posCodes:ArrayList? = null /** * Article Codes */ @ApiMember(Description="Article Codes") open var articleCodes:ArrayList? = null /** * Include Extra Info */ @ApiMember(Description="Include Extra Info") open var includeExtraInfo:Boolean? = null /** * Cluster Id */ @ApiMember(Description="Cluster Id") open var clusterIds:ArrayList? = null /** * Include Consignment NotAuthorized POS */ @ApiMember(Description="Include Consignment NotAuthorized POS") open var includeConsignmentNotAuthorizedPOS:Boolean? = null /** * Include Retail Sales Price in the Output, by default: false */ @ApiMember(Description="Include Retail Sales Price in the Output, by default: false") open var includeRSP:Boolean? = null /** * In Stock Since date from */ @ApiMember(Description="In Stock Since date from ") open var dateFrom:Date? = null /** * In Stock Since date to */ @ApiMember(Description="In Stock Since date to") open var dateTo:Date? = null /** * Item type, 'standard' OR 'consigned'. By default, all are coming */ @ApiMember(Description="Item type, 'standard' OR 'consigned'. By default, all are coming") @SerializedName("type") open var Type:String? = null /** * Storage Location Identifier e.g. CPO, NEW, REP */ @ApiMember(Description="Storage Location Identifier e.g. CPO, NEW, REP") open var storageLocationId:String? = null /** * Inventory segment e.g. CPO or null */ @ApiMember(Description="Inventory segment e.g. CPO or null") open var inventorySegment:String? = null } open class Pos { /** * POS Code */ @ApiMember(Description="POS Code", IsRequired=true) open var posCode:String? = null /** * Name of the POS */ @ApiMember(Description="Name of the POS", IsRequired=true) open var name:String? = null /** * City of the POS */ @ApiMember(Description="City of the POS", IsRequired=true) open var city:String? = null /** * Address of the POS */ @ApiMember(Description="Address of the POS", IsRequired=true) open var address:String? = null /** * Country of the POS */ @ApiMember(Description="Country of the POS", IsRequired=true) open var country:String? = null /** * Brand of the POS */ @ApiMember(Description="Brand of the POS", IsRequired=true) open var brand:String? = null } open class PosStockItem { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) open var brand:String? = null /** * Pos Code */ @ApiMember(Description="Pos Code", IsRequired=true) open var posCode:String? = null /** * Shared Stock Location */ @ApiMember(Description="Shared Stock Location", IsRequired=true) open var sharedStockLocation:Pos? = null /** * Stock Items */ @ApiMember(Description="Stock Items") open var stockItems:ArrayList? = null } open class Pos { /** * Name of the POS */ @ApiMember(Description="Name of the POS", IsRequired=true) open var name:String? = null /** * POS Code */ @ApiMember(Description="POS Code", IsRequired=true) open var posCode:String? = null /** * Pos Code To Be Displayed */ @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true) open var posCodeToBeDisplayed:String? = null /** * Country of the POS */ @ApiMember(Description="Country of the POS", IsRequired=true) open var country:String? = null /** * City of the POS */ @ApiMember(Description="City of the POS", IsRequired=true) open var city:String? = null /** * Postal Code */ @ApiMember(Description="Postal Code", IsRequired=true) open var postalCode:String? = null /** * State */ @ApiMember(Description="State", IsRequired=true) open var state:String? = null /** * Street */ @ApiMember(Description="Street", IsRequired=true) open var street:String? = null } open class StockPositionItem { /** * Quantity */ @ApiMember(Description="Quantity", IsRequired=true) open var quantity:Int? = null /** * Serial Number */ @ApiMember(Description="Serial Number") open var serialNumber:String? = null /** * Stock Date */ @ApiMember(Description="Stock Date", IsRequired=true) open var stockDate:String? = null /** * Loaded On Date */ @ApiMember(Description="Loaded On Date", IsRequired=true) open var loadedOnDate:String? = null /** * Type e.g. consignment or standard */ @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true) @SerializedName("type") open var Type:String? = null /** * Is Consignment Sellable */ @ApiMember(Description="Is Consignment Sellable ", IsRequired=true) open 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.") open var unitNetAmount:UnitNetAmount? = null /** * Retail Sales Price */ @ApiMember(Description="Retail Sales Price") open var retailSalesPrice:UnitNetAmount? = null /** * Storage Location */ @ApiMember(Description="Storage Location") open var storageLocation:StorageLocation? = null } open class StockItem { /** * Article Code */ @ApiMember(Description="Article Code", IsRequired=true) open var articleCode:String? = null /** * Current Stock Quantity */ @ApiMember(Description="Current Stock Quantity", IsRequired=true) open var currentStockQuantity:Int? = null /** * Serial Numbers */ @ApiMember(Description="Serial Numbers") open var serialNumbers:ArrayList? = null /** * Stock Item in Details */ @ApiMember(Description="Stock Item in Details", IsRequired=true) open var stockPositions:ArrayList = ArrayList() } open class UnitNetAmount { /** * Currency Iso Code */ @ApiMember(Description="Currency Iso Code", IsRequired=true) open var currencyIsoCode:String? = null /** * Value */ @ApiMember(Description="Value", IsRequired=true) open var value:BigDecimal? = null } open class StorageLocation { /** * Storage Location Identifier */ @ApiMember(Description="Storage Location Identifier", IsRequired=true) open var storageLocationId:String? = null /** * Storage Location Description */ @ApiMember(Description="Storage Location Description") open var storageLocationDs:String? = null }