""" Options: Date: 2026-09-09 10:58:35 Version: 10.08 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://services.acct.2service.nl #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetShipment.* #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 Object = TypeVar('Object') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AuthenticatedRequest: # @ApiMember(Description="Session token received from successful authentication.", IsRequired=true, ParameterType="query") session_token: Optional[str] = None """ Session token received from successful authentication. """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OperationResult: # @ApiMember(Description="Specifies if the operation was successful.", ParameterType="model") is_successful: bool = False """ Specifies if the operation was successful. """ # @ApiMember(Description="States error message in case of unsuccessful operation.", ParameterType="model") error_message: Optional[str] = None """ States error message in case of unsuccessful operation. """ T = TypeVar('T') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class OperationResult1(Generic[T], OperationResult): # @ApiMember(Description="Result value", ParameterType="model") result: Optional[T] = None """ Result value """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ShipmentArticleResult: # @ApiMember(Description="Order number.") order_number: Optional[str] = None """ Order number. """ # @ApiMember(Description="Article number.") article_number: Optional[str] = None """ Article number. """ # @ApiMember(Description="Quantity.") quantity: int = 0 """ Quantity. """ # @ApiMember(Description="Custom reference.") custom_reference: Optional[str] = None """ Custom reference. """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ShipmentPackageResult: # @ApiMember(Description="Shipment method.") shipment_method: Optional[str] = None """ Shipment method. """ # @ApiMember(Description="Tracking number.") tracking_number: Optional[str] = None """ Tracking number. """ # @ApiMember(Description="Tracking URL.") tracking_url: Optional[str] = None """ Tracking URL. """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ShipmentResult: # @ApiMember(Description="ID of the shipment.") shipment_id: int = 0 """ ID of the shipment. """ # @ApiMember(Description="Determines of the shipment has been dispatched.") has_been_dispatched: bool = False """ Determines of the shipment has been dispatched. """ # @ApiMember(Description="Date/time of dispatch.") dispatch_date: Optional[datetime.datetime] = None """ Date/time of dispatch. """ # @ApiMember(Description="List of articles in shipment.") articles: Optional[List[ShipmentArticleResult]] = None """ List of articles in shipment. """ # @ApiMember(Description="List of packages for shipment.") packages: Optional[List[ShipmentPackageResult]] = None """ List of packages for shipment. """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ShipmentResponse(OperationResult1[ShipmentResult]): pass # @Route("/dealers/shipment/{ShipmentId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetShipment(AuthenticatedRequest, IReturn[ShipmentResponse]): # @ApiMember(Description="Shipment ID to retrieve the status for.", IsRequired=true, ParameterType="path") shipment_id: int = 0 """ Shipment ID to retrieve the status for. """