/* Options: Date: 2026-05-19 09:52:52 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: ExportStock.* //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}/export", Verbs="POST") open class ExportStock : StockRequest(), IReturn { /** * Product Categories */ @ApiMember(Description="Product Categories") var productCategories:ArrayList = ArrayList() /** * Export Request ID of the API Consumers */ @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) var downloadRequestId:String? = null companion object { private val responseType = ExportStockResponse::class.java } override fun getResponseType(): Any? = ExportStock.responseType } open class ExportStockResponse { /** * Unique Identifier of the Export Request created */ @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) var asyncTaskId:UUID? = null } open class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") var brandCategoryId:String? = null /** * Grand Category ID */ @ApiMember(Description="Grand Category ID", IsRequired=true) var grandCategoryId:String? = null /** * Master Category ID */ @ApiMember(Description="Master Category ID") var masterCategoryId:String? = null /** * Category ID */ @ApiMember(Description="Category ID") var categoryId:String? = null /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") var subCategoryId:String? = null } open class StockRequest { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) var brand:String? = null /** * POS Legacy */ @ApiMember(Description="POS Legacy") var posCodes:ArrayList = ArrayList() /** * Article Codes */ @ApiMember(Description="Article Codes") var articleCodes:ArrayList = ArrayList() /** * Include Extra Info */ @ApiMember(Description="Include Extra Info") var includeExtraInfo:Boolean? = null /** * Cluster Id */ @ApiMember(Description="Cluster Id") var clusterIds:ArrayList = ArrayList() /** * Include Consignment NotAuthorized POS */ @ApiMember(Description="Include Consignment NotAuthorized POS") 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") var includeRSP:Boolean? = null /** * In Stock Since date from */ @ApiMember(Description="In Stock Since date from ") var dateFrom:Date? = null /** * In Stock Since date to */ @ApiMember(Description="In Stock Since date to") 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") var Type:String? = null } open class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") var brandCategoryId:String? = null /** * Grand Category ID */ @ApiMember(Description="Grand Category ID") var grandCategoryId:String? = null /** * Master Category ID */ @ApiMember(Description="Master Category ID") var masterCategoryId:String? = null /** * Category ID */ @ApiMember(Description="Category ID") var categoryId:String? = null /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") var subCategoryId:String? = null }