/* Options: Date: 2026-08-27 08:07:46 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: ExportStock.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class ProductCategory implements IConvertible { /** * Brand Category ID */ // @ApiMember(Description="Brand Category ID") String? brandCategoryId; /** * Grand Category ID */ // @ApiMember(Description="Grand Category ID", IsRequired=true) String grandCategoryId = ""; /** * Master Category ID */ // @ApiMember(Description="Master Category ID") String? masterCategoryId; /** * Category ID */ // @ApiMember(Description="Category ID") String? categoryId; /** * Sub Category ID */ // @ApiMember(Description="Sub Category ID") String? subCategoryId; ProductCategory({this.brandCategoryId,this.grandCategoryId="",this.masterCategoryId,this.categoryId,this.subCategoryId}); ProductCategory.fromJson(Map json) { fromMap(json); } fromMap(Map json) { brandCategoryId = json['brandCategoryId']; grandCategoryId = json['grandCategoryId'] ?? ""; masterCategoryId = json['masterCategoryId']; categoryId = json['categoryId']; subCategoryId = json['subCategoryId']; return this; } Map toJson() => { 'brandCategoryId': brandCategoryId, 'grandCategoryId': grandCategoryId, 'masterCategoryId': masterCategoryId, 'categoryId': categoryId, 'subCategoryId': subCategoryId }; getTypeName() => "ProductCategory"; TypeContext? context = _ctx; } 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 ProductCategory implements IConvertible { /** * Brand Category ID */ // @ApiMember(Description="Brand Category ID") String? brandCategoryId; /** * Grand Category ID */ // @ApiMember(Description="Grand Category ID") String? grandCategoryId; /** * Master Category ID */ // @ApiMember(Description="Master Category ID") String? masterCategoryId; /** * Category ID */ // @ApiMember(Description="Category ID") String? categoryId; /** * Sub Category ID */ // @ApiMember(Description="Sub Category ID") String? subCategoryId; ProductCategory({this.brandCategoryId,this.grandCategoryId,this.masterCategoryId,this.categoryId,this.subCategoryId}); ProductCategory.fromJson(Map json) { fromMap(json); } fromMap(Map json) { brandCategoryId = json['brandCategoryId']; grandCategoryId = json['grandCategoryId']; masterCategoryId = json['masterCategoryId']; categoryId = json['categoryId']; subCategoryId = json['subCategoryId']; return this; } Map toJson() => { 'brandCategoryId': brandCategoryId, 'grandCategoryId': grandCategoryId, 'masterCategoryId': masterCategoryId, 'categoryId': categoryId, 'subCategoryId': subCategoryId }; getTypeName() => "ProductCategory"; TypeContext? context = _ctx; } class ExportStockResponse implements IConvertible { /** * Unique Identifier of the Export Request created */ // @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) String asyncTaskId = ""; ExportStockResponse({this.asyncTaskId=""}); ExportStockResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { asyncTaskId = json['asyncTaskId'] ?? ""; return this; } Map toJson() => { 'asyncTaskId': asyncTaskId }; getTypeName() => "ExportStockResponse"; TypeContext? context = _ctx; } // @Route("/stock/{brand}/export", "POST") class ExportStock extends StockRequest implements IReturn, IConvertible, IPost { /** * Product Categories */ // @ApiMember(Description="Product Categories") List? productCategories; /** * Export Request ID of the API Consumers */ // @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) String downloadRequestId = ""; ExportStock({this.productCategories,this.downloadRequestId=""}); ExportStock.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); productCategories = JsonConverters.fromJson(json['productCategories'],'List',context!); downloadRequestId = json['downloadRequestId'] ?? ""; return this; } Map toJson() => super.toJson()..addAll({ 'productCategories': JsonConverters.toJson(productCategories,'List',context!), 'downloadRequestId': downloadRequestId }); createResponse() => ExportStockResponse(); getResponseTypeName() => "ExportStockResponse"; getTypeName() => "ExportStock"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'ProductCategory': TypeInfo(TypeOf.Class, create:() => ProductCategory()), 'StockRequest': TypeInfo(TypeOf.Class, create:() => StockRequest()), 'ExportStockResponse': TypeInfo(TypeOf.Class, create:() => ExportStockResponse()), 'ExportStock': TypeInfo(TypeOf.Class, create:() => ExportStock()), 'List': TypeInfo(TypeOf.Class, create:() => []), });