""" Options: Date: 2025-05-04 22:44:38 Version: 8.71 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://team.evovoice.io #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: GetMySessions.* #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 SessionInfo(EntityInfo): # @ApiMember(Description="The state of the session") dial_state: Optional[SessionDialState] = None """ The state of the session """ # @ApiMember(Description="The call state of the session") call_state: Optional[SessionCallState] = None """ The call state of the session """ # @ApiMember(Description="The queue state of the session") queue_state: Optional[SessionQueueStates] = None """ The queue state of the session """ # @ApiMember(Description="The ID of the account associated with the flow") account_id: Optional[str] = None """ The ID of the account associated with the flow """ # @ApiMember(Description="The name of the account associated with the session") account_name: Optional[str] = None """ The name of the account associated with the session """ # @ApiMember(Description="The ID of the customer this session is associated with") customer_id: Optional[str] = None """ The ID of the customer this session is associated with """ # @ApiMember(Description="The customer breadcrumb this session is associated with") customer_breadcrumb: Optional[List[CustomerBreadcrumb]] = None """ The customer breadcrumb this session is associated with """ # @ApiMember(Description="The name of the customer this session is associated with") customer_name: Optional[str] = None """ The name of the customer this session is associated with """ # @ApiMember(Description="The ID of the endpoint associated with this session") endpoint_id: Optional[str] = None """ The ID of the endpoint associated with this session """ # @ApiMember(Description="The name of the endpoint associated with this session") endpoint_name: Optional[str] = None """ The name of the endpoint associated with this session """ # @ApiMember(Description="The date the call completed") date_completed: Optional[str] = None """ The date the call completed """ # @ApiMember(Description="The destination of the session (e.g. what was entered into the Dial box)") destination: Optional[str] = None """ The destination of the session (e.g. what was entered into the Dial box) """ # @ApiMember(Description="The to address if any") to_address: Optional[str] = None """ The to address if any """ # @ApiMember(Description="The from address if any") from_address: Optional[str] = None """ The from address if any """ # @ApiMember(Description="The from name if any") from_name: Optional[str] = None """ The from name if any """ # @ApiMember(Description="Answered by name (if any)") answered_by_name: Optional[str] = None """ Answered by name (if any) """ # @ApiMember(Description="The ID of the queue member assigned to this call") queue_member_id: Optional[str] = None """ The ID of the queue member assigned to this call """ # @ApiMember(Description="The flow channel") channel: Optional[FlowChannels] = None """ The flow channel """ # @ApiMember(Description="Has the session ended") ended: bool = False """ Has the session ended """ # @ApiMember(Description="The outcome of the call") outcome: Optional[str] = None """ The outcome of the call """ # @ApiMember(Description="The twilio Call SID of this session") call_sid: Optional[str] = None """ The twilio Call SID of this session """ # @ApiMember(Description="Any console data for this session") console_data: Optional[str] = None """ Any console data for this session """ # @ApiMember(Description="The name of the hold queue for this call") hold_queue_name: Optional[str] = None """ The name of the hold queue for this call """ # @ApiMember(Description="The user ID who put this call on hold") held_by_user_id: Optional[str] = None """ The user ID who put this call on hold """ # @ApiMember(Description="The reason for the hold") hold_reason: Optional[SessionHoldReasons] = None """ The reason for the hold """ # @ApiMember(Description="The SID of the conference if in a conference call") conference_sid: Optional[str] = None """ The SID of the conference if in a conference call """ # @ApiMember(Description="The display name for this session") display_name: Optional[str] = None """ The display name for this session """ # @ApiMember(Description="The log entries for this session") log: Optional[List[SessionLogInfo]] = None """ The log entries for this session """ # @ApiMember(Description="The members of this session") members: Optional[List[SessionMemberInfo]] = None """ The members of this session """ # @ApiMember(Description="The callback number (typically used for SIP to User calls)") callback_number: Optional[str] = None """ The callback number (typically used for SIP to User calls) """ # @ApiMember(Description="The ID of the endpoint that answered") answered_by_id: Optional[str] = None """ The ID of the endpoint that answered """ # @ApiMember(Description="Is this session incoming or outgoing?") direction: Optional[SessionDirections] = None """ Is this session incoming or outgoing? """ # @ApiMember(Description="The phone number that this session is coming from (used with SMS chats)") from_phone_number: Optional[str] = None """ The phone number that this session is coming from (used with SMS chats) """ # @ApiMember(Description="The Call SID of the most recently added conference participant") most_recent_participant_call_sid: Optional[str] = None """ The Call SID of the most recently added conference participant """ # @ApiMember(Description="Was this session missed?") was_missed: bool = False """ Was this session missed? """ # @ApiMember(Description="The ring queue that the call is currently in") ring_queue_id: Optional[str] = None """ The ring queue that the call is currently in """ @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetMySessionsResponse: sessions: Optional[List[SessionInfo]] = None # @Route("/sessions/my", "GET") # @Api(Description="Get all your active sessions") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class GetMySessions(IReturn[GetMySessionsResponse], IGet): """ Get all your active sessions """ pass