/* Options: Date: 2026-05-19 10:46:13 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: GetDeliveryNotePaginated.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class IPagedRequest { int? page; int? items; bool? noCount; String? sortBy; } class Amount2 implements IConvertible { /** * Currency ISO Code e.g. EUR, USD */ // @ApiMember(Description="Currency ISO Code e.g. EUR, USD", IsRequired=true) String? currencyIsoCode; /** * Cost */ // @ApiMember(Description="Cost", IsRequired=true) double? value; Amount2({this.currencyIsoCode,this.value}); Amount2.fromJson(Map json) { fromMap(json); } fromMap(Map json) { currencyIsoCode = json['currencyIsoCode']; value = JsonConverters.toDouble(json['value']); return this; } Map toJson() => { 'currencyIsoCode': currencyIsoCode, 'value': value }; getTypeName() => "Amount2"; TypeContext? context = _ctx; } class DeliveryNoteItem implements IConvertible { /** * Line number of Delivery note document e.g. 10, 90, 10000 */ // @ApiMember(Description="Line number of Delivery note document e.g. 10, 90, 10000", IsRequired=true) int? deliveryNotesLineNumber; /** * Status e.g. I, P */ // @ApiMember(Description="Status e.g. I, P", IsRequired=true) String? status; /** * Article code of product e.g. CRWGSA0032 */ // @ApiMember(Description="Article code of product e.g. CRWGSA0032", IsRequired=true) String? articleCode; /** * Article description of product */ // @ApiMember(Description="Article description of product") String? articleDescription; /** * Article code of product for straps e.g. CRKD12346879 */ // @ApiMember(Description="Article code of product for straps e.g. CRKD12346879") String? speakingArticleCode; /** * Serial numbers of products */ // @ApiMember(Description="Serial numbers of products") List? serialNumbers; /** * ERP ID of purchase order which delivery note attached to e.g. 200232323 */ // @ApiMember(Description="ERP ID of purchase order which delivery note attached to e.g. 200232323", IsRequired=true) int? erpOrderNumber; /** * Date of purchase order which delivery note attached to e.g. '2023-01-01' */ // @ApiMember(Description="Date of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true) DateTime? erpOrderDate; /** * Line number of purchase order which delivery note attached to e.g. '2023-01-01' */ // @ApiMember(Description="Line number of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true) int? erpOrderLineNumber; /** * Customer reference of order */ // @ApiMember(Description="Customer reference of order") String? customerReference; /** * Carrier name */ // @ApiMember(Description="Carrier name") String? carrier; /** * Tracking number */ // @ApiMember(Description="Tracking number") String? trackingNumber; /** * Tracking URL */ // @ApiMember(Description="Tracking URL") String? trackingUrl; /** * Flag that shows the order is sellable or not */ // @ApiMember(Description="Flag that shows the order is sellable or not", IsRequired=true) bool? isSellable; /** * Flag that shows the order is consignment or not */ // @ApiMember(Description="Flag that shows the order is consignment or not", IsRequired=true) bool? isConsignment; /** * Flag that shows the order is Automatic Replenishment or not */ // @ApiMember(Description="Flag that shows the order is Automatic Replenishment or not", IsRequired=true) bool? isAutomaticReplenishment; /** * Order reason code */ // @ApiMember(Description="Order reason code", IsRequired=true) String? orderReasonCode; /** * Original quantity of item */ // @ApiMember(Description="Original quantity of item") DateTime? consignmentDueDate; /** * Quantity of item */ // @ApiMember(Description="Quantity of item", IsRequired=true) int? quantity; /** * Price of item */ // @ApiMember(Description="Price of item", IsRequired=true) Amount2? unitAmount; DeliveryNoteItem({this.deliveryNotesLineNumber,this.status,this.articleCode,this.articleDescription,this.speakingArticleCode,this.serialNumbers,this.erpOrderNumber,this.erpOrderDate,this.erpOrderLineNumber,this.customerReference,this.carrier,this.trackingNumber,this.trackingUrl,this.isSellable,this.isConsignment,this.isAutomaticReplenishment,this.orderReasonCode,this.consignmentDueDate,this.quantity,this.unitAmount}); DeliveryNoteItem.fromJson(Map json) { fromMap(json); } fromMap(Map json) { deliveryNotesLineNumber = json['deliveryNotesLineNumber']; status = json['status']; articleCode = json['articleCode']; articleDescription = json['articleDescription']; speakingArticleCode = json['speakingArticleCode']; serialNumbers = JsonConverters.fromJson(json['serialNumbers'],'List',context!); erpOrderNumber = json['erpOrderNumber']; erpOrderDate = JsonConverters.fromJson(json['erpOrderDate'],'DateTime',context!); erpOrderLineNumber = json['erpOrderLineNumber']; customerReference = json['customerReference']; carrier = json['carrier']; trackingNumber = json['trackingNumber']; trackingUrl = json['trackingUrl']; isSellable = json['isSellable']; isConsignment = json['isConsignment']; isAutomaticReplenishment = json['isAutomaticReplenishment']; orderReasonCode = json['orderReasonCode']; consignmentDueDate = JsonConverters.fromJson(json['consignmentDueDate'],'DateTime',context!); quantity = json['quantity']; unitAmount = JsonConverters.fromJson(json['unitAmount'],'Amount2',context!); return this; } Map toJson() => { 'deliveryNotesLineNumber': deliveryNotesLineNumber, 'status': status, 'articleCode': articleCode, 'articleDescription': articleDescription, 'speakingArticleCode': speakingArticleCode, 'serialNumbers': JsonConverters.toJson(serialNumbers,'List',context!), 'erpOrderNumber': erpOrderNumber, 'erpOrderDate': JsonConverters.toJson(erpOrderDate,'DateTime',context!), 'erpOrderLineNumber': erpOrderLineNumber, 'customerReference': customerReference, 'carrier': carrier, 'trackingNumber': trackingNumber, 'trackingUrl': trackingUrl, 'isSellable': isSellable, 'isConsignment': isConsignment, 'isAutomaticReplenishment': isAutomaticReplenishment, 'orderReasonCode': orderReasonCode, 'consignmentDueDate': JsonConverters.toJson(consignmentDueDate,'DateTime',context!), 'quantity': quantity, 'unitAmount': JsonConverters.toJson(unitAmount,'Amount2',context!) }; getTypeName() => "DeliveryNoteItem"; TypeContext? context = _ctx; } class DeliveryNote implements IConvertible { /** * ID of ERP system e.g. ES100 */ // @ApiMember(Description="ID of ERP system e.g. ES100", IsRequired=true) String? erpSystemId; /** * POS Legacy e.g. ES100:102048 */ // @ApiMember(Description="POS Legacy e.g. ES100:102048", IsRequired=true) String? posCode; /** * ShipTo POS Legacy e.g. ES100:102048 */ // @ApiMember(Description="ShipTo POS Legacy e.g. ES100:102048", IsRequired=true) String? shipToPosCode; /** * ID of Delivery note document e.g. 7032150324 */ // @ApiMember(Description="ID of Delivery note document e.g. 7032150324", IsRequired=true) int? deliveryNotesNumber; /** * Date of Delivery note document e.g. '2023-01-01' */ // @ApiMember(Description="Date of Delivery note document e.g. '2023-01-01'", IsRequired=true) DateTime? deliveryNotesDate; /** * Delivery note items */ // @ApiMember(Description="Delivery note items", IsRequired=true) List? deliveryNoteItems; /** * ID of IC Delivery note document e.g. 7032150324 */ // @ApiMember(Description="ID of IC Delivery note document e.g. 7032150324", IsRequired=true) int? icDeliveryNotesNumber; /** * Date of IC Delivery note document e.g. '2023-01-01' */ // @ApiMember(Description="Date of IC Delivery note document e.g. '2023-01-01'", IsRequired=true) DateTime? icDeliveryNotesDate; DeliveryNote({this.erpSystemId,this.posCode,this.shipToPosCode,this.deliveryNotesNumber,this.deliveryNotesDate,this.deliveryNoteItems,this.icDeliveryNotesNumber,this.icDeliveryNotesDate}); DeliveryNote.fromJson(Map json) { fromMap(json); } fromMap(Map json) { erpSystemId = json['erpSystemId']; posCode = json['posCode']; shipToPosCode = json['shipToPosCode']; deliveryNotesNumber = json['deliveryNotesNumber']; deliveryNotesDate = JsonConverters.fromJson(json['deliveryNotesDate'],'DateTime',context!); deliveryNoteItems = JsonConverters.fromJson(json['deliveryNoteItems'],'List',context!); icDeliveryNotesNumber = json['icDeliveryNotesNumber']; icDeliveryNotesDate = JsonConverters.fromJson(json['icDeliveryNotesDate'],'DateTime',context!); return this; } Map toJson() => { 'erpSystemId': erpSystemId, 'posCode': posCode, 'shipToPosCode': shipToPosCode, 'deliveryNotesNumber': deliveryNotesNumber, 'deliveryNotesDate': JsonConverters.toJson(deliveryNotesDate,'DateTime',context!), 'deliveryNoteItems': JsonConverters.toJson(deliveryNoteItems,'List',context!), 'icDeliveryNotesNumber': icDeliveryNotesNumber, 'icDeliveryNotesDate': JsonConverters.toJson(icDeliveryNotesDate,'DateTime',context!) }; getTypeName() => "DeliveryNote"; TypeContext? context = _ctx; } class GetDeliveryNotePaginatedResponse 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 delivery notes */ // @ApiMember(Description="List of delivery notes", IsRequired=true) List? elements; GetDeliveryNotePaginatedResponse({this.totalPages,this.totalResults,this.page,this.items,this.elements}); GetDeliveryNotePaginatedResponse.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() => "GetDeliveryNotePaginatedResponse"; TypeContext? context = _ctx; } // @Route("/deliveryNote/{brand}", "GET") class GetDeliveryNotePaginated implements IReturn, IPagedRequest, IConvertible, IGet { /** * Brand Trigram, e.g. CAR, IWC */ // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true) String? brand; /** * POS Legacy Codes, e.g. ES100:102048 */ // @ApiMember(Description="POS Legacy Codes, e.g. ES100:102048", IsRequired=true) List? posCodes; /** * Delivery notes date to */ // @ApiMember(Description="Delivery notes date to") DateTime? dateTo; /** * Delivery notes date from */ // @ApiMember(Description="Delivery notes date from") DateTime? dateFrom; /** * Status possible values: 'I' for pending delivery notes, 'P' for accepted ones */ // @ApiMember(Description="Status possible values: 'I' for pending delivery notes, 'P' for accepted ones") List? status; /** * Provide value 'true' for getting only consignment delivery notes */ // @ApiMember(Description="Provide value 'true' for getting only consignment delivery notes") bool? onlyConsignment; /** * Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes. */ // @ApiMember(Description="Order type filter: “autorep“ for getting only delivery notes linked to an automatic replenishment trigger. It means the reason codes Auto Repl Standard (Z22) and Auto Repl Consignment (Z89) ; “manual“ for getting only delivery notes linked to a manual replenishment trigger. It means all the other reason codes.") String? orderType; /** * Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset */ // @ApiMember(Description="Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset") String? stockType; /** * Richemont Reference Code of the item */ // @ApiMember(Description="Richemont Reference Code of the item") String? articleCode; /** * Serial Number of the item */ // @ApiMember(Description="Serial Number of the item") String? serialNumber; /** * Delivery notes number for getting specific delivery, e.g. 7032150324 */ // @ApiMember(Description="Delivery notes number for getting specific delivery, e.g. 7032150324") int? deliveryNotesNumber; /** * IC Delivery notes number for getting specific delivery, e.g. 7032150324 */ // @ApiMember(Description="IC Delivery notes number for getting specific delivery, e.g. 7032150324") int? icDeliveryNotesNumber; /** * Purchase order number for getting specific deliveries by order number, e.g 207285022 */ // @ApiMember(Description="Purchase order number for getting specific deliveries by order number, e.g 207285022") int? erpOrderNumber; /** * 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; /** * Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC' */ // @ApiMember(Description="Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'") String? sortBy; GetDeliveryNotePaginated({this.brand,this.posCodes,this.dateTo,this.dateFrom,this.status,this.onlyConsignment,this.orderType,this.stockType,this.articleCode,this.serialNumber,this.deliveryNotesNumber,this.icDeliveryNotesNumber,this.erpOrderNumber,this.page,this.items,this.noCount,this.sortBy}); GetDeliveryNotePaginated.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!); onlyConsignment = json['onlyConsignment']; orderType = json['orderType']; stockType = json['stockType']; articleCode = json['articleCode']; serialNumber = json['serialNumber']; deliveryNotesNumber = json['deliveryNotesNumber']; icDeliveryNotesNumber = json['icDeliveryNotesNumber']; erpOrderNumber = json['erpOrderNumber']; page = json['page']; items = json['items']; noCount = json['noCount']; sortBy = json['sortBy']; 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!), 'onlyConsignment': onlyConsignment, 'orderType': orderType, 'stockType': stockType, 'articleCode': articleCode, 'serialNumber': serialNumber, 'deliveryNotesNumber': deliveryNotesNumber, 'icDeliveryNotesNumber': icDeliveryNotesNumber, 'erpOrderNumber': erpOrderNumber, 'page': page, 'items': items, 'noCount': noCount, 'sortBy': sortBy }; createResponse() => GetDeliveryNotePaginatedResponse(); getResponseTypeName() => "GetDeliveryNotePaginatedResponse"; getTypeName() => "GetDeliveryNotePaginated"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'dev_api_booster.richemont.com', types: { 'IPagedRequest': TypeInfo(TypeOf.Interface), 'Amount2': TypeInfo(TypeOf.Class, create:() => Amount2()), 'DeliveryNoteItem': TypeInfo(TypeOf.Class, create:() => DeliveryNoteItem()), 'DeliveryNote': TypeInfo(TypeOf.Class, create:() => DeliveryNote()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetDeliveryNotePaginatedResponse': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginatedResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetDeliveryNotePaginated': TypeInfo(TypeOf.Class, create:() => GetDeliveryNotePaginated()), });