/* Options: Date: 2026-08-27 07:10:43 Version: 10.08 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetStock.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class StockRequest implements IConvertible { /** * Brand */ // @ApiMember(Description="Brand", IsRequired=true) String brand = ""; /** * POS Legacy */ // @ApiMember(Description="POS Legacy") List? posCodes; /** * Article Codes */ // @ApiMember(Description="Article Codes") List? articleCodes; /** * Include Extra Info */ // @ApiMember(Description="Include Extra Info") bool? includeExtraInfo; /** * Cluster Id */ // @ApiMember(Description="Cluster Id") List? clusterIds; /** * Include Consignment NotAuthorized POS */ // @ApiMember(Description="Include Consignment NotAuthorized POS") bool? includeConsignmentNotAuthorizedPOS; /** * Include Retail Sales Price in the Output, by default: false */ // @ApiMember(Description="Include Retail Sales Price in the Output, by default: false") bool? includeRSP; /** * In Stock Since date from */ // @ApiMember(Description="In Stock Since date from ") DateTime? dateFrom; /** * In Stock Since date to */ // @ApiMember(Description="In Stock Since date to") DateTime? dateTo; /** * Item type, 'standard' OR 'consigned'. By default, all are coming */ // @ApiMember(Description="Item type, 'standard' OR 'consigned'. By default, all are coming") String? type; /** * Storage Location Identifier e.g. CPO, NEW, REP */ // @ApiMember(Description="Storage Location Identifier e.g. CPO, NEW, REP") String? storageLocationId; /** * Inventory segment e.g. CPO or null */ // @ApiMember(Description="Inventory segment e.g. CPO or null") String? inventorySegment; StockRequest({this.brand="",this.posCodes,this.articleCodes,this.includeExtraInfo,this.clusterIds,this.includeConsignmentNotAuthorizedPOS,this.includeRSP,this.dateFrom,this.dateTo,this.type,this.storageLocationId,this.inventorySegment}); StockRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { brand = json['brand'] ?? ""; posCodes = JsonConverters.fromJson(json['posCodes'],'List',context!); articleCodes = JsonConverters.fromJson(json['articleCodes'],'List',context!); includeExtraInfo = json['includeExtraInfo']; clusterIds = JsonConverters.fromJson(json['clusterIds'],'List',context!); includeConsignmentNotAuthorizedPOS = json['includeConsignmentNotAuthorizedPOS']; includeRSP = json['includeRSP']; dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!); dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!); type = json['type']; storageLocationId = json['storageLocationId']; inventorySegment = json['inventorySegment']; return this; } Map toJson() => { 'brand': brand, 'posCodes': JsonConverters.toJson(posCodes,'List',context!), 'articleCodes': JsonConverters.toJson(articleCodes,'List',context!), 'includeExtraInfo': includeExtraInfo, 'clusterIds': JsonConverters.toJson(clusterIds,'List',context!), 'includeConsignmentNotAuthorizedPOS': includeConsignmentNotAuthorizedPOS, 'includeRSP': includeRSP, 'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!), 'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!), 'type': type, 'storageLocationId': storageLocationId, 'inventorySegment': inventorySegment }; getTypeName() => "StockRequest"; TypeContext? context = _ctx; } class Pos implements IConvertible { /** * POS Code */ // @ApiMember(Description="POS Code", IsRequired=true) String posCode = ""; /** * Name of the POS */ // @ApiMember(Description="Name of the POS", IsRequired=true) String name = ""; /** * City of the POS */ // @ApiMember(Description="City of the POS", IsRequired=true) String city = ""; /** * Address of the POS */ // @ApiMember(Description="Address of the POS", IsRequired=true) String address = ""; /** * Country of the POS */ // @ApiMember(Description="Country of the POS", IsRequired=true) String country = ""; /** * Brand of the POS */ // @ApiMember(Description="Brand of the POS", IsRequired=true) String brand = ""; Pos({this.posCode="",this.name="",this.city="",this.address="",this.country="",this.brand=""}); Pos.fromJson(Map json) { fromMap(json); } fromMap(Map json) { posCode = json['posCode'] ?? ""; name = json['name'] ?? ""; city = json['city'] ?? ""; address = json['address'] ?? ""; country = json['country'] ?? ""; brand = json['brand'] ?? ""; return this; } Map toJson() => { 'posCode': posCode, 'name': name, 'city': city, 'address': address, 'country': country, 'brand': brand }; getTypeName() => "Pos"; TypeContext? context = _ctx; } class UnitNetAmount implements IConvertible { /** * Currency Iso Code */ // @ApiMember(Description="Currency Iso Code", IsRequired=true) String currencyIsoCode = ""; /** * Value */ // @ApiMember(Description="Value", IsRequired=true) double value = 0; UnitNetAmount({this.currencyIsoCode="",this.value=0}); UnitNetAmount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { currencyIsoCode = json['currencyIsoCode'] ?? ""; value = JsonConverters.toDouble(json['value']) ?? 0; return this; } Map toJson() => { 'currencyIsoCode': currencyIsoCode, 'value': value }; getTypeName() => "UnitNetAmount"; TypeContext? context = _ctx; } class StorageLocation implements IConvertible { /** * Storage Location Identifier */ // @ApiMember(Description="Storage Location Identifier", IsRequired=true) String storageLocationId = ""; /** * Storage Location Description */ // @ApiMember(Description="Storage Location Description") String? storageLocationDs; StorageLocation({this.storageLocationId="",this.storageLocationDs}); StorageLocation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { storageLocationId = json['storageLocationId'] ?? ""; storageLocationDs = json['storageLocationDs']; return this; } Map toJson() => { 'storageLocationId': storageLocationId, 'storageLocationDs': storageLocationDs }; getTypeName() => "StorageLocation"; TypeContext? context = _ctx; } class StockPositionItem implements IConvertible { /** * Quantity */ // @ApiMember(Description="Quantity", IsRequired=true) int quantity = 0; /** * Serial Number */ // @ApiMember(Description="Serial Number") String? serialNumber; /** * Stock Date */ // @ApiMember(Description="Stock Date", IsRequired=true) String stockDate = ""; /** * Loaded On Date */ // @ApiMember(Description="Loaded On Date", IsRequired=true) String loadedOnDate = ""; /** * Type e.g. consignment or standard */ // @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true) String type = ""; /** * Is Consignment Sellable */ // @ApiMember(Description="Is Consignment Sellable ", IsRequired=true) bool? isConsignmentSellable; /** * 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.") UnitNetAmount? unitNetAmount; /** * Retail Sales Price */ // @ApiMember(Description="Retail Sales Price") UnitNetAmount? retailSalesPrice; /** * Storage Location */ // @ApiMember(Description="Storage Location") StorageLocation? storageLocation; StockPositionItem({this.quantity=0,this.serialNumber,this.stockDate="",this.loadedOnDate="",this.type="",this.isConsignmentSellable,this.unitNetAmount,this.retailSalesPrice,this.storageLocation}); StockPositionItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { quantity = json['quantity'] ?? 0; serialNumber = json['serialNumber']; stockDate = json['stockDate'] ?? ""; loadedOnDate = json['loadedOnDate'] ?? ""; type = json['type'] ?? ""; isConsignmentSellable = json['isConsignmentSellable']; unitNetAmount = JsonConverters.fromJson(json['unitNetAmount'],'UnitNetAmount',context!); retailSalesPrice = JsonConverters.fromJson(json['retailSalesPrice'],'UnitNetAmount',context!); storageLocation = JsonConverters.fromJson(json['storageLocation'],'StorageLocation',context!); return this; } Map toJson() => { 'quantity': quantity, 'serialNumber': serialNumber, 'stockDate': stockDate, 'loadedOnDate': loadedOnDate, 'type': type, 'isConsignmentSellable': isConsignmentSellable, 'unitNetAmount': JsonConverters.toJson(unitNetAmount,'UnitNetAmount',context!), 'retailSalesPrice': JsonConverters.toJson(retailSalesPrice,'UnitNetAmount',context!), 'storageLocation': JsonConverters.toJson(storageLocation,'StorageLocation',context!) }; getTypeName() => "StockPositionItem"; TypeContext? context = _ctx; } class StockItem implements IConvertible { /** * Article Code */ // @ApiMember(Description="Article Code", IsRequired=true) String articleCode = ""; /** * Current Stock Quantity */ // @ApiMember(Description="Current Stock Quantity", IsRequired=true) int currentStockQuantity = 0; /** * Serial Numbers */ // @ApiMember(Description="Serial Numbers") List? serialNumbers; /** * Stock Item in Details */ // @ApiMember(Description="Stock Item in Details", IsRequired=true) List stockPositions = []; StockItem({this.articleCode="",this.currentStockQuantity=0,this.serialNumbers,this.stockPositions=const []}); StockItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { articleCode = json['articleCode'] ?? ""; currentStockQuantity = json['currentStockQuantity'] ?? 0; serialNumbers = JsonConverters.fromJson(json['serialNumbers'],'List',context!); stockPositions = JsonConverters.fromJson(json['stockPositions'],'List',context!) ?? []; return this; } Map toJson() => { 'articleCode': articleCode, 'currentStockQuantity': currentStockQuantity, 'serialNumbers': JsonConverters.toJson(serialNumbers,'List',context!), 'stockPositions': JsonConverters.toJson(stockPositions,'List',context!) }; getTypeName() => "StockItem"; TypeContext? context = _ctx; } class PosStockItem implements IConvertible { /** * Brand */ // @ApiMember(Description="Brand", IsRequired=true) String brand = ""; /** * Pos Code */ // @ApiMember(Description="Pos Code", IsRequired=true) String posCode = ""; /** * Shared Stock Location */ // @ApiMember(Description="Shared Stock Location", IsRequired=true) Pos? sharedStockLocation; /** * Stock Items */ // @ApiMember(Description="Stock Items") List? stockItems; PosStockItem({this.brand="",this.posCode="",this.sharedStockLocation,this.stockItems}); PosStockItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { brand = json['brand'] ?? ""; posCode = json['posCode'] ?? ""; sharedStockLocation = JsonConverters.fromJson(json['sharedStockLocation'],'Pos',context!); stockItems = JsonConverters.fromJson(json['stockItems'],'List',context!); return this; } Map toJson() => { 'brand': brand, 'posCode': posCode, 'sharedStockLocation': JsonConverters.toJson(sharedStockLocation,'Pos',context!), 'stockItems': JsonConverters.toJson(stockItems,'List',context!) }; getTypeName() => "PosStockItem"; TypeContext? context = _ctx; } class Pos implements IConvertible { /** * Name of the POS */ // @ApiMember(Description="Name of the POS", IsRequired=true) String name = ""; /** * POS Code */ // @ApiMember(Description="POS Code", IsRequired=true) String posCode = ""; /** * Pos Code To Be Displayed */ // @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true) String posCodeToBeDisplayed = ""; /** * Country of the POS */ // @ApiMember(Description="Country of the POS", IsRequired=true) String country = ""; /** * City of the POS */ // @ApiMember(Description="City of the POS", IsRequired=true) String city = ""; /** * Postal Code */ // @ApiMember(Description="Postal Code", IsRequired=true) String postalCode = ""; /** * State */ // @ApiMember(Description="State", IsRequired=true) String state = ""; /** * Street */ // @ApiMember(Description="Street", IsRequired=true) String street = ""; Pos({this.name="",this.posCode="",this.posCodeToBeDisplayed="",this.country="",this.city="",this.postalCode="",this.state="",this.street=""}); Pos.fromJson(Map json) { fromMap(json); } fromMap(Map json) { name = json['name'] ?? ""; posCode = json['posCode'] ?? ""; posCodeToBeDisplayed = json['posCodeToBeDisplayed'] ?? ""; country = json['country'] ?? ""; city = json['city'] ?? ""; postalCode = json['postalCode'] ?? ""; state = json['state'] ?? ""; street = json['street'] ?? ""; return this; } Map toJson() => { 'name': name, 'posCode': posCode, 'posCodeToBeDisplayed': posCodeToBeDisplayed, 'country': country, 'city': city, 'postalCode': postalCode, 'state': state, 'street': street }; getTypeName() => "Pos"; TypeContext? context = _ctx; } class GetStockResponse extends ListBase implements IConvertible { final List l = []; set length(int newLength) { l.length = newLength; } int get length => l.length; PosStockItem operator [](int index) => l[index]; void operator []=(int index, PosStockItem value) { l[index] = value; } GetStockResponse(); GetStockResponse.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "GetStockResponse"; TypeContext? context = _ctx; } // @Route("/stock/{brand}", "GET") class GetStock extends StockRequest implements IReturn, IConvertible, IGet { GetStock(); GetStock.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); createResponse() => GetStockResponse(); getResponseTypeName() => "GetStockResponse"; getTypeName() => "GetStock"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'StockRequest': TypeInfo(TypeOf.Class, create:() => StockRequest()), 'Pos': TypeInfo(TypeOf.Class, create:() => Pos()), 'UnitNetAmount': TypeInfo(TypeOf.Class, create:() => UnitNetAmount()), 'StorageLocation': TypeInfo(TypeOf.Class, create:() => StorageLocation()), 'StockPositionItem': TypeInfo(TypeOf.Class, create:() => StockPositionItem()), 'StockItem': TypeInfo(TypeOf.Class, create:() => StockItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'PosStockItem': TypeInfo(TypeOf.Class, create:() => PosStockItem()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetStockResponse': TypeInfo(TypeOf.Class, create:() => GetStockResponse()), 'GetStock': TypeInfo(TypeOf.Class, create:() => GetStock()), });