""" Options: Date: 2026-11-01 23:13:27 Version: 8.80 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: CustomersInLine.* #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 PaperworkAsks: questionnaire: bool = False upload: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomerInLineObject: checkin_id: Optional[str] = None visit_key: Optional[str] = None name: Optional[str] = None say_name_as: Optional[str] = None line: Optional[str] = None description: Optional[str] = None service_id: Optional[str] = None status: int = 0 sign_in_time: datetime.datetime = datetime.datetime(1, 1, 1) adjusted_sign_in_time: datetime.datetime = datetime.datetime(1, 1, 1) arrived_time: Optional[datetime.datetime] = None send_reminders: bool = False called_time: Optional[datetime.datetime] = None ticket_label: Optional[str] = None station_id: Optional[str] = None station_name: Optional[str] = None id: Optional[str] = None full_name: Optional[str] = None task_time: Optional[int] = None completed: Optional[bool] = None completed_time: Optional[datetime.datetime] = None employee_id: Optional[str] = None employee: Optional[str] = None questionnaire_submitted: Optional[bool] = None hold_reason: Optional[str] = None hold_expected_utc: Optional[datetime.datetime] = None returned_time: Optional[datetime.datetime] = None contact_id: Optional[int] = None mobile_phone: Optional[str] = None source: Optional[str] = None last_moved_from: Optional[str] = None last_moved_utc: Optional[datetime.datetime] = None priority_time: Optional[datetime.datetime] = None hold_by_name: Optional[str] = None hold_by_station_name: Optional[str] = None hold_since_utc: Optional[datetime.datetime] = None ticket_no: Optional[int] = None note_count: Optional[int] = None has_carry_note: Optional[bool] = None carry_note_by: Optional[str] = None carry_note_at_utc: Optional[datetime.datetime] = None paperwork_asks: Optional[PaperworkAsks] = None document_count: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class LobbySettings: location_id: Optional[str] = None wait_source: Optional[str] = None monitor_chime: Optional[str] = None has_uploaded_chime: bool = False chime_url: Optional[str] = None monitor_volume: int = 0 monitor_announce: bool = False monitor_announce_template: Optional[str] = None monitor_voice: Optional[str] = None monitor_voice_lang: Optional[str] = None monitor_voice_rate: Decimal = decimal.Decimal(0) monitor_repeat_after_sec: Optional[int] = None monitor_ticket_only: bool = False lobby_zone_mode: Optional[str] = None lobby_takeover_every_min: Optional[int] = None lobby_takeover_sec: Optional[int] = None lobby_idle_screen: bool = False time_zone: Optional[str] = None monitor_show_services: Optional[bool] = None lobby_tv_count: Optional[int] = None ticket_prefix: Optional[str] = None lobby_density: Optional[str] = None lobby_idle_mode: Optional[str] = None lobby_idle_content_id: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class StationSessionView: session_id: Optional[str] = None location_id: Optional[str] = None station_id: Optional[str] = None station_name: Optional[str] = None employee_id: Optional[str] = None employee_name: Optional[str] = None signed_in_utc: datetime.datetime = datetime.datetime(1, 1, 1) last_seen_utc: datetime.datetime = datetime.datetime(1, 1, 1) paused_since_utc: Optional[datetime.datetime] = None pause_reason: Optional[str] = None home_branch_id: Optional[str] = None home_branch_name: Optional[str] = None is_mine: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomersInLineResponse: response_status: Optional[ResponseStatus] = None customers: List[CustomerInLineObject] = field(default_factory=list) location_name: Optional[str] = None monitor_show_services: Optional[bool] = None lobby: Optional[LobbySettings] = None workspace_name: Optional[str] = None station_term: Optional[str] = None sessions: List[StationSessionView] = field(default_factory=list) # @Route("/v1/CustomersInLine", "GET") # @Route("/v1/CustomersInLine/{LocationId}", "GET") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CustomersInLine(IReturn[CustomersInLineResponse]): api_key: Optional[str] = None location_id: Optional[str] = None client_is_loading: bool = False