/* Options: Date: 2026-05-19 09:52:31 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: GetPurchaseItems.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IPagedRequest { int? page; int? items; bool? noCount; String? sortBy; } class Amount implements IConvertible { /** * Value */ // @ApiMember(Description="Value", IsRequired=true) double? value; /** * Currency */ // @ApiMember(Description="Currency", IsRequired=true) String? currency; Amount({this.value,this.currency}); Amount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { value = JsonConverters.toDouble(json['value']); currency = json['currency']; return this; } Map toJson() => { 'value': value, 'currency': currency }; getTypeName() => "Amount"; TypeContext? context = _ctx; } class PurchaseItem implements IConvertible { /** * 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; /** * Erp Order Id */ // @ApiMember(Description="Erp Order Id", IsRequired=true) int? erpOrderId; /** * Line number */ // @ApiMember(Description="Line number", IsRequired=true) int? lineNumber; /** * Order Date */ // @ApiMember(Description="Order Date", IsRequired=true) String? orderDate; /** * Origin Order Id */ // @ApiMember(Description="Origin Order Id") int? originOrderId; /** * Article Code */ // @ApiMember(Description="Article Code", IsRequired=true) String? articleCode; /** * Ordered Quantity */ // @ApiMember(Description="Ordered Quantity", IsRequired=true) int? orderedQuantity; /** * Open Quantity */ // @ApiMember(Description="Open Quantity", IsRequired=true) int? openQuantity; /** * Order status */ // @ApiMember(Description="Order status", IsRequired=true) String? status; /** * Net Amount */ // @ApiMember(Description="Net Amount", IsRequired=true) Amount? netAmount; /** * Customer Reference */ // @ApiMember(Description="Customer Reference", IsRequired=true) String? customerReference; /** * Speaking Article Code */ // @ApiMember(Description="Speaking Article Code", IsRequired=true) String? speakingArticleCode; /** * Expected Delivery Date */ // @ApiMember(Description="Expected Delivery Date", IsRequired=true) String? expectedDeliveryDate; /** * Is Strap Vip Order */ // @ApiMember(Description="Is Strap Vip Order", IsRequired=true) bool? isStrapVipOrder; /** * Order Type */ // @ApiMember(Description="Order Type", IsRequired=true) String? orderType; PurchaseItem({this.posCode,this.posCodeToBeDisplayed,this.erpOrderId,this.lineNumber,this.orderDate,this.originOrderId,this.articleCode,this.orderedQuantity,this.openQuantity,this.status,this.netAmount,this.customerReference,this.speakingArticleCode,this.expectedDeliveryDate,this.isStrapVipOrder,this.orderType}); PurchaseItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { posCode = json['posCode']; posCodeToBeDisplayed = json['posCodeToBeDisplayed']; erpOrderId = json['erpOrderId']; lineNumber = json['lineNumber']; orderDate = json['orderDate']; originOrderId = json['originOrderId']; articleCode = json['articleCode']; orderedQuantity = json['orderedQuantity']; openQuantity = json['openQuantity']; status = json['status']; netAmount = JsonConverters.fromJson(json['netAmount'],'Amount',context!); customerReference = json['customerReference']; speakingArticleCode = json['speakingArticleCode']; expectedDeliveryDate = json['expectedDeliveryDate']; isStrapVipOrder = json['isStrapVipOrder']; orderType = json['orderType']; return this; } Map toJson() => { 'posCode': posCode, 'posCodeToBeDisplayed': posCodeToBeDisplayed, 'erpOrderId': erpOrderId, 'lineNumber': lineNumber, 'orderDate': orderDate, 'originOrderId': originOrderId, 'articleCode': articleCode, 'orderedQuantity': orderedQuantity, 'openQuantity': openQuantity, 'status': status, 'netAmount': JsonConverters.toJson(netAmount,'Amount',context!), 'customerReference': customerReference, 'speakingArticleCode': speakingArticleCode, 'expectedDeliveryDate': expectedDeliveryDate, 'isStrapVipOrder': isStrapVipOrder, 'orderType': orderType }; getTypeName() => "PurchaseItem"; TypeContext? context = _ctx; } class GetPurchaseItemsResponse implements IConvertible { /** * Total Pages */ // @ApiMember(Description="Total Pages", IsRequired=true) int? totalPages; /** * Total Results */ // @ApiMember(Description="Total Results", IsRequired=true) int? totalResults; /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned", IsRequired=true) int? page; /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) int? items; /** * List of purchase items */ // @ApiMember(Description="List of purchase items", IsRequired=true) List? elements; GetPurchaseItemsResponse({this.totalPages,this.totalResults,this.page,this.items,this.elements}); GetPurchaseItemsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { totalPages = json['totalPages']; totalResults = json['totalResults']; page = json['page']; items = json['items']; elements = JsonConverters.fromJson(json['elements'],'List',context!); return this; } Map toJson() => { 'totalPages': totalPages, 'totalResults': totalResults, 'page': page, 'items': items, 'elements': JsonConverters.toJson(elements,'List',context!) }; getTypeName() => "GetPurchaseItemsResponse"; TypeContext? context = _ctx; } // @Route("/purchaseItem/{brand}", "GET") class GetPurchaseItems implements IReturn, IPagedRequest, IConvertible, IGet { /** * Brand */ // @ApiMember(Description="Brand", IsRequired=true) String? brand; /** * POS Legacy */ // @ApiMember(Description="POS Legacy", IsRequired=true) List? posCodes; /** * Article Codes */ // @ApiMember(Description="Article Codes") List? articleCodes; /** * ERP Order Codes */ // @ApiMember(Description="ERP Order Codes") List? erpOrderCodes; /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned") int? page; /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned") int? items; /** * Omit precise record count - save on performance */ // @ApiMember(Description="Omit precise record count - save on performance") bool? noCount; /** * Sorting expression */ // @ApiMember(Description="Sorting expression") String? sortBy; GetPurchaseItems({this.brand,this.posCodes,this.articleCodes,this.erpOrderCodes,this.page,this.items,this.noCount,this.sortBy}); GetPurchaseItems.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!); erpOrderCodes = JsonConverters.fromJson(json['erpOrderCodes'],'List',context!); page = json['page']; items = json['items']; noCount = json['noCount']; sortBy = json['sortBy']; return this; } Map toJson() => { 'brand': brand, 'posCodes': JsonConverters.toJson(posCodes,'List',context!), 'articleCodes': JsonConverters.toJson(articleCodes,'List',context!), 'erpOrderCodes': JsonConverters.toJson(erpOrderCodes,'List',context!), 'page': page, 'items': items, 'noCount': noCount, 'sortBy': sortBy }; createResponse() => GetPurchaseItemsResponse(); getResponseTypeName() => "GetPurchaseItemsResponse"; getTypeName() => "GetPurchaseItems"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'IPagedRequest': TypeInfo(TypeOf.Interface), 'Amount': TypeInfo(TypeOf.Class, create:() => Amount()), 'PurchaseItem': TypeInfo(TypeOf.Class, create:() => PurchaseItem()), 'GetPurchaseItemsResponse': TypeInfo(TypeOf.Class, create:() => GetPurchaseItemsResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetPurchaseItems': TypeInfo(TypeOf.Class, create:() => GetPurchaseItems()), });