/* Options: Date: 2025-05-04 20:20:52 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RejectSession.* //ExcludeTypes: //DefaultImports: */ export class NodeParameterMap { [key:string] : NodeParameter; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IReturn { createResponse(): T; } export interface IPost { } export enum FlowChannels { Voice = 'Voice', Chat = 'Chat', Fax = 'Fax', } export enum SessionDirections { Incoming = 'Incoming', Outgoing = 'Outgoing', } export enum SessionCallState { Disconnected = 'Disconnected', Ringing = 'Ringing', Connected = 'Connected', Hold = 'Hold', Passive = 'Passive', } export enum SessionHoldReasons { None = 'None', Transferring = 'Transferring', } export enum SessionQueueStates { None = 'None', Queued = 'Queued', Ringing = 'Ringing', Connected = 'Connected', Hold = 'Hold', Disconnected = 'Disconnected', } export class EntityInfo { /** @description The ID of the object */ // @ApiMember(Description="The ID of the object") public id: string; /** @description The date the object was created */ // @ApiMember(Description="The date the object was created") public dateCreated: string; /** @description The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public dateLastModified: string; /** @description The user that created this object */ // @ApiMember(Description="The user that created this object") public createdBy: string; /** @description The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public lastModifiedBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerBreadcrumb { public id: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum SessionDialState { None = 'None', Active = 'Active', } export class SessionLogInfo { public date: string; public message: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum SessionMemberCallState { None = 'None', Ringing = 'Ringing', Connected = 'Connected', Hold = 'Hold', } export enum SessionMemberRoles { None = 'None', Caller = 'Caller', Agent = 'Agent', Transfer = 'Transfer', } export class SessionMemberInfo { public identity: string; public endpointId: string; public displayName: string; public isOriginalMember: boolean; public avatarUrl: string; public applicationData: { [index:string]: string; }; public callState: SessionMemberCallState; public role: SessionMemberRoles; public callSid: string; public muted: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SessionInfo extends EntityInfo { /** @description The state of the session */ // @ApiMember(Description="The state of the session") public dialState: SessionDialState; /** @description The call state of the session */ // @ApiMember(Description="The call state of the session") public callState: SessionCallState; /** @description The queue state of the session */ // @ApiMember(Description="The queue state of the session") public queueState: SessionQueueStates; /** @description The ID of the account associated with the flow */ // @ApiMember(Description="The ID of the account associated with the flow") public accountId: string; /** @description The name of the account associated with the session */ // @ApiMember(Description="The name of the account associated with the session") public accountName: string; /** @description The ID of the customer this session is associated with */ // @ApiMember(Description="The ID of the customer this session is associated with") public customerId: string; /** @description The customer breadcrumb this session is associated with */ // @ApiMember(Description="The customer breadcrumb this session is associated with") public customerBreadcrumb: CustomerBreadcrumb[]; /** @description The name of the customer this session is associated with */ // @ApiMember(Description="The name of the customer this session is associated with") public customerName: string; /** @description The ID of the endpoint associated with this session */ // @ApiMember(Description="The ID of the endpoint associated with this session") public endpointId: string; /** @description The name of the endpoint associated with this session */ // @ApiMember(Description="The name of the endpoint associated with this session") public endpointName: string; /** @description The date the call completed */ // @ApiMember(Description="The date the call completed") public dateCompleted: string; /** @description The destination of the session (e.g. what was entered into the Dial box) */ // @ApiMember(Description="The destination of the session (e.g. what was entered into the Dial box)") public destination: string; /** @description The to address if any */ // @ApiMember(Description="The to address if any") public toAddress: string; /** @description The from address if any */ // @ApiMember(Description="The from address if any") public fromAddress: string; /** @description The from name if any */ // @ApiMember(Description="The from name if any") public fromName: string; /** @description Answered by name (if any) */ // @ApiMember(Description="Answered by name (if any)") public answeredByName: string; /** @description The ID of the queue member assigned to this call */ // @ApiMember(Description="The ID of the queue member assigned to this call") public queueMemberId: string; /** @description The flow channel */ // @ApiMember(Description="The flow channel") public channel: FlowChannels; /** @description Has the session ended */ // @ApiMember(Description="Has the session ended") public ended: boolean; /** @description The outcome of the call */ // @ApiMember(Description="The outcome of the call") public outcome: string; /** @description The twilio Call SID of this session */ // @ApiMember(Description="The twilio Call SID of this session") public callSid: string; /** @description Any console data for this session */ // @ApiMember(Description="Any console data for this session") public consoleData: string; /** @description The name of the hold queue for this call */ // @ApiMember(Description="The name of the hold queue for this call") public holdQueueName: string; /** @description The user ID who put this call on hold */ // @ApiMember(Description="The user ID who put this call on hold") public heldByUserId: string; /** @description The reason for the hold */ // @ApiMember(Description="The reason for the hold") public holdReason: SessionHoldReasons; /** @description The SID of the conference if in a conference call */ // @ApiMember(Description="The SID of the conference if in a conference call") public conferenceSid: string; /** @description The display name for this session */ // @ApiMember(Description="The display name for this session") public displayName: string; /** @description The log entries for this session */ // @ApiMember(Description="The log entries for this session") public log: SessionLogInfo[]; /** @description The members of this session */ // @ApiMember(Description="The members of this session") public members: SessionMemberInfo[]; /** @description The callback number (typically used for SIP to User calls) */ // @ApiMember(Description="The callback number (typically used for SIP to User calls)") public callbackNumber: string; /** @description The ID of the endpoint that answered */ // @ApiMember(Description="The ID of the endpoint that answered") public answeredById: string; /** @description Is this session incoming or outgoing? */ // @ApiMember(Description="Is this session incoming or outgoing?") public direction: SessionDirections; /** @description The phone number that this session is coming from (used with SMS chats) */ // @ApiMember(Description="The phone number that this session is coming from (used with SMS chats)") public fromPhoneNumber: string; /** @description The Call SID of the most recently added conference participant */ // @ApiMember(Description="The Call SID of the most recently added conference participant") public mostRecentParticipantCallSid: string; /** @description Was this session missed? */ // @ApiMember(Description="Was this session missed?") public wasMissed: boolean; /** @description The ring queue that the call is currently in */ // @ApiMember(Description="The ring queue that the call is currently in") public ringQueueId: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** @description Reject the specified session. Only valid on queue calls. */ // @Route("/sessions/{sessionId}/reject", "POST") // @Api(Description="Reject the specified session. Only valid on queue calls.") export class RejectSession implements IReturn, IPost { /** @description The ID of the session to reject */ // @ApiMember(Description="The ID of the session to reject") public sessionId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'RejectSession'; } public getMethod() { return 'POST'; } public createResponse() { return new SessionInfo(); } }