/* Options: Date: 2025-05-04 22:42:24 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: NewSession.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.*; import java.util.*; import java.io.InputStream; import net.servicestack.client.*; public class dtos { /** * Create a new session */ @Route(Path="/sessions", Verbs="POST") @Api(Description="Create a new session") public static class NewSession implements IReturn, IPost { /** * A display name for this session */ @ApiMember(Description="A display name for this session") public String displayName = null; /** * The type of session */ @ApiMember(Description="The type of session") public FlowChannels channel = null; /** * The session direction (defaults to Outgoing) */ @ApiMember(Description="The session direction (defaults to Outgoing)") public SessionDirections direction = null; /** * The current session call state (defaults to Connected) */ @ApiMember(Description="The current session call state (defaults to Connected)") public SessionCallState callState = null; /** * The From address for the session (defaults to user's email) */ @ApiMember(Description="The From address for the session (defaults to user's email)") public String fromAddress = null; /** * The From name for the session */ @ApiMember(Description="The From name for the session") public String fromName = null; /** * The To address for the session */ @ApiMember(Description="The To address for the session") public String toAddress = null; /** * Parent session (e.g. for billing purposes) */ @ApiMember(Description="Parent session (e.g. for billing purposes)") public String parentSessionId = null; /** * Specify a customer to associate with this session */ @ApiMember(Description="Specify a customer to associate with this session") public String customerId = null; /** * Start a chat session with a specified user/team (e.g. user:userid or team:teamid) */ @ApiMember(Description="Start a chat session with a specified user/team (e.g. user:userid or team:teamid)") public String withAddress = null; /** * Use the specified caller ID (if dialing out) */ @ApiMember(Description="Use the specified caller ID (if dialing out)") public String fromPhoneNumber = null; /** * The dialed destination value */ @ApiMember(Description="The dialed destination value") public String destination = null; /** * User email addresses to add as members */ @ApiMember(Description="User email addresses to add as members") public ArrayList memberEmailAddresses = null; /** * Start the session's flow? */ @ApiMember(Description="Start the session's flow?") public Boolean startSession = null; public String getDisplayName() { return displayName; } public NewSession setDisplayName(String value) { this.displayName = value; return this; } public FlowChannels getChannel() { return channel; } public NewSession setChannel(FlowChannels value) { this.channel = value; return this; } public SessionDirections getDirection() { return direction; } public NewSession setDirection(SessionDirections value) { this.direction = value; return this; } public SessionCallState getCallState() { return callState; } public NewSession setCallState(SessionCallState value) { this.callState = value; return this; } public String getFromAddress() { return fromAddress; } public NewSession setFromAddress(String value) { this.fromAddress = value; return this; } public String getFromName() { return fromName; } public NewSession setFromName(String value) { this.fromName = value; return this; } public String getToAddress() { return toAddress; } public NewSession setToAddress(String value) { this.toAddress = value; return this; } public String getParentSessionId() { return parentSessionId; } public NewSession setParentSessionId(String value) { this.parentSessionId = value; return this; } public String getCustomerId() { return customerId; } public NewSession setCustomerId(String value) { this.customerId = value; return this; } public String getWithAddress() { return withAddress; } public NewSession setWithAddress(String value) { this.withAddress = value; return this; } public String getFromPhoneNumber() { return fromPhoneNumber; } public NewSession setFromPhoneNumber(String value) { this.fromPhoneNumber = value; return this; } public String getDestination() { return destination; } public NewSession setDestination(String value) { this.destination = value; return this; } public ArrayList getMemberEmailAddresses() { return memberEmailAddresses; } public NewSession setMemberEmailAddresses(ArrayList value) { this.memberEmailAddresses = value; return this; } public Boolean isStartSession() { return startSession; } public NewSession setStartSession(Boolean value) { this.startSession = value; return this; } private static Object responseType = SessionInfo.class; public Object getResponseType() { return responseType; } } public static class SessionInfo extends EntityInfo { /** * The state of the session */ @ApiMember(Description="The state of the session") public SessionDialState dialState = null; /** * The call state of the session */ @ApiMember(Description="The call state of the session") public SessionCallState callState = null; /** * The queue state of the session */ @ApiMember(Description="The queue state of the session") public SessionQueueStates queueState = null; /** * The ID of the account associated with the flow */ @ApiMember(Description="The ID of the account associated with the flow") public String accountId = null; /** * The name of the account associated with the session */ @ApiMember(Description="The name of the account associated with the session") public String accountName = null; /** * The ID of the customer this session is associated with */ @ApiMember(Description="The ID of the customer this session is associated with") public String customerId = null; /** * The customer breadcrumb this session is associated with */ @ApiMember(Description="The customer breadcrumb this session is associated with") public ArrayList customerBreadcrumb = null; /** * The name of the customer this session is associated with */ @ApiMember(Description="The name of the customer this session is associated with") public String customerName = null; /** * The ID of the endpoint associated with this session */ @ApiMember(Description="The ID of the endpoint associated with this session") public String endpointId = null; /** * The name of the endpoint associated with this session */ @ApiMember(Description="The name of the endpoint associated with this session") public String endpointName = null; /** * The date the call completed */ @ApiMember(Description="The date the call completed") public String dateCompleted = null; /** * 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 String destination = null; /** * The to address if any */ @ApiMember(Description="The to address if any") public String toAddress = null; /** * The from address if any */ @ApiMember(Description="The from address if any") public String fromAddress = null; /** * The from name if any */ @ApiMember(Description="The from name if any") public String fromName = null; /** * Answered by name (if any) */ @ApiMember(Description="Answered by name (if any)") public String answeredByName = null; /** * The ID of the queue member assigned to this call */ @ApiMember(Description="The ID of the queue member assigned to this call") public String queueMemberId = null; /** * The flow channel */ @ApiMember(Description="The flow channel") public FlowChannels channel = null; /** * Has the session ended */ @ApiMember(Description="Has the session ended") public Boolean ended = null; /** * The outcome of the call */ @ApiMember(Description="The outcome of the call") public String outcome = null; /** * The twilio Call SID of this session */ @ApiMember(Description="The twilio Call SID of this session") public String callSid = null; /** * Any console data for this session */ @ApiMember(Description="Any console data for this session") public String consoleData = null; /** * The name of the hold queue for this call */ @ApiMember(Description="The name of the hold queue for this call") public String holdQueueName = null; /** * The user ID who put this call on hold */ @ApiMember(Description="The user ID who put this call on hold") public String heldByUserId = null; /** * The reason for the hold */ @ApiMember(Description="The reason for the hold") public SessionHoldReasons holdReason = null; /** * The SID of the conference if in a conference call */ @ApiMember(Description="The SID of the conference if in a conference call") public String conferenceSid = null; /** * The display name for this session */ @ApiMember(Description="The display name for this session") public String displayName = null; /** * The log entries for this session */ @ApiMember(Description="The log entries for this session") public ArrayList log = null; /** * The members of this session */ @ApiMember(Description="The members of this session") public ArrayList members = null; /** * The callback number (typically used for SIP to User calls) */ @ApiMember(Description="The callback number (typically used for SIP to User calls)") public String callbackNumber = null; /** * The ID of the endpoint that answered */ @ApiMember(Description="The ID of the endpoint that answered") public String answeredById = null; /** * Is this session incoming or outgoing? */ @ApiMember(Description="Is this session incoming or outgoing?") public SessionDirections direction = null; /** * 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 String fromPhoneNumber = null; /** * The Call SID of the most recently added conference participant */ @ApiMember(Description="The Call SID of the most recently added conference participant") public String mostRecentParticipantCallSid = null; /** * Was this session missed? */ @ApiMember(Description="Was this session missed?") public Boolean wasMissed = null; /** * The ring queue that the call is currently in */ @ApiMember(Description="The ring queue that the call is currently in") public String ringQueueId = null; public SessionDialState getDialState() { return dialState; } public SessionInfo setDialState(SessionDialState value) { this.dialState = value; return this; } public SessionCallState getCallState() { return callState; } public SessionInfo setCallState(SessionCallState value) { this.callState = value; return this; } public SessionQueueStates getQueueState() { return queueState; } public SessionInfo setQueueState(SessionQueueStates value) { this.queueState = value; return this; } public String getAccountId() { return accountId; } public SessionInfo setAccountId(String value) { this.accountId = value; return this; } public String getAccountName() { return accountName; } public SessionInfo setAccountName(String value) { this.accountName = value; return this; } public String getCustomerId() { return customerId; } public SessionInfo setCustomerId(String value) { this.customerId = value; return this; } public ArrayList getCustomerBreadcrumb() { return customerBreadcrumb; } public SessionInfo setCustomerBreadcrumb(ArrayList value) { this.customerBreadcrumb = value; return this; } public String getCustomerName() { return customerName; } public SessionInfo setCustomerName(String value) { this.customerName = value; return this; } public String getEndpointId() { return endpointId; } public SessionInfo setEndpointId(String value) { this.endpointId = value; return this; } public String getEndpointName() { return endpointName; } public SessionInfo setEndpointName(String value) { this.endpointName = value; return this; } public String getDateCompleted() { return dateCompleted; } public SessionInfo setDateCompleted(String value) { this.dateCompleted = value; return this; } public String getDestination() { return destination; } public SessionInfo setDestination(String value) { this.destination = value; return this; } public String getToAddress() { return toAddress; } public SessionInfo setToAddress(String value) { this.toAddress = value; return this; } public String getFromAddress() { return fromAddress; } public SessionInfo setFromAddress(String value) { this.fromAddress = value; return this; } public String getFromName() { return fromName; } public SessionInfo setFromName(String value) { this.fromName = value; return this; } public String getAnsweredByName() { return answeredByName; } public SessionInfo setAnsweredByName(String value) { this.answeredByName = value; return this; } public String getQueueMemberId() { return queueMemberId; } public SessionInfo setQueueMemberId(String value) { this.queueMemberId = value; return this; } public FlowChannels getChannel() { return channel; } public SessionInfo setChannel(FlowChannels value) { this.channel = value; return this; } public Boolean isEnded() { return ended; } public SessionInfo setEnded(Boolean value) { this.ended = value; return this; } public String getOutcome() { return outcome; } public SessionInfo setOutcome(String value) { this.outcome = value; return this; } public String getCallSid() { return callSid; } public SessionInfo setCallSid(String value) { this.callSid = value; return this; } public String getConsoleData() { return consoleData; } public SessionInfo setConsoleData(String value) { this.consoleData = value; return this; } public String getHoldQueueName() { return holdQueueName; } public SessionInfo setHoldQueueName(String value) { this.holdQueueName = value; return this; } public String getHeldByUserId() { return heldByUserId; } public SessionInfo setHeldByUserId(String value) { this.heldByUserId = value; return this; } public SessionHoldReasons getHoldReason() { return holdReason; } public SessionInfo setHoldReason(SessionHoldReasons value) { this.holdReason = value; return this; } public String getConferenceSid() { return conferenceSid; } public SessionInfo setConferenceSid(String value) { this.conferenceSid = value; return this; } public String getDisplayName() { return displayName; } public SessionInfo setDisplayName(String value) { this.displayName = value; return this; } public ArrayList getLog() { return log; } public SessionInfo setLog(ArrayList value) { this.log = value; return this; } public ArrayList getMembers() { return members; } public SessionInfo setMembers(ArrayList value) { this.members = value; return this; } public String getCallbackNumber() { return callbackNumber; } public SessionInfo setCallbackNumber(String value) { this.callbackNumber = value; return this; } public String getAnsweredById() { return answeredById; } public SessionInfo setAnsweredById(String value) { this.answeredById = value; return this; } public SessionDirections getDirection() { return direction; } public SessionInfo setDirection(SessionDirections value) { this.direction = value; return this; } public String getFromPhoneNumber() { return fromPhoneNumber; } public SessionInfo setFromPhoneNumber(String value) { this.fromPhoneNumber = value; return this; } public String getMostRecentParticipantCallSid() { return mostRecentParticipantCallSid; } public SessionInfo setMostRecentParticipantCallSid(String value) { this.mostRecentParticipantCallSid = value; return this; } public Boolean isWasMissed() { return wasMissed; } public SessionInfo setWasMissed(Boolean value) { this.wasMissed = value; return this; } public String getRingQueueId() { return ringQueueId; } public SessionInfo setRingQueueId(String value) { this.ringQueueId = value; return this; } } public static enum FlowChannels { Voice, Chat, Fax; } public static enum SessionDirections { Incoming, Outgoing; } public static enum SessionCallState { Disconnected, Ringing, Connected, Hold, Passive; } public static enum SessionHoldReasons { None, Transferring; } public static enum SessionQueueStates { None, Queued, Ringing, Connected, Hold, Disconnected; } public static class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") public String id = null; /** * The date the object was created */ @ApiMember(Description="The date the object was created") public String dateCreated = null; /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") public String dateLastModified = null; /** * The user that created this object */ @ApiMember(Description="The user that created this object") public String createdBy = null; /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") public String lastModifiedBy = null; public String getId() { return id; } public EntityInfo setId(String value) { this.id = value; return this; } public String getDateCreated() { return dateCreated; } public EntityInfo setDateCreated(String value) { this.dateCreated = value; return this; } public String getDateLastModified() { return dateLastModified; } public EntityInfo setDateLastModified(String value) { this.dateLastModified = value; return this; } public String getCreatedBy() { return createdBy; } public EntityInfo setCreatedBy(String value) { this.createdBy = value; return this; } public String getLastModifiedBy() { return lastModifiedBy; } public EntityInfo setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; } } public static class CustomerBreadcrumb { public String id = null; public String name = null; public String getId() { return id; } public CustomerBreadcrumb setId(String value) { this.id = value; return this; } public String getName() { return name; } public CustomerBreadcrumb setName(String value) { this.name = value; return this; } } public static enum SessionDialState { None, Active; } public static class SessionLogInfo { public String date = null; public String message = null; public String getDate() { return date; } public SessionLogInfo setDate(String value) { this.date = value; return this; } public String getMessage() { return message; } public SessionLogInfo setMessage(String value) { this.message = value; return this; } } public static class SessionMemberInfo { public String identity = null; public String endpointId = null; public String displayName = null; public Boolean isOriginalMember = null; public String avatarUrl = null; public HashMap applicationData = null; public SessionMemberCallState callState = null; public SessionMemberRoles role = null; public String callSid = null; public Boolean muted = null; public String getIdentity() { return identity; } public SessionMemberInfo setIdentity(String value) { this.identity = value; return this; } public String getEndpointId() { return endpointId; } public SessionMemberInfo setEndpointId(String value) { this.endpointId = value; return this; } public String getDisplayName() { return displayName; } public SessionMemberInfo setDisplayName(String value) { this.displayName = value; return this; } public Boolean getIsOriginalMember() { return isOriginalMember; } public SessionMemberInfo setIsOriginalMember(Boolean value) { this.isOriginalMember = value; return this; } public String getAvatarUrl() { return avatarUrl; } public SessionMemberInfo setAvatarUrl(String value) { this.avatarUrl = value; return this; } public HashMap getApplicationData() { return applicationData; } public SessionMemberInfo setApplicationData(HashMap value) { this.applicationData = value; return this; } public SessionMemberCallState getCallState() { return callState; } public SessionMemberInfo setCallState(SessionMemberCallState value) { this.callState = value; return this; } public SessionMemberRoles getRole() { return role; } public SessionMemberInfo setRole(SessionMemberRoles value) { this.role = value; return this; } public String getCallSid() { return callSid; } public SessionMemberInfo setCallSid(String value) { this.callSid = value; return this; } public Boolean isMuted() { return muted; } public SessionMemberInfo setMuted(Boolean value) { this.muted = value; return this; } } public static enum SessionMemberCallState { None, Ringing, Connected, Hold; } public static enum SessionMemberRoles { None, Caller, Agent, Transfer; } }