/* Options: Date: 2024-05-19 16:21:48 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://evovoice.io //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: BuyPhoneNumber.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using System.IO; using Voice.Api.Endpoints; using Voice.Api.Flows.Data; using Voice.Api.Customers; using Voice.Api.Authentication; using Voice.Api.Settings; using Voice.Api; using Voice.Api.Integrations; using Voice.Api.Scheduling; 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.Authentication { public enum DashboardPermissions { ViewFiles, ViewNotifications, ViewSessions, ViewEndpoints, ViewReports, ViewCustomers, ViewFlows, } } namespace Voice.Api.Customers { public partial class AppSettings { public virtual bool EnablePhoneNumberManagement { get; set; } public virtual bool EnableDeviceManagement { get; set; } public virtual bool EnableDialer { get; set; } public virtual bool EnableCallHistory { get; set; } public virtual bool ShowFileNameInMessageCenter { get; set; } public virtual string ChakraTheme { get; set; } public virtual string CustomCss { get; set; } public virtual string PageTitle { get; set; } public virtual string StringMappings { get; set; } public virtual string LogoutUrl { get; set; } public virtual string PortMyNumberUrl { get; set; } } public partial class CustomerBreadcrumb { public virtual string Id { get; set; } public virtual string Name { get; set; } } } namespace Voice.Api.Endpoints { public enum ActionUrlHttpMethods { GET, POST, } public enum AgentStateReasons { Unknown, SetByUser, MissedCall, SetBySystem, } public enum AgentStates { Unknown, Ready, NotReady, LoggedOut, WrapUp, Outgoing, Other, } /// ///Buys the specified phone number /// [Route("/endpoints/phone-numbers", "POST")] [Api(Description="Buys the specified phone number")] public partial class BuyPhoneNumber : IReturn, IPost { public BuyPhoneNumber() { TagIds = new List{}; } /// ///The ID of the account to associate the number with /// [ApiMember(Description="The ID of the account to associate the number with")] public virtual string AccountId { get; set; } /// ///The ID of the customer to associate this number with /// [ApiMember(Description="The ID of the customer to associate this number with")] public virtual string CustomerId { get; set; } /// ///The number to buy/create /// [ApiMember(Description="The number to buy/create")] public virtual string Number { get; set; } /// ///Is this number virtual? If so we will not buy but just create an entry /// [ApiMember(Description="Is this number virtual? If so we will not buy but just create an entry")] public virtual bool IsVirtualPhoneNumber { get; set; } /// ///Is this a fax number? /// [ApiMember(Description="Is this a fax number?")] public virtual bool IsFaxNumber { get; set; } /// ///The address SID to associate with the phone number /// [ApiMember(Description="The address SID to associate with the phone number")] public virtual string AddressSid { get; set; } /// ///The list of tags to associate with the new endpoint /// [ApiMember(Description="The list of tags to associate with the new endpoint")] public virtual List TagIds { get; set; } /// ///Data values for this endpoint /// [ApiMember(Description="Data values for this endpoint")] public virtual Struct Data { get; set; } /// ///Specify the flow to use /// [ApiMember(Description="Specify the flow to use")] public virtual string FlowId { get; set; } /// ///The flow params /// [ApiMember(Description="The flow params")] public virtual Struct FlowParams { get; set; } } public enum CustomerVisibility { None, CurrentCustomer, CurrentAndChildCustomers, } public partial class EndpointActionUrl { public virtual string Id { get; set; } public virtual string Url { get; set; } public virtual ActionUrlHttpMethods Method { get; set; } } public partial class EndpointContact { public virtual string Id { get; set; } public virtual string DisplayName { get; set; } public virtual string Address { get; set; } } public enum EndpointFlowSchedules { Always, Scheduled, Simple, } public partial class EndpointInfo : EntityInfo { public EndpointInfo() { CustomerBreadcrumb = new List{}; ScheduledFlows = new List{}; DashboardPermissions = new List{}; Tags = new List{}; ActionUrls = new List{}; TeamMemberIds = new List{}; Contacts = new List{}; } /// ///The account ID this endpoint is associated with /// [ApiMember(Description="The account ID this endpoint is associated with")] public virtual string AccountId { get; set; } /// ///The name of the account this endpoint is associated with /// [ApiMember(Description="The name of the account this endpoint is associated with")] public virtual string AccountName { get; set; } /// ///The ID of the customer this endpoint is associated with /// [ApiMember(Description="The ID of the customer this endpoint is associated with")] public virtual string CustomerId { get; set; } /// ///The name of the customer this endpoint is associated with /// [ApiMember(Description="The name of the customer this endpoint is associated with")] public virtual string CustomerName { get; set; } /// ///The third party reference ID for the endpoint /// [ApiMember(Description="The third party reference ID for the endpoint")] public virtual string ReferenceId { get; set; } /// ///The breadcrumb to the customer for this endpoint /// [ApiMember(Description="The breadcrumb to the customer for this endpoint")] public virtual List CustomerBreadcrumb { get; set; } /// ///The display name of the endpoint /// [ApiMember(Description="The display name of the endpoint")] public virtual string DisplayName { get; set; } /// ///The type of endpoint /// [ApiMember(Description="The type of endpoint")] public virtual EndpointTypes Type { get; set; } /// ///Extra info for this endpoint (typically to show in grid) /// [ApiMember(Description="Extra info for this endpoint (typically to show in grid)")] public virtual string ExtraInformation { get; set; } /// ///The ID of the flow to use for voice /// [ApiMember(Description="The ID of the flow to use for voice")] public virtual string FlowId { get; set; } /// ///The name of the flow to use for voice /// [ApiMember(Description="The name of the flow to use for voice")] public virtual string FlowName { get; set; } /// ///The params for the voice flow /// [ApiMember(Description="The params for the voice flow")] public virtual Struct FlowParams { get; set; } /// ///Whether to use a single flow always or use scheduled flow system /// [ApiMember(Description="Whether to use a single flow always or use scheduled flow system")] public virtual EndpointFlowSchedules FlowSchedule { get; set; } /// ///This endpoint's schedule /// [ApiMember(Description="This endpoint's schedule")] public virtual Schedule Schedule { get; set; } /// ///The list of scheduled flows when using scheduling /// [ApiMember(Description="The list of scheduled flows when using scheduling")] public virtual List ScheduledFlows { get; set; } /// ///Disable SMS /// [ApiMember(Description="Disable SMS")] public virtual bool DisableSms { get; set; } /// ///Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number /// [ApiMember(Description="Set this to true to prevent Evo Voice from overriding the 10DLC / SMS settings for this number")] public virtual bool UseExternal10DlcCampaign { get; set; } /// ///Is this a virtual phone number? /// [ApiMember(Description="Is this a virtual phone number?")] public virtual bool IsVirtualPhoneNumber { get; set; } /// ///Is caller ID verified for this virtual number? /// [ApiMember(Description="Is caller ID verified for this virtual number?")] public virtual bool IsCallerIdVerified { get; set; } /// ///The verification code for this number /// [ApiMember(Description="The verification code for this number")] public virtual string CallerIdVerificationCode { get; set; } /// ///The phone number /// [ApiMember(Description="The phone number")] public virtual string PhoneNumber { get; set; } /// ///The Sid of the phone number /// [ApiMember(Description="The Sid of the phone number")] public virtual string PhoneNumberSid { get; set; } /// ///The caller ID Name (CNAM) for the phone number /// [ApiMember(Description="The caller ID Name (CNAM) for the phone number")] public virtual string CallerIdName { get; set; } /// ///The address SID associated with the phone number /// [ApiMember(Description="The address SID associated with the phone number")] public virtual string AddressSid { get; set; } /// ///Do not touch this phone number - for BYOA accounts /// [ApiMember(Description="Do not touch this phone number - for BYOA accounts")] public virtual bool DoNotTouchPhoneNumber { get; set; } /// ///Is this number enrolled in a 10DLC messaging service campaign /// [ApiMember(Description="Is this number enrolled in a 10DLC messaging service campaign")] public virtual bool IsEnrolledIn10DlcService { get; set; } /// ///Whether we look up caller ID or not /// [ApiMember(Description="Whether we look up caller ID or not")] public virtual bool EnableCallerIdLookup { get; set; } /// ///The email address of the user /// [ApiMember(Description="The email address of the user")] public virtual string UserEmailAddress { get; set; } /// ///The Twilio Region for the SIP endpoint /// [ApiMember(Description="The Twilio Region for the SIP endpoint")] public virtual TwilioSipRegions SipRegion { get; set; } /// ///The Twilio Sid of the credentials for Sip /// [ApiMember(Description="The Twilio Sid of the credentials for Sip")] public virtual string SipCredentialSid { get; set; } /// ///The Twilio SIP user name /// [ApiMember(Description="The Twilio SIP user name")] public virtual string SipUserName { get; set; } /// ///The Twilio SIP password /// [ApiMember(Description="The Twilio SIP password")] public virtual string SipPassword { get; set; } /// ///The SIP domain /// [ApiMember(Description="The SIP domain")] public virtual string SipDomain { get; set; } /// ///Is emergency calling enabled on this number? /// [ApiMember(Description="Is emergency calling enabled on this number?")] public virtual bool EnableEmergencyCalling { get; set; } /// ///The SID of the emergency address for this number /// [ApiMember(Description="The SID of the emergency address for this number")] public virtual string EmergencyAddressSid { get; set; } /// ///The ID of the phone number to use for emergency dialing /// [ApiMember(Description="The ID of the phone number to use for emergency dialing")] public virtual string EmergencyPhoneNumberId { get; set; } /// ///The current agent state of this user endpoint /// [ApiMember(Description="The current agent state of this user endpoint")] public virtual AgentStates AgentState { get; set; } /// ///The current agent state reason of this user endpoint /// [ApiMember(Description="The current agent state reason of this user endpoint")] public virtual AgentStateReasons AgentStateReason { get; set; } /// ///The mode for this user /// [ApiMember(Description="The mode for this user")] public virtual UserModes UserMode { get; set; } /// ///The ID of the file to use for voicemail greeting /// [ApiMember(Description="The ID of the file to use for voicemail greeting")] public virtual string VoicemailGreetingId { get; set; } /// ///The endpoint's data /// [ApiMember(Description="The endpoint's data")] public virtual Struct Data { get; set; } /// ///The email address for email endpoints /// [ApiMember(Description="The email address for email endpoints")] public virtual string EmailAddress { get; set; } /// ///The first name of the user (for user endpoints) /// [ApiMember(Description="The first name of the user (for user endpoints)")] public virtual string UserFirstName { get; set; } /// ///The last name of the user (for user endpoints) /// [ApiMember(Description="The last name of the user (for user endpoints)")] public virtual string UserLastName { get; set; } /// ///The URL of an image for this user's avatar /// [ApiMember(Description="The URL of an image for this user's avatar")] public virtual string AvatarUrl { get; set; } /// ///Does this user have manager role? /// [ApiMember(Description="Does this user have manager role?")] public virtual UserManagerRoles ManagerRole { get; set; } /// ///The list of dashboard permissions for when the manager role is custom /// [ApiMember(Description="The list of dashboard permissions for when the manager role is custom")] public virtual List DashboardPermissions { get; set; } /// ///The type of visibility this user has to their own fields /// [ApiMember(Description="The type of visibility this user has to their own fields")] public virtual UserDataFieldModes MyFieldPermissions { get; set; } /// ///The type of visibility this user has to customer fields /// [ApiMember(Description="The type of visibility this user has to customer fields")] public virtual UserDataFieldModes CustomerFieldPermissions { get; set; } /// ///The type of visibility this user has to other user fields /// [ApiMember(Description="The type of visibility this user has to other user fields")] public virtual UserDataFieldModes OtherUserFieldPermissions { get; set; } /// ///The type of visibility this user has to other endpoint fields /// [ApiMember(Description="The type of visibility this user has to other endpoint fields")] public virtual UserDataFieldModes OtherEndpointFieldPermissions { get; set; } /// ///The name of this endpoint (for bots etc.) /// [ApiMember(Description="The name of this endpoint (for bots etc.)")] public virtual string Name { get; set; } /// ///The list of tags for this endpoint /// [ApiMember(Description="The list of tags for this endpoint")] public virtual List Tags { get; set; } /// ///The list of action URLs /// [ApiMember(Description="The list of action URLs")] public virtual List ActionUrls { get; set; } /// ///The list of members in this team /// [ApiMember(Description="The list of members in this team")] public virtual List TeamMemberIds { get; set; } /// ///Visibility of this user/team in contact lists /// [ApiMember(Description="Visibility of this user/team in contact lists")] public virtual CustomerVisibility ContactListVisibility { get; set; } /// ///The list of contacts personal to this user /// [ApiMember(Description="The list of contacts personal to this user")] public virtual List Contacts { get; set; } /// ///The documo ID for this number /// [ApiMember(Description="The documo ID for this number")] public virtual string DocumoId { get; set; } /// ///Integration data for this endpoint /// [ApiMember(Description="Integration data for this endpoint")] public virtual EntityIntegrationData IntegrationData { get; set; } /// ///Settings for third party phone system /// [ApiMember(Description="Settings for third party phone system")] public virtual ThirdPartyPhoneSystemSettings ThirdPartyPhoneSystemSettings { get; set; } /// ///Should this user override the parent customer's app settings /// [ApiMember(Description="Should this user override the parent customer's app settings")] public virtual bool OverrideAppSettings { get; set; } /// ///App / Portal settings for this user /// [ApiMember(Description="App / Portal settings for this user")] public virtual AppSettings AppSettings { get; set; } } public enum EndpointTypes { PhoneNumber, User, FaxNumber, EmailAddress, Unused_1, Unused_2, Unused_3, Unused_4, Unused_5, Team, } public partial class ScheduledFlow { public virtual string StateName { get; set; } public virtual string FlowId { get; set; } public virtual Struct FlowParams { get; set; } } public partial class ThirdPartyPhoneSystemSettings { public virtual ThirdPartyPhoneSystemTypes Type { get; set; } public virtual ThirdPartyPhoneSystemSettings.ThirdPartySipSettings SipSettings { get; set; } public virtual ThirdPartyPhoneSystemSettings.ThirdPartyDemoSettings DemoSettings { get; set; } public partial class ThirdPartyDemoSettings { public virtual string Extension { get; set; } } public partial class ThirdPartySipSettings { public ThirdPartySipSettings() { Accounts = new List{}; } public virtual List Accounts { get; set; } public enum TransportTypes { UDP, TLS, TCP, PERS, } public enum AudioCodecTypes { PCMU = 0, GSM = 3, PCMA = 8, G722 = 9, G729 = 18, ILBC = 97, AMR = 98, AMRWB = 99, SPEEX = 100, DTMF = 101, SPEEXWB = 102, ISACWB = 103, ISACSWB = 104, OPUS = 105, G7221 = 121, NONE = -1, } public enum DtmfMethods { RFC2833, INFO, } public partial class ThirdPartySipAccountSettings { public ThirdPartySipAccountSettings() { AudioCodecs = new List{}; } public virtual string Number { get; set; } public virtual string Agent { get; set; } public virtual string AuthName { get; set; } public virtual string UserName { get; set; } public virtual string DisplayName { get; set; } public virtual string Password { get; set; } public virtual string UserDomain { get; set; } public virtual int RegistrationExpires { get; set; } public virtual ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.TransportTypes TransportType { get; set; } public virtual string LocalIP { get; set; } public virtual int LocalPort { get; set; } public virtual string SipServer { get; set; } public virtual int SipServerPort { get; set; } public virtual string OutboundServer { get; set; } public virtual int OutboundServerPort { get; set; } public virtual string StunServer { get; set; } public virtual int StunPort { get; set; } public virtual string AudioPlaybackDeviceName { get; set; } public virtual string AudioRecordingDeviceName { get; set; } public virtual List AudioCodecs { get; set; } public virtual ThirdPartyPhoneSystemSettings.ThirdPartySipSettings.DtmfMethods DTMFMethod { get; set; } } } } public enum ThirdPartyPhoneSystemTypes { Demo, Sip, } public enum TwilioSipRegions { NorthAmericaVirginia, NorthAmericaOregon, EuropeIreland, EuropeFrankfurt, AsiaPacificSingapore, AsiaPacificTokyo, AsiaPacificSydney, SouthAmericaSanPaolo, } public enum UserDataFieldModes { Hidden, ReadOnly, ReadWrite, } public enum UserManagerRoles { None, Manager, VoicemailAndCallHistory, Custom, } public enum UserModes { SoftPhone, Sip, Flow, DataOnly, ThirdParty, } } namespace Voice.Api.Flows.Data { public partial class Struct : Dictionary { } public partial class Value { public Value() { ListValue = new List{}; } public virtual bool? BoolValue { get; set; } public virtual string StringValue { get; set; } public virtual double? NumberValue { get; set; } public virtual List ListValue { get; set; } public virtual Struct StructValue { get; set; } } } namespace Voice.Api.Integrations { public partial class EntityIntegrationData : Dictionary { } public partial class IntegrationData { public virtual string ThirdPartyId { get; set; } } } namespace Voice.Api.Scheduling { public partial class Schedule { public Schedule() { Rules = new List{}; } public virtual string TimeZoneId { get; set; } public virtual bool Inherit { get; set; } public virtual bool ForceClosed { get; set; } public virtual List Rules { get; set; } public virtual string DefaultState { get; set; } } } namespace Voice.Api.Settings { public partial class Tag { public virtual string Id { get; set; } public virtual string Name { get; set; } public virtual TagColors Color { get; set; } } public enum TagColors { Magenta, Red, Volcano, Orange, Gold, Lime, Green, Cyan, Blue, GeekBlue, Purple, } }