/* Options: Date: 2026-08-27 08:01:47 SwiftVersion: 6.0 Version: 10.08 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetStockPaginated.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //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? /** * Storage Location Identifier e.g. CPO, NEW, REP */ // @ApiMember(Description="Storage Location Identifier e.g. CPO, NEW, REP") public var storageLocationId:String? /** * Inventory segment e.g. CPO or null */ // @ApiMember(Description="Inventory segment e.g. CPO or null") public var inventorySegment:String? 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? /** * Storage Location */ // @ApiMember(Description="Storage Location") public var storageLocation:StorageLocation? required public init(){} } public class StorageLocation : Codable { /** * Storage Location Identifier */ // @ApiMember(Description="Storage Location Identifier", IsRequired=true) public var storageLocationId:String? /** * Storage Location Description */ // @ApiMember(Description="Storage Location Description") public var storageLocationDs:String? 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(){} }