/* Options: Date: 2024-05-15 21:27:58 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: NewCustomer.* //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.Accounts; using Voice.Api.Flows.Data; using Voice.Api.Customers; 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.Accounts { public partial class BillingItem { public virtual double BaseCost { get; set; } public virtual double RawUnitMultiplier { get; set; } public virtual double UnitCost { get; set; } public virtual int Allowance { get; set; } } public partial class BillingSettings { public virtual BillingItem Base { get; set; } public virtual BillingItem LocalNumbers { get; set; } public virtual BillingItem TollFreeNumbers { get; set; } public virtual BillingItem InboundVoiceCalls { get; set; } public virtual BillingItem OutboundVoiceCalls { get; set; } public virtual BillingItem InboundFaxes { get; set; } public virtual BillingItem OutboundFaxes { get; set; } public virtual BillingItem InboundSmsMessages { get; set; } public virtual BillingItem OutboundSmsMessages { get; set; } } } 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; } } public partial class CustomerInfo : EntityInfo { public CustomerInfo() { Breadcrumb = new List{}; Tags = new List{}; } /// ///The ID of the account associated with this customer /// [ApiMember(Description="The ID of the account associated with this customer")] public virtual string AccountId { get; set; } /// ///The parent customer ID for this customer /// [ApiMember(Description="The parent customer ID for this customer")] public virtual string ParentCustomerId { get; set; } /// ///The breadcrumb to this customer /// [ApiMember(Description="The breadcrumb to this customer")] public virtual List Breadcrumb { get; set; } /// ///The name of the account associated with this customer /// [ApiMember(Description="The name of the account associated with this customer")] public virtual string AccountName { get; set; } /// ///Is this customer staging or production? /// [ApiMember(Description="Is this customer staging or production?")] public virtual bool IsStaging { get; set; } /// ///The name of the company /// [ApiMember(Description="The name of the company")] public virtual string Name { get; set; } /// ///The reference ID for this company /// [ApiMember(Description="The reference ID for this company")] public virtual string ReferenceId { get; set; } /// ///This customer's data values /// [ApiMember(Description="This customer's data values")] public virtual Struct Data { get; set; } /// ///The list of tags for this customer /// [ApiMember(Description="The list of tags for this customer")] public virtual List Tags { get; set; } /// ///This customer's schedule /// [ApiMember(Description="This customer's schedule")] public virtual Schedule Schedule { get; set; } /// ///Integration data for this customer /// [ApiMember(Description="Integration data for this customer")] public virtual EntityIntegrationData IntegrationData { get; set; } /// ///Override this customer's billing settings? Otherwise inherits from parent /// [ApiMember(Description="Override this customer's billing settings? Otherwise inherits from parent")] public virtual bool OverrideBillingSettings { get; set; } /// ///Billing settings for this customer /// [ApiMember(Description="Billing settings for this customer")] public virtual BillingSettings BillingSettings { get; set; } /// ///Should this customer override the parent customer's app settings /// [ApiMember(Description="Should this customer override the parent customer's app settings")] public virtual bool OverrideAppSettings { get; set; } /// ///App / Portal settings for this customer /// [ApiMember(Description="App / Portal settings for this customer")] public virtual AppSettings AppSettings { get; set; } } /// ///Creates a new customer /// [Route("/customers", "POST")] [Api(Description="Creates a new customer")] public partial class NewCustomer : IReturn, IPost { /// ///The account ID to associate this customer with /// [ApiMember(Description="The account ID to associate this customer with")] public virtual string AccountId { get; set; } /// ///The name of the customer /// [ApiMember(Description="The name of the customer")] public virtual string Name { get; set; } /// ///The parent customer for this customer /// [ApiMember(Description="The parent customer for this customer")] public virtual string ParentCustomerId { get; set; } /// ///The reference ID for this customer (e.g. in a third party system) /// [ApiMember(Description="The reference ID for this customer (e.g. in a third party system)")] public virtual string ReferenceId { get; set; } /// ///Data values for this customer /// [ApiMember(Description="Data values for this customer")] public virtual Struct Data { get; set; } } } 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, } }