/* Options: Date: 2026-05-19 10:46:35 Version: 8.22 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; StockRequest({this.brand,this.posCodes,this.articleCodes,this.includeExtraInfo,this.clusterIds,this.includeConsignmentNotAuthorizedPOS,this.includeRSP,this.dateFrom,this.dateTo,this.type}); 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']; 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 }; 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:() => []), });