""" Options: Date: 2026-05-19 09:51:27 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: GetProductQuantityFigures.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ReasonCodeQuantity: # @ApiMember(Description="Order Reason Code", IsRequired=true) reason_code: Optional[str] = None """ Order Reason Code """ # @ApiMember(Description="Ordered quantity per Reason Code", IsRequired=true) quantity: int = 0 """ Ordered quantity per Reason Code """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ProductQuantityFigure: # @ApiMember(Description="Stock POS Legacy code", IsRequired=true) stock_pos_code: Optional[str] = None """ Stock POS Legacy code """ # @ApiMember(Description="Article Code", IsRequired=true) article_code: Optional[str] = None """ Article Code """ # @ApiMember(Description="Stock quantity", IsRequired=true) stock_quantity: int = 0 """ Stock quantity """ # @ApiMember(Description="Stock quantity for standard orders", IsRequired=true) standard_stock_quantity: int = 0 """ Stock quantity for standard orders """ # @ApiMember(Description="Stock quantity for consignment orders", IsRequired=true) consignment_stock_quantity: int = 0 """ Stock quantity for consignment orders """ # @ApiMember(Description="Ordered pending quantity", IsRequired=true) ordered_pending_quantity: int = 0 """ Ordered pending quantity """ # @ApiMember(Description="Ordered confirmed quantity", IsRequired=true) ordered_confirmed_quantity: int = 0 """ Ordered confirmed quantity """ # @ApiMember(Description="Ordered confirmed quantities splitted by reason codes") ordered_confirmed_quantity_by_reason: Optional[List[ReasonCodeQuantity]] = None """ Ordered confirmed quantities splitted by reason codes """ # @ApiMember(Description="In transit quantity", IsRequired=true) in_transit_quantity: int = 0 """ In transit quantity """ # @ApiMember(Description="In transit quantities splitted by reason codes") in_transit_quantity_by_reason: Optional[List[ReasonCodeQuantity]] = None """ In transit quantities splitted by reason codes """ # @ApiMember(Description="Standard assortment no autoRep quantity", IsRequired=true) standard_assortment_no_auto_rep_quantity: int = 0 """ Standard assortment no autoRep quantity """ # @ApiMember(Description="Standard assortment autoRep quantity", IsRequired=true) standard_assortment_auto_rep_quantity: int = 0 """ Standard assortment autoRep quantity """ # @ApiMember(Description="Consignment assortment no autoRep quantity", IsRequired=true) consignment_assortment_no_auto_rep_quantity: int = 0 """ Consignment assortment no autoRep quantity """ # @ApiMember(Description="Consignment assortment autoRep quantity", IsRequired=true) consignment_assortment_auto_rep_quantity: int = 0 """ Consignment assortment autoRep quantity """ # @ApiMember(Description="Total ordered", IsRequired=true) total_ordered: int = 0 """ Total ordered """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetProductQuantityFiguresResponse(List[ProductQuantityFigure]): pass # @Route("/stock/{brand}/productQuantityFigures", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetProductQuantityFigures(IReturn[GetProductQuantityFiguresResponse]): # @ApiMember(Description="Brand", IsRequired=true) brand: Optional[str] = None """ Brand """ # @ApiMember(Description="POS Legacy codes", IsRequired=true) pos_codes: Optional[List[str]] = None """ POS Legacy codes """ # @ApiMember(Description="Article codes", IsRequired=true) article_codes: Optional[List[str]] = None """ Article codes """