/* Options: Date: 2026-05-19 09:52:30 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: ExportOrder.* //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 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 ExportOrderResponse implements IConvertible { /** * Unique Identifier of the Export Request created */ // @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) String? asyncTaskId; ExportOrderResponse({this.asyncTaskId}); ExportOrderResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { asyncTaskId = json['asyncTaskId']; return this; } Map toJson() => { 'asyncTaskId': asyncTaskId }; getTypeName() => "ExportOrderResponse"; TypeContext? context = _ctx; } // @Route("/purchase/{brand}/export", "POST") class ExportOrder implements IReturn, IConvertible, IPost { /** * Brand Trigram, e.g. CAR, IWC */ // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true) String? brand; /** * POS Legacy */ // @ApiMember(Description="POS Legacy", IsRequired=true) List? posCodes; /** * Date To */ // @ApiMember(Description="Date To") DateTime? dateTo; /** * Date From */ // @ApiMember(Description="Date From") DateTime? dateFrom; /** * Possible order statues: B (Backorder), C (Created), D (Draft), I (In transit)N (Pending), P (Shipped), PS (Partially shipped), R (Reserved), X (RP Simulated), Z (Deleted) */ // @ApiMember(Description="Possible order statues: B (Backorder), C (Created), D (Draft), I (In transit)N (Pending), P (Shipped), PS (Partially shipped), R (Reserved), X (RP Simulated), Z (Deleted)") List? status; /** * Reason Code e.g. Y00, Y06 */ // @ApiMember(Description="Reason Code e.g. Y00, Y06") List? reasonCode; /** * Product Categories */ // @ApiMember(Description="Product Categories") List? productCategories; /** * Final Ship To Pos Codes */ // @ApiMember(Description="Final Ship To Pos Codes") List? finalShipTo; /** * Export Request ID of the API Consumers */ // @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) String? downloadRequestId; ExportOrder({this.brand,this.posCodes,this.dateTo,this.dateFrom,this.status,this.reasonCode,this.productCategories,this.finalShipTo,this.downloadRequestId}); ExportOrder.fromJson(Map json) { fromMap(json); } fromMap(Map json) { brand = json['brand']; posCodes = JsonConverters.fromJson(json['posCodes'],'List',context!); dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!); dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!); status = JsonConverters.fromJson(json['status'],'List',context!); reasonCode = JsonConverters.fromJson(json['reasonCode'],'List',context!); productCategories = JsonConverters.fromJson(json['productCategories'],'List',context!); finalShipTo = JsonConverters.fromJson(json['finalShipTo'],'List',context!); downloadRequestId = json['downloadRequestId']; return this; } Map toJson() => { 'brand': brand, 'posCodes': JsonConverters.toJson(posCodes,'List',context!), 'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!), 'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!), 'status': JsonConverters.toJson(status,'List',context!), 'reasonCode': JsonConverters.toJson(reasonCode,'List',context!), 'productCategories': JsonConverters.toJson(productCategories,'List',context!), 'finalShipTo': JsonConverters.toJson(finalShipTo,'List',context!), 'downloadRequestId': downloadRequestId }; createResponse() => ExportOrderResponse(); getResponseTypeName() => "ExportOrderResponse"; getTypeName() => "ExportOrder"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'ProductCategory': TypeInfo(TypeOf.Class, create:() => ProductCategory()), 'ExportOrderResponse': TypeInfo(TypeOf.Class, create:() => ExportOrderResponse()), 'ExportOrder': TypeInfo(TypeOf.Class, create:() => ExportOrder()), 'List': TypeInfo(TypeOf.Class, create:() => []), });