/* Options:
Date: 2025-05-04 22:46:23
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: PatchSession.*
//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;
namespace Voice.Api
{
public partial class EntityInfo
{
///
///The ID of the object
///
[ApiMember(Description="The ID of the object")]
public virtual string Id { get; set; }
///
///The date the object was created
///
[ApiMember(Description="The date the object was created")]
public virtual string DateCreated { get; set; }
///
///The date the object was last modified
///
[ApiMember(Description="The date the object was last modified")]
public virtual string DateLastModified { get; set; }
///
///The user that created this object
///
[ApiMember(Description="The user that created this object")]
public virtual string CreatedBy { get; set; }
///
///The user that last modified this object
///
[ApiMember(Description="The user that last modified this object")]
public virtual string LastModifiedBy { 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
{
[Route("/sessions/{sessionId}", "PATCH")]
public partial class PatchSession
: IReturn
{
public virtual string SessionId { get; set; }
public virtual string ConsoleData { get; set; }
public virtual SessionCallState? CallState { get; set; }
public virtual SessionHoldReasons? HoldReason { get; set; }
public virtual SessionQueueStates? QueueState { get; set; }
}
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
{
///
///The state of the session
///
[ApiMember(Description="The state of the session")]
public virtual SessionDialState DialState { get; set; }
///
///The call state of the session
///
[ApiMember(Description="The call state of the session")]
public virtual SessionCallState CallState { get; set; }
///
///The queue state of the session
///
[ApiMember(Description="The queue state of the session")]
public virtual SessionQueueStates QueueState { get; set; }
///
///The ID of the account associated with the flow
///
[ApiMember(Description="The ID of the account associated with the flow")]
public virtual string AccountId { get; set; }
///
///The name of the account associated with the session
///
[ApiMember(Description="The name of the account associated with the session")]
public virtual string AccountName { get; set; }
///
///The ID of the customer this session is associated with
///
[ApiMember(Description="The ID of the customer this session is associated with")]
public virtual string CustomerId { get; set; }
///
///The customer breadcrumb this session is associated with
///
[ApiMember(Description="The customer breadcrumb this session is associated with")]
public virtual List CustomerBreadcrumb { get; set; }
///
///The name of the customer this session is associated with
///
[ApiMember(Description="The name of the customer this session is associated with")]
public virtual string CustomerName { get; set; }
///
///The ID of the endpoint associated with this session
///
[ApiMember(Description="The ID of the endpoint associated with this session")]
public virtual string EndpointId { get; set; }
///
///The name of the endpoint associated with this session
///
[ApiMember(Description="The name of the endpoint associated with this session")]
public virtual string EndpointName { get; set; }
///
///The date the call completed
///
[ApiMember(Description="The date the call completed")]
public virtual string DateCompleted { get; set; }
///
///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 virtual string Destination { get; set; }
///
///The to address if any
///
[ApiMember(Description="The to address if any")]
public virtual string ToAddress { get; set; }
///
///The from address if any
///
[ApiMember(Description="The from address if any")]
public virtual string FromAddress { get; set; }
///
///The from name if any
///
[ApiMember(Description="The from name if any")]
public virtual string FromName { get; set; }
///
///Answered by name (if any)
///
[ApiMember(Description="Answered by name (if any)")]
public virtual string AnsweredByName { get; set; }
///
///The ID of the queue member assigned to this call
///
[ApiMember(Description="The ID of the queue member assigned to this call")]
public virtual string QueueMemberId { get; set; }
///
///The flow channel
///
[ApiMember(Description="The flow channel")]
public virtual FlowChannels Channel { get; set; }
///
///Has the session ended
///
[ApiMember(Description="Has the session ended")]
public virtual bool Ended { get; set; }
///
///The outcome of the call
///
[ApiMember(Description="The outcome of the call")]
public virtual string Outcome { get; set; }
///
///The twilio Call SID of this session
///
[ApiMember(Description="The twilio Call SID of this session")]
public virtual string CallSid { get; set; }
///
///Any console data for this session
///
[ApiMember(Description="Any console data for this session")]
public virtual string ConsoleData { get; set; }
///
///The name of the hold queue for this call
///
[ApiMember(Description="The name of the hold queue for this call")]
public virtual string HoldQueueName { get; set; }
///
///The user ID who put this call on hold
///
[ApiMember(Description="The user ID who put this call on hold")]
public virtual string HeldByUserId { get; set; }
///
///The reason for the hold
///
[ApiMember(Description="The reason for the hold")]
public virtual SessionHoldReasons HoldReason { get; set; }
///
///The SID of the conference if in a conference call
///
[ApiMember(Description="The SID of the conference if in a conference call")]
public virtual string ConferenceSid { get; set; }
///
///The display name for this session
///
[ApiMember(Description="The display name for this session")]
public virtual string DisplayName { get; set; }
///
///The log entries for this session
///
[ApiMember(Description="The log entries for this session")]
public virtual List Log { get; set; }
///
///The members of this session
///
[ApiMember(Description="The members of this session")]
public virtual List Members { get; set; }
///
///The callback number (typically used for SIP to User calls)
///
[ApiMember(Description="The callback number (typically used for SIP to User calls)")]
public virtual string CallbackNumber { get; set; }
///
///The ID of the endpoint that answered
///
[ApiMember(Description="The ID of the endpoint that answered")]
public virtual string AnsweredById { get; set; }
///
///Is this session incoming or outgoing?
///
[ApiMember(Description="Is this session incoming or outgoing?")]
public virtual SessionDirections Direction { get; set; }
///
///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 virtual string FromPhoneNumber { get; set; }
///
///The Call SID of the most recently added conference participant
///
[ApiMember(Description="The Call SID of the most recently added conference participant")]
public virtual string MostRecentParticipantCallSid { get; set; }
///
///Was this session missed?
///
[ApiMember(Description="Was this session missed?")]
public virtual bool WasMissed { get; set; }
///
///The ring queue that the call is currently in
///
[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 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,
}
}