""" Options: Date: 2026-06-14 21:44:13 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://qp-microservices-booster.richemont.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: ListWarrantyCardsRequest.* #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 TResponse = TypeVar('TResponse') @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BaseRequest(Generic[TResponse], IRequest): sid: Optional[str] = None app: Optional[str] = None _os: Optional[str] = None _app_version: Optional[str] = None _search_method: Optional[str] = None class IRequest: sid: Optional[str] = None app: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BaseResponse(IRespose): _xmlns: Optional[str] = None _type: Optional[str] = None _source: Optional[str] = None _tstamp: Optional[str] = None _user: Optional[str] = None _env: Optional[str] = None _uri: Optional[str] = None _query: Optional[str] = None class IRespose: _xmlns: Optional[str] = None _type: Optional[str] = None _source: Optional[str] = None _tstamp: Optional[str] = None _user: Optional[str] = None _env: Optional[str] = None _uri: Optional[str] = None _query: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Article: ref: Optional[str] = None serial: Optional[str] = None name: Optional[str] = None short_desc: Optional[str] = None brand: Optional[str] = None warranty_status_id: Optional[int] = None warranty_status_desc: Optional[str] = None warranty_status_code: Optional[str] = None is_consignment: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Site: object: Optional[str] = None id: Optional[str] = None name: Optional[str] = None address: Optional[Address] = None crm_privacy_policy_mandatory: bool = False crm_allow_store_data_abroad_visible: bool = False is_time_vallee: bool = False crm_privacy_policy_time_vallee_mandatory: bool = False crm_allow_store_data_abroad_time_vallee_visible: bool = False allow_to_create_end_customer_outside_china: bool = False display_first_last_name_not_latin: bool = False language_transliteration: Optional[str] = None do_not_display_p_o_s_data_in_disclaimers: bool = False crm_first_name_mandatory: bool = False crm_city_mandatory: bool = False manage_own_stock: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Warranty: article: Optional[List[Article]] = None warranty_id: Optional[str] = None created_by: Optional[str] = None created_at: Optional[str] = None issued_by: Optional[str] = None sellout_id: Optional[str] = None activation_date: Optional[str] = None pin: Optional[str] = None promoter_type_id: Optional[str] = None promoter_type_ds: Optional[str] = None site: Optional[Site] = None crm_enabled: bool = False can_be_extended: bool = False can_be_retriggered: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Site(ILookupInt): object: Optional[str] = None id: int = 0 name: Optional[str] = None address: Optional[Address] = None brands: Optional[List[Brand]] = None users: Optional[List[User]] = None is_nfc_active: int = 0 is_i_os_emb_reader_enable: int = 0 crm_privacy_policy_mandatory: bool = False crm_allow_store_data_abroad_visible: bool = False display_first_last_name_not_latin: bool = False language_transliteration: Optional[str] = None crm_privacy_policy_time_vallee_mandatory: bool = False crm_allow_store_data_abroad_time_vallee_visible: bool = False allow_to_create_end_customer_outside_china: bool = False is_time_vallee: bool = False do_not_display_p_o_s_data_in_disclaimers: bool = False crm_first_name_mandatory: bool = False manage_own_stock: bool = False crm_city_mandatory: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Article: ref: Optional[str] = None serial: Optional[str] = None name: Optional[str] = None site: Optional[LookupInt] = None brand: Optional[str] = None is_consignment: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ListWarrantyCardsResponse(BaseResponse): warranty: Optional[List[Warranty]] = None # @Route("/warranty/v1/cards", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ListWarrantyCardsRequest(BaseRequest[ListWarrantyCardsResponse], IReturn[ListWarrantyCardsResponse]): user: Optional[str] = None site: Optional[str] = None system: Optional[str] = None application: Optional[str] = None article: Optional[str] = None ref: Optional[str] = None serial: Optional[str] = None page: int = 0 size: int = 0