/* Options: Date: 2025-07-17 21:01:33 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: False //ExportValueTypes: False IncludeTypes: AppUpdateSession.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using Voice.Api.Flows; using Voice.Api.Sessions; using Voice.Api; using Voice.Api.Customers; using Voice.Api.App.Portal; namespace Voice.Api { public partial class EntityInfo { ///<summary> ///The ID of the object ///</summary> [ApiMember(Description="The ID of the object")] public virtual string Id { get; set; } ///<summary> ///The date the object was created ///</summary> [ApiMember(Description="The date the object was created")] public virtual string DateCreated { get; set; } ///<summary> ///The date the object was last modified ///</summary> [ApiMember(Description="The date the object was last modified")] public virtual string DateLastModified { get; set; } ///<summary> ///The user that created this object ///</summary> [ApiMember(Description="The user that created this object")] public virtual string CreatedBy { get; set; } ///<summary> ///The user that last modified this object ///</summary> [ApiMember(Description="The user that last modified this object")] public virtual string LastModifiedBy { get; set; } } } namespace Voice.Api.App.Portal { [Route("/portal/session", "PATCH")] public partial class AppUpdateSession : IReturn<SessionInfo> { public virtual string SessionId { get; set; } public virtual bool HideInApp { get; set; } } } namespace Voice.Api.Customers { public partial class CustomerBreadcrumb { public virtual string Id { get; set; } public virtual string Name { get; set; } } } namespace Voice.Api.Flows { public enum FlowChannels { Voice, Chat, Fax, } } namespace Voice.Api.Sessions { public enum SessionCallState { Disconnected, Ringing, Connected, Hold, Passive, } public enum SessionDialState { None, Active, } public enum SessionDirections { Incoming, Outgoing, } public enum SessionHoldReasons { None, Transferring, } public partial class SessionInfo : EntityInfo { ///<summary> ///The state of the session ///</summary> [ApiMember(Description="The state of the session")] public virtual SessionDialState DialState { get; set; } ///<summary> ///The call state of the session ///</summary> [ApiMember(Description="The call state of the session")] public virtual SessionCallState CallState { get; set; } ///<summary> ///The queue state of the session ///</summary> [ApiMember(Description="The queue state of the session")] public virtual SessionQueueStates QueueState { get; set; } ///<summary> ///The ID of the account associated with the flow ///</summary> [ApiMember(Description="The ID of the account associated with the flow")] public virtual string AccountId { get; set; } ///<summary> ///The name of the account associated with the session ///</summary> [ApiMember(Description="The name of the account associated with the session")] public virtual string AccountName { get; set; } ///<summary> ///The ID of the customer this session is associated with ///</summary> [ApiMember(Description="The ID of the customer this session is associated with")] public virtual string CustomerId { get; set; } ///<summary> ///The customer breadcrumb this session is associated with ///</summary> [ApiMember(Description="The customer breadcrumb this session is associated with")] public virtual List<CustomerBreadcrumb> CustomerBreadcrumb { get; set; } ///<summary> ///The name of the customer this session is associated with ///</summary> [ApiMember(Description="The name of the customer this session is associated with")] public virtual string CustomerName { get; set; } ///<summary> ///The ID of the endpoint associated with this session ///</summary> [ApiMember(Description="The ID of the endpoint associated with this session")] public virtual string EndpointId { get; set; } ///<summary> ///The name of the endpoint associated with this session ///</summary> [ApiMember(Description="The name of the endpoint associated with this session")] public virtual string EndpointName { get; set; } ///<summary> ///The date the call completed ///</summary> [ApiMember(Description="The date the call completed")] public virtual string DateCompleted { get; set; } ///<summary> ///The destination of the session (e.g. what was entered into the Dial box) ///</summary> [ApiMember(Description="The destination of the session (e.g. what was entered into the Dial box)")] public virtual string Destination { get; set; } ///<summary> ///The to address if any ///</summary> [ApiMember(Description="The to address if any")] public virtual string ToAddress { get; set; } ///<summary> ///The from address if any ///</summary> [ApiMember(Description="The from address if any")] public virtual string FromAddress { get; set; } ///<summary> ///The from name if any ///</summary> [ApiMember(Description="The from name if any")] public virtual string FromName { get; set; } ///<summary> ///Answered by name (if any) ///</summary> [ApiMember(Description="Answered by name (if any)")] public virtual string AnsweredByName { get; set; } ///<summary> ///The ID of the queue member assigned to this call ///</summary> [ApiMember(Description="The ID of the queue member assigned to this call")] public virtual string QueueMemberId { get; set; } ///<summary> ///The flow channel ///</summary> [ApiMember(Description="The flow channel")] public virtual FlowChannels Channel { get; set; } ///<summary> ///Has the session ended ///</summary> [ApiMember(Description="Has the session ended")] public virtual bool Ended { get; set; } ///<summary> ///The outcome of the call ///</summary> [ApiMember(Description="The outcome of the call")] public virtual string Outcome { get; set; } ///<summary> ///The twilio Call SID of this session ///</summary> [ApiMember(Description="The twilio Call SID of this session")] public virtual string CallSid { get; set; } ///<summary> ///Any console data for this session ///</summary> [ApiMember(Description="Any console data for this session")] public virtual string ConsoleData { get; set; } ///<summary> ///The name of the hold queue for this call ///</summary> [ApiMember(Description="The name of the hold queue for this call")] public virtual string HoldQueueName { get; set; } ///<summary> ///The user ID who put this call on hold ///</summary> [ApiMember(Description="The user ID who put this call on hold")] public virtual string HeldByUserId { get; set; } ///<summary> ///The reason for the hold ///</summary> [ApiMember(Description="The reason for the hold")] public virtual SessionHoldReasons HoldReason { get; set; } ///<summary> ///The SID of the conference if in a conference call ///</summary> [ApiMember(Description="The SID of the conference if in a conference call")] public virtual string ConferenceSid { get; set; } ///<summary> ///The display name for this session ///</summary> [ApiMember(Description="The display name for this session")] public virtual string DisplayName { get; set; } ///<summary> ///The log entries for this session ///</summary> [ApiMember(Description="The log entries for this session")] public virtual List<SessionLogInfo> Log { get; set; } ///<summary> ///The members of this session ///</summary> [ApiMember(Description="The members of this session")] public virtual List<SessionMemberInfo> Members { get; set; } ///<summary> ///The callback number (typically used for SIP to User calls) ///</summary> [ApiMember(Description="The callback number (typically used for SIP to User calls)")] public virtual string CallbackNumber { get; set; } ///<summary> ///The ID of the endpoint that answered ///</summary> [ApiMember(Description="The ID of the endpoint that answered")] public virtual string AnsweredById { get; set; } ///<summary> ///Is this session incoming or outgoing? ///</summary> [ApiMember(Description="Is this session incoming or outgoing?")] public virtual SessionDirections Direction { get; set; } ///<summary> ///The phone number that this session is coming from (used with SMS chats) ///</summary> [ApiMember(Description="The phone number that this session is coming from (used with SMS chats)")] public virtual string FromPhoneNumber { get; set; } ///<summary> ///The Call SID of the most recently added conference participant ///</summary> [ApiMember(Description="The Call SID of the most recently added conference participant")] public virtual string MostRecentParticipantCallSid { get; set; } ///<summary> ///Was this session missed? ///</summary> [ApiMember(Description="Was this session missed?")] public virtual bool WasMissed { get; set; } ///<summary> ///The ring queue that the call is currently in ///</summary> [ApiMember(Description="The ring queue that the call is currently in")] public virtual string RingQueueId { get; set; } } public partial class SessionLogInfo { public virtual string Date { get; set; } public virtual string Message { get; set; } } public enum SessionMemberCallState { None, Ringing, Connected, Hold, } public partial class SessionMemberInfo { public virtual string Identity { get; set; } public virtual string EndpointId { get; set; } public virtual string DisplayName { get; set; } public virtual bool IsOriginalMember { get; set; } public virtual string AvatarUrl { get; set; } public virtual Dictionary<string, string> ApplicationData { get; set; } public virtual SessionMemberCallState CallState { get; set; } public virtual SessionMemberRoles Role { get; set; } public virtual string CallSid { get; set; } public virtual bool Muted { get; set; } } public enum SessionMemberRoles { None, Caller, Agent, Transfer, } public enum SessionQueueStates { None, Queued, Ringing, Connected, Hold, Disconnected, } }