/* Options: Date: 2026-08-27 07:10:51 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: GetPurchaseItems.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IPagedRequest { int page = 0; int items = 0; bool? noCount; String? sortBy; } class Amount implements IConvertible { /** * Value */ // @ApiMember(Description="Value", IsRequired=true) double value = 0; /** * Currency */ // @ApiMember(Description="Currency", IsRequired=true) String currency = ""; Amount({this.value=0,this.currency=""}); Amount.fromJson(Map json) { fromMap(json); } fromMap(Map json) { value = JsonConverters.toDouble(json['value']) ?? 0; 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 = 0; /** * Line number */ // @ApiMember(Description="Line number", IsRequired=true) int lineNumber = 0; /** * 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 = 0; /** * Open Quantity */ // @ApiMember(Description="Open Quantity", IsRequired=true) int openQuantity = 0; /** * 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=0,this.lineNumber=0,this.orderDate="",this.originOrderId,this.articleCode="",this.orderedQuantity=0,this.openQuantity=0,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'] ?? 0; lineNumber = json['lineNumber'] ?? 0; orderDate = json['orderDate'] ?? ""; originOrderId = json['originOrderId']; articleCode = json['articleCode'] ?? ""; orderedQuantity = json['orderedQuantity'] ?? 0; openQuantity = json['openQuantity'] ?? 0; 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 = 0; /** * Total Results */ // @ApiMember(Description="Total Results", IsRequired=true) int totalResults = 0; /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned", IsRequired=true) int page = 0; /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) int items = 0; /** * List of purchase items */ // @ApiMember(Description="List of purchase items", IsRequired=true) List? elements; GetPurchaseItemsResponse({this.totalPages=0,this.totalResults=0,this.page=0,this.items=0,this.elements}); GetPurchaseItemsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { totalPages = json['totalPages'] ?? 0; totalResults = json['totalResults'] ?? 0; page = json['page'] ?? 0; items = json['items'] ?? 0; 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 = 0; /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned") int items = 0; /** * 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=const [],this.articleCodes,this.erpOrderCodes,this.page=0,this.items=0,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'] ?? 0; items = json['items'] ?? 0; 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()), });