/* Options: Date: 2026-05-19 10:48:55 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: GetStockPaginated.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/stock/{brand}/{posCode}", "GET") public class GetStockPaginated : IReturn, IPagedRequest, Codable { public typealias Return = GetStockPaginatedResponse /** * Brand */ // @ApiMember(Description="Brand", IsRequired=true) public var brand:String /** * POS Legacy */ // @ApiMember(Description="POS Legacy", IsRequired=true) public var posCode:String /** * Search Key (Article or SerialNumber) */ // @ApiMember(Description="Search Key (Article or SerialNumber)") public var searchKey:String /** * 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 /** * Sorting expression */ // @ApiMember(Description="Sorting expression") public var sortBy:String /** * Parameter - Include Chain POSes Stock */ // @ApiMember(Description="Parameter - Include Chain POSes Stock ") public var includeChainPosesStock:Bool /** * Include Retail Sales Price in the Output, by default: false */ // @ApiMember(Description="Include Retail Sales Price in the Output, by default: false") public var includeRSP:Bool required public init(){} } public class GetStockPaginatedResponse : 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 movements */ // @ApiMember(Description="List of movements", IsRequired=true) public var elements:[PaginatedStockElement] = [] 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 PaginatedStockElement : Codable { /** * Pos Code */ // @ApiMember(Description="Pos Code", IsRequired=true) public var posCode:String /** * Pos Code To Be Displayed */ // @ApiMember(Description="Pos Code To Be Displayed", IsRequired=true) public var posCodeToBeDisplayed:String /** * Article Code */ // @ApiMember(Description="Article Code", IsRequired=true) public var articleCode:String /** * Serial Number */ // @ApiMember(Description="Serial Number") public var serialNumber:String /** * Current Stock Quantity */ // @ApiMember(Description="Current Stock Quantity", IsRequired=true) public var quantity:Int /** * Type e.g. consignment or standard */ // @ApiMember(Description="Type e.g. consignment or standard", IsRequired=true) public var type:String /** * Is Consignment Sellable */ // @ApiMember(Description="Is Consignment Sellable ", IsRequired=true) public var isConsignmentSellable:Bool /** * Retail Sales Price */ // @ApiMember(Description="Retail Sales Price", IsRequired=true) public var retailSalesPrice:RetailSalesPrice required public init(){} } public class RetailSalesPrice : Codable { /** * Currency Iso Code */ // @ApiMember(Description="Currency Iso Code", IsRequired=true) public var currencyIsoCode:String /** * Value */ // @ApiMember(Description="Value", IsRequired=true) public var value:Double? required public init(){} }