Richemont.Booster2.PublicApi

<back to all web services

GetStock

Requires Authentication
The following routes are available for this service:
GET/stock/{brand}Get stock
import Foundation
import ServiceStack

public class GetStock : StockRequest
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class StockRequest : Codable
{
    /**
    * Brand
    */
    // @ApiMember(Description="Brand", IsRequired=true)
    public var brand:String

    /**
    * POS Legacy
    */
    // @ApiMember(Description="POS Legacy")
    public var posCodes:[String] = []

    /**
    * Article Codes
    */
    // @ApiMember(Description="Article Codes")
    public var articleCodes:[String] = []

    /**
    * Include Extra Info
    */
    // @ApiMember(Description="Include Extra Info")
    public var includeExtraInfo:Bool

    /**
    * Cluster Id
    */
    // @ApiMember(Description="Cluster Id")
    public var clusterIds:[String] = []

    /**
    * Include Consignment NotAuthorized POS
    */
    // @ApiMember(Description="Include Consignment NotAuthorized POS")
    public var includeConsignmentNotAuthorizedPOS: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

    /**
    * In Stock Since date from 
    */
    // @ApiMember(Description="In Stock Since date from ")
    public var dateFrom:Date?

    /**
    * In Stock Since date to
    */
    // @ApiMember(Description="In Stock Since date to")
    public var dateTo:Date?

    /**
    * Item type, 'standard' OR 'consigned'. By default, all are coming
    */
    // @ApiMember(Description="Item type, 'standard' OR 'consigned'. By default, all are coming")
    public var type:String

    required public init(){}
}

public class GetStockResponse : List<PosStockItem>
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class PosStockItem : Codable
{
    /**
    * Brand
    */
    // @ApiMember(Description="Brand", IsRequired=true)
    public var brand:String

    /**
    * Pos Code
    */
    // @ApiMember(Description="Pos Code", IsRequired=true)
    public var posCode:String

    /**
    * Shared Stock Location
    */
    // @ApiMember(Description="Shared Stock Location", IsRequired=true)
    public var sharedStockLocation:Pos

    /**
    * Stock Items
    */
    // @ApiMember(Description="Stock Items")
    public var stockItems:[StockItem] = []

    required public init(){}
}

public class Pos : Codable
{
    /**
    * Name of the POS
    */
    // @ApiMember(Description="Name of the POS", IsRequired=true)
    public var name:String

    /**
    * 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

    /**
    * Country of the POS
    */
    // @ApiMember(Description="Country of the POS", IsRequired=true)
    public var country:String

    /**
    * City of the POS
    */
    // @ApiMember(Description="City of the POS", IsRequired=true)
    public var city:String

    /**
    * Postal Code
    */
    // @ApiMember(Description="Postal Code", IsRequired=true)
    public var postalCode:String

    /**
    * State
    */
    // @ApiMember(Description="State", IsRequired=true)
    public var state:String

    /**
    * Street
    */
    // @ApiMember(Description="Street", IsRequired=true)
    public var street:String

    required public init(){}
}

public class StockItem : Codable
{
    /**
    * Article Code
    */
    // @ApiMember(Description="Article Code", IsRequired=true)
    public var articleCode:String

    /**
    * Current Stock Quantity
    */
    // @ApiMember(Description="Current Stock Quantity", IsRequired=true)
    public var currentStockQuantity:Int

    /**
    * Serial Numbers
    */
    // @ApiMember(Description="Serial Numbers")
    public var serialNumbers:[String] = []

    /**
    * Stock Item in Details
    */
    // @ApiMember(Description="Stock Item in Details", IsRequired=true)
    public var stockPositions:[StockPositionItem] = []

    required public init(){}
}

public class StockPositionItem : Codable
{
    /**
    * Quantity
    */
    // @ApiMember(Description="Quantity", IsRequired=true)
    public var quantity:Int

    /**
    * Serial Number
    */
    // @ApiMember(Description="Serial Number")
    public var serialNumber:String

    /**
    * Stock Date
    */
    // @ApiMember(Description="Stock Date", IsRequired=true)
    public var stockDate:String

    /**
    * Loaded On Date
    */
    // @ApiMember(Description="Loaded On Date", IsRequired=true)
    public var loadedOnDate:String

    /**
    * 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

    /**
    * Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase.
    */
    // @ApiMember(Description="Sell-In Price. Disclaimer: this data will be arriving empty/null due to DealerCost project still being in test phase.")
    public var unitNetAmount:UnitNetAmount

    /**
    * Retail Sales Price
    */
    // @ApiMember(Description="Retail Sales Price")
    public var retailSalesPrice:UnitNetAmount

    required public init(){}
}

public class UnitNetAmount : 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(){}
}


Swift GetStock DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /stock/{brand} HTTP/1.1 
Host: dev-api-booster.richemont.com 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

[]