| GET | /v1/CustomersInLine | ||
|---|---|---|---|
| GET | /v1/CustomersInLine/{LocationId} |
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)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CustomersInLine:
api_key: Optional[str] = None
location_id: Optional[str] = None
client_is_loading: bool = False
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/CustomersInLine HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Customers":[{"CheckinId":"00000000000000000000000000000000","VisitKey":"00000000000000000000000000000000","Name":"String","SayNameAs":"String","Line":"String","Description":"String","ServiceId":"00000000000000000000000000000000","Status":0,"SignInTime":"0001-01-01T00:00:00.0000000","AdjustedSignInTime":"0001-01-01T00:00:00.0000000","ArrivedTime":"0001-01-01T00:00:00.0000000","SendReminders":false,"CalledTime":"0001-01-01T00:00:00.0000000","TicketLabel":"String","StationId":"00000000000000000000000000000000","StationName":"String","Id":"00000000000000000000000000000000","FullName":"String","TaskTime":0,"Completed":false,"CompletedTime":"0001-01-01T00:00:00.0000000","EmployeeId":"00000000000000000000000000000000","Employee":"String","QuestionnaireSubmitted":false,"HoldReason":"String","HoldExpectedUtc":"0001-01-01T00:00:00.0000000","ReturnedTime":"0001-01-01T00:00:00.0000000","ContactId":0,"MobilePhone":"String","Source":"String","LastMovedFrom":"String","LastMovedUtc":"0001-01-01T00:00:00.0000000","PriorityTime":"0001-01-01T00:00:00.0000000","HoldByName":"String","HoldByStationName":"String","HoldSinceUtc":"0001-01-01T00:00:00.0000000","TicketNo":0,"NoteCount":0,"HasCarryNote":false,"CarryNoteBy":"String","CarryNoteAtUtc":"0001-01-01T00:00:00.0000000","PaperworkAsks":{"Questionnaire":false,"Upload":false},"DocumentCount":0}],"LocationName":"String","MonitorShowServices":false,"Lobby":{"LocationId":"00000000000000000000000000000000","WaitSource":"String","MonitorChime":"String","HasUploadedChime":false,"ChimeUrl":"String","MonitorVolume":0,"MonitorAnnounce":false,"MonitorAnnounceTemplate":"String","MonitorVoice":"String","MonitorVoiceLang":"String","MonitorVoiceRate":0,"MonitorRepeatAfterSec":0,"MonitorTicketOnly":false,"LobbyZoneMode":"String","LobbyTakeoverEveryMin":0,"LobbyTakeoverSec":0,"LobbyIdleScreen":false,"TimeZone":"String","MonitorShowServices":false,"LobbyTvCount":0,"TicketPrefix":"String","LobbyDensity":"String","LobbyIdleMode":"String","LobbyIdleContentId":0},"WorkspaceName":"String","StationTerm":"String","Sessions":[{"SessionId":"00000000000000000000000000000000","LocationId":"00000000000000000000000000000000","StationId":"00000000000000000000000000000000","StationName":"String","EmployeeId":"00000000000000000000000000000000","EmployeeName":"String","SignedInUtc":"0001-01-01T00:00:00.0000000","LastSeenUtc":"0001-01-01T00:00:00.0000000","PausedSinceUtc":"0001-01-01T00:00:00.0000000","PauseReason":"String","HomeBranchId":"00000000000000000000000000000000","HomeBranchName":"String","IsMine":false}]}