/* Options: Date: 2026-05-19 10:55:25 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: ExportSellOut.* //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 ExportSellOutResponse implements IConvertible { /** * Unique Identifier of the Export Request created */ // @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) String? asyncTaskId; ExportSellOutResponse({this.asyncTaskId}); ExportSellOutResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { asyncTaskId = json['asyncTaskId']; return this; } Map toJson() => { 'asyncTaskId': asyncTaskId }; getTypeName() => "ExportSellOutResponse"; TypeContext? context = _ctx; } // @Route("/warranty/{brand}/export", "POST") class ExportSellOut implements IReturn, IConvertible, IPost { /** * Brand Trigram, e.g. CAR, IWC */ // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true) String? brand; /** * Pos Legacy IDs / Codes */ // @ApiMember(Description="Pos Legacy IDs / Codes", IsRequired=true) List? posCodes; /** * Date To */ // @ApiMember(Description="Date To") DateTime? dateTo; /** * Date From */ // @ApiMember(Description="Date From") DateTime? dateFrom; /** * Item Article Codes, both Global and Local */ // @ApiMember(Description="Item Article Codes, both Global and Local") List? articleCodes; /** * Product Categories */ // @ApiMember(Description="Product Categories") List? productCategories; /** * Sale Representative Email */ // @ApiMember(Description="Sale Representative Email") List? saleRepresentativeEmails; /** * Sellout Type: 'sellout' for sales, 'return' for returns, null for both */ // @ApiMember(Description="Sellout Type: 'sellout' for sales, 'return' for returns, null for both") String? selloutType; /** * Type: 'consigned' or 'standard', null for both */ // @ApiMember(Description="Type: 'consigned' or 'standard', null for both") String? type; /** * Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error) */ // @ApiMember(Description="Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error)") List? warrantyExtensionStatusIds; /** * Export Request ID of the API Consumers */ // @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) String? downloadRequestId; ExportSellOut({this.brand,this.posCodes,this.dateTo,this.dateFrom,this.articleCodes,this.productCategories,this.saleRepresentativeEmails,this.selloutType,this.type,this.warrantyExtensionStatusIds,this.downloadRequestId}); ExportSellOut.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!); articleCodes = JsonConverters.fromJson(json['articleCodes'],'List',context!); productCategories = JsonConverters.fromJson(json['productCategories'],'List',context!); saleRepresentativeEmails = JsonConverters.fromJson(json['saleRepresentativeEmails'],'List',context!); selloutType = json['selloutType']; type = json['type']; warrantyExtensionStatusIds = JsonConverters.fromJson(json['warrantyExtensionStatusIds'],'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!), 'articleCodes': JsonConverters.toJson(articleCodes,'List',context!), 'productCategories': JsonConverters.toJson(productCategories,'List',context!), 'saleRepresentativeEmails': JsonConverters.toJson(saleRepresentativeEmails,'List',context!), 'selloutType': selloutType, 'type': type, 'warrantyExtensionStatusIds': JsonConverters.toJson(warrantyExtensionStatusIds,'List',context!), 'downloadRequestId': downloadRequestId }; createResponse() => ExportSellOutResponse(); getResponseTypeName() => "ExportSellOutResponse"; getTypeName() => "ExportSellOut"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'ProductCategory': TypeInfo(TypeOf.Class, create:() => ProductCategory()), 'ExportSellOutResponse': TypeInfo(TypeOf.Class, create:() => ExportSellOutResponse()), 'ExportSellOut': TypeInfo(TypeOf.Class, create:() => ExportSellOut()), 'List': TypeInfo(TypeOf.Class, create:() => []), });