""" Options: Date: 2026-05-19 09:49:02 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: GetDeliveryNotePaginated.* #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 class IPagedRequest: page: int = 0 items: int = 0 no_count: bool = False sort_by: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Amount2: # @ApiMember(Description="Currency ISO Code e.g. EUR, USD", IsRequired=true) currency_iso_code: Optional[str] = None """ Currency ISO Code e.g. EUR, USD """ # @ApiMember(Description="Cost", IsRequired=true) value: float = 0.0 """ Cost """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DeliveryNoteItem: # @ApiMember(Description="Line number of Delivery note document e.g. 10, 90, 10000", IsRequired=true) delivery_notes_line_number: int = 0 """ Line number of Delivery note document e.g. 10, 90, 10000 """ # @ApiMember(Description="Status e.g. I, P", IsRequired=true) status: Optional[str] = None """ Status e.g. I, P """ # @ApiMember(Description="Article code of product e.g. CRWGSA0032", IsRequired=true) article_code: Optional[str] = None """ Article code of product e.g. CRWGSA0032 """ # @ApiMember(Description="Article description of product") article_description: Optional[str] = None """ Article description of product """ # @ApiMember(Description="Article code of product for straps e.g. CRKD12346879") speaking_article_code: Optional[str] = None """ Article code of product for straps e.g. CRKD12346879 """ # @ApiMember(Description="Serial numbers of products") serial_numbers: Optional[List[str]] = None """ Serial numbers of products """ # @ApiMember(Description="ERP ID of purchase order which delivery note attached to e.g. 200232323", IsRequired=true) erp_order_number: int = 0 """ ERP ID of purchase order which delivery note attached to e.g. 200232323 """ # @ApiMember(Description="Date of purchase order which delivery note attached to e.g. '2023-01-01'", IsRequired=true) erp_order_date: datetime.datetime = datetime.datetime(1, 1, 1) """ Date 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) erp_order_line_number: int = 0 """ Line number of purchase order which delivery note attached to e.g. '2023-01-01' """ # @ApiMember(Description="Customer reference of order") customer_reference: Optional[str] = None """ Customer reference of order """ # @ApiMember(Description="Carrier name") carrier: Optional[str] = None """ Carrier name """ # @ApiMember(Description="Tracking number") tracking_number: Optional[str] = None """ Tracking number """ # @ApiMember(Description="Tracking URL") tracking_url: Optional[str] = None """ Tracking URL """ # @ApiMember(Description="Flag that shows the order is sellable or not", IsRequired=true) is_sellable: bool = False """ Flag that shows the order is sellable or not """ # @ApiMember(Description="Flag that shows the order is consignment or not", IsRequired=true) is_consignment: bool = False """ Flag that shows the order is consignment or not """ # @ApiMember(Description="Flag that shows the order is Automatic Replenishment or not", IsRequired=true) is_automatic_replenishment: Optional[bool] = None """ Flag that shows the order is Automatic Replenishment or not """ # @ApiMember(Description="Order reason code", IsRequired=true) order_reason_code: Optional[str] = None """ Order reason code """ # @ApiMember(Description="Original quantity of item") consignment_due_date: Optional[datetime.datetime] = None """ Original quantity of item """ # @ApiMember(Description="Quantity of item", IsRequired=true) quantity: int = 0 """ Quantity of item """ # @ApiMember(Description="Price of item", IsRequired=true) unit_amount: Optional[Amount2] = None """ Price of item """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DeliveryNote: # @ApiMember(Description="ID of ERP system e.g. ES100", IsRequired=true) erp_system_id: Optional[str] = None """ ID of ERP system e.g. ES100 """ # @ApiMember(Description="POS Legacy e.g. ES100:102048", IsRequired=true) pos_code: Optional[str] = None """ POS Legacy e.g. ES100:102048 """ # @ApiMember(Description="ShipTo POS Legacy e.g. ES100:102048", IsRequired=true) ship_to_pos_code: Optional[str] = None """ ShipTo POS Legacy e.g. ES100:102048 """ # @ApiMember(Description="ID of Delivery note document e.g. 7032150324", IsRequired=true) delivery_notes_number: int = 0 """ ID of Delivery note document e.g. 7032150324 """ # @ApiMember(Description="Date of Delivery note document e.g. '2023-01-01'", IsRequired=true) delivery_notes_date: datetime.datetime = datetime.datetime(1, 1, 1) """ Date of Delivery note document e.g. '2023-01-01' """ # @ApiMember(Description="Delivery note items", IsRequired=true) delivery_note_items: Optional[List[DeliveryNoteItem]] = None """ Delivery note items """ # @ApiMember(Description="ID of IC Delivery note document e.g. 7032150324", IsRequired=true) ic_delivery_notes_number: Optional[int] = None """ ID of IC Delivery note document e.g. 7032150324 """ # @ApiMember(Description="Date of IC Delivery note document e.g. '2023-01-01'", IsRequired=true) ic_delivery_notes_date: Optional[datetime.datetime] = None """ Date of IC Delivery note document e.g. '2023-01-01' """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetDeliveryNotePaginatedResponse: # @ApiMember(Description="Total Pages", IsRequired=true) total_pages: int = 0 """ Total Pages """ # @ApiMember(Description="Total Results", IsRequired=true) total_results: int = 0 """ Total Results """ # @ApiMember(Description="Index of the result set returned", IsRequired=true) page: int = 0 """ Index of the result set returned """ # @ApiMember(Description="Size of the result set returned", IsRequired=true) items: int = 0 """ Size of the result set returned """ # @ApiMember(Description="List of delivery notes", IsRequired=true) elements: Optional[List[DeliveryNote]] = None """ List of delivery notes """ # @Route("/deliveryNote/{brand}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetDeliveryNotePaginated(IReturn[GetDeliveryNotePaginatedResponse], IPagedRequest): # @ApiMember(Description="Brand Trigram, e.g. CAR, IWC", IsRequired=true) brand: Optional[str] = None """ Brand Trigram, e.g. CAR, IWC """ # @ApiMember(Description="POS Legacy Codes, e.g. ES100:102048", IsRequired=true) pos_codes: Optional[List[str]] = None """ POS Legacy Codes, e.g. ES100:102048 """ # @ApiMember(Description="Delivery notes date to") date_to: Optional[datetime.datetime] = None """ Delivery notes date to """ # @ApiMember(Description="Delivery notes date from") date_from: Optional[datetime.datetime] = None """ Delivery notes date from """ # @ApiMember(Description="Status possible values: 'I' for pending delivery notes, 'P' for accepted ones") status: Optional[List[str]] = None """ Status possible values: 'I' for pending delivery notes, 'P' for accepted ones """ # @ApiMember(Description="Provide value 'true' for getting only consignment delivery notes") only_consignment: Optional[bool] = None """ Provide value 'true' for getting only consignment delivery notes """ # @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.") order_type: Optional[str] = None """ 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="Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset") stock_type: Optional[str] = None """ Stock type filter: “consigned“ for consigned products only ; “asset“ for standard products only ; empty for both consignment & asset """ # @ApiMember(Description="Richemont Reference Code of the item") article_code: Optional[str] = None """ Richemont Reference Code of the item """ # @ApiMember(Description="Serial Number of the item") serial_number: Optional[str] = None """ Serial Number of the item """ # @ApiMember(Description="Delivery notes number for getting specific delivery, e.g. 7032150324") delivery_notes_number: Optional[int] = None """ Delivery notes number for getting specific delivery, e.g. 7032150324 """ # @ApiMember(Description="IC Delivery notes number for getting specific delivery, e.g. 7032150324") ic_delivery_notes_number: Optional[int] = None """ IC Delivery notes number for getting specific delivery, e.g. 7032150324 """ # @ApiMember(Description="Purchase order number for getting specific deliveries by order number, e.g 207285022") erp_order_number: Optional[int] = None """ Purchase order number for getting specific deliveries by order number, e.g 207285022 """ # @ApiMember(Description="Index of the result set returned") page: int = 0 """ Index of the result set returned """ # @ApiMember(Description="Size of the result set returned") items: int = 0 """ Size of the result set returned """ # @ApiMember(Description="Omit precise record count - save on performance") no_count: bool = False """ Omit precise record count - save on performance """ # @ApiMember(Description="Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC'") sort_by: Optional[str] = None """ Values can be 'DateDESC', 'DateASC', 'PosASC', 'PosDESC' """