/* Options: Date: 2026-05-19 10:46:04 SwiftVersion: 5.0 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: GetDeliveryNotePaginated.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/deliveryNote/{brand}", "GET") public class GetDeliveryNotePaginated : IReturn, IPagedRequest, Codable { public typealias Return = GetDeliveryNotePaginatedResponse /** * Brand Trigram, e.g. CAR, IWC */ // @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true) public var brand:String /** * POS Legacy Codes, e.g. ES100:102048 */ // @ApiMember(Description="POS Legacy Codes, e.g. ES100:102048", IsRequired=true) public var posCodes:[String] = [] /** * Delivery notes date to */ // @ApiMember(Description="Delivery notes date to") public var dateTo:Date? /** * Delivery notes date from */ // @ApiMember(Description="Delivery notes date from") public var dateFrom:Date? /** * 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") public var status:[String] = [] /** * Provide value 'true' for getting only consignment delivery notes */ // @ApiMember(Description="Provide value 'true' for getting only consignment delivery notes") public var onlyConsignment:Bool? /** * 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.") public var orderType:String /** * 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") public var stockType:String /** * Richemont Reference Code of the item */ // @ApiMember(Description="Richemont Reference Code of the item") public var articleCode:String /** * Serial Number of the item */ // @ApiMember(Description="Serial Number of the item") public var serialNumber:String /** * Delivery notes number for getting specific delivery, e.g. 7032150324 */ // @ApiMember(Description="Delivery notes number for getting specific delivery, e.g. 7032150324") public var deliveryNotesNumber:Int? /** * IC Delivery notes number for getting specific delivery, e.g. 7032150324 */ // @ApiMember(Description="IC Delivery notes number for getting specific delivery, e.g. 7032150324") public var icDeliveryNotesNumber:Int? /** * 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") public var erpOrderNumber:Int? /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned") public var page:Int /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned") public var items:Int /** * Omit precise record count - save on performance */ // @ApiMember(Description="Omit precise record count - save on performance") public var noCount:Bool /** * Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC' */ // @ApiMember(Description="Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'") public var sortBy:String required public init(){} } public class GetDeliveryNotePaginatedResponse : Codable { /** * Total Pages */ // @ApiMember(Description="Total Pages", IsRequired=true) public var totalPages:Int /** * Total Results */ // @ApiMember(Description="Total Results", IsRequired=true) public var totalResults:Int /** * Index of the result set returned */ // @ApiMember(Description="Index of the result set returned", IsRequired=true) public var page:Int /** * Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) public var items:Int /** * List of delivery notes */ // @ApiMember(Description="List of delivery notes", IsRequired=true) public var elements:[DeliveryNote] = [] required public init(){} } public protocol IPagedRequest { var page:Int { get set } var items:Int { get set } var noCount:Bool { get set } var sortBy:String { get set } } public class DeliveryNote : Codable { /** * ID of ERP system e.g. ES100 */ // @ApiMember(Description="ID of ERP system e.g. ES100", IsRequired=true) public var erpSystemId:String /** * POS Legacy e.g. ES100:102048 */ // @ApiMember(Description="POS Legacy e.g. ES100:102048", IsRequired=true) public var posCode:String /** * ShipTo POS Legacy e.g. ES100:102048 */ // @ApiMember(Description="ShipTo POS Legacy e.g. ES100:102048", IsRequired=true) public var shipToPosCode:String /** * ID of Delivery note document e.g. 7032150324 */ // @ApiMember(Description="ID of Delivery note document e.g. 7032150324", IsRequired=true) public var deliveryNotesNumber:Int /** * Date of Delivery note document e.g. '2023-01-01' */ // @ApiMember(Description="Date of Delivery note document e.g. '2023-01-01'", IsRequired=true) public var deliveryNotesDate:Date /** * Delivery note items */ // @ApiMember(Description="Delivery note items", IsRequired=true) public var deliveryNoteItems:[DeliveryNoteItem] = [] /** * ID of IC Delivery note document e.g. 7032150324 */ // @ApiMember(Description="ID of IC Delivery note document e.g. 7032150324", IsRequired=true) public var icDeliveryNotesNumber:Int? /** * 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) public var icDeliveryNotesDate:Date? required public init(){} } public class DeliveryNoteItem : Codable { /** * 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) public var deliveryNotesLineNumber:Int /** * Status e.g. I, P */ // @ApiMember(Description="Status e.g. I, P", IsRequired=true) public var status:String /** * Article code of product e.g. CRWGSA0032 */ // @ApiMember(Description="Article code of product e.g. CRWGSA0032", IsRequired=true) public var articleCode:String /** * Article description of product */ // @ApiMember(Description="Article description of product") public var articleDescription:String /** * Article code of product for straps e.g. CRKD12346879 */ // @ApiMember(Description="Article code of product for straps e.g. CRKD12346879") public var speakingArticleCode:String /** * Serial numbers of products */ // @ApiMember(Description="Serial numbers of products") public var serialNumbers:[String] = [] /** * 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) public var erpOrderNumber:Int /** * 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) public var erpOrderDate:Date /** * 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) public var erpOrderLineNumber:Int /** * Customer reference of order */ // @ApiMember(Description="Customer reference of order") public var customerReference:String /** * Carrier name */ // @ApiMember(Description="Carrier name") public var carrier:String /** * Tracking number */ // @ApiMember(Description="Tracking number") public var trackingNumber:String /** * Tracking URL */ // @ApiMember(Description="Tracking URL") public var trackingUrl:String /** * Flag that shows the order is sellable or not */ // @ApiMember(Description="Flag that shows the order is sellable or not", IsRequired=true) public var isSellable:Bool /** * Flag that shows the order is consignment or not */ // @ApiMember(Description="Flag that shows the order is consignment or not", IsRequired=true) public var isConsignment:Bool /** * Flag that shows the order is Automatic Replenishment or not */ // @ApiMember(Description="Flag that shows the order is Automatic Replenishment or not", IsRequired=true) public var isAutomaticReplenishment:Bool? /** * Order reason code */ // @ApiMember(Description="Order reason code", IsRequired=true) public var orderReasonCode:String /** * Original quantity of item */ // @ApiMember(Description="Original quantity of item") public var consignmentDueDate:Date? /** * Quantity of item */ // @ApiMember(Description="Quantity of item", IsRequired=true) public var quantity:Int /** * Price of item */ // @ApiMember(Description="Price of item", IsRequired=true) public var unitAmount:Amount2 required public init(){} } public class Amount2 : Codable { /** * Currency ISO Code e.g. EUR, USD */ // @ApiMember(Description="Currency ISO Code e.g. EUR, USD", IsRequired=true) public var currencyIsoCode:String /** * Cost */ // @ApiMember(Description="Cost", IsRequired=true) public var value:Double required public init(){} }