/* Options: Date: 2025-05-04 22:00:24 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: CopyFlow.* //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.Data; using Voice.Api.Endpoints; using Voice.Api.Flows; using Voice.Api.Settings; 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.Endpoints { public enum UserDataFieldModes { Hidden, ReadOnly, ReadWrite, } } namespace Voice.Api.Flows { /// ///Make a copy of the flow /// [Route("/flows/{flowId}/copy", "POST")] [Api(Description="Make a copy of the flow")] public partial class CopyFlow : IReturn, IPost { /// ///The ID of the flow to copy /// [ApiMember(Description="The ID of the flow to copy")] public virtual string FlowId { get; set; } } public enum FlowChannels { Voice, Chat, Fax, } public partial class FlowExit { /// ///The unique ID for this exit /// [ApiMember(Description="The unique ID for this exit")] public virtual string Id { get; set; } /// ///The name of this exit /// [ApiMember(Description="The name of this exit")] public virtual string Name { get; set; } /// ///The UI for the exit /// [ApiMember(Description="The UI for the exit")] public virtual FlowNodeUI UI { get; set; } } public partial class FlowInfo : EntityInfo { /// ///The name of this flow /// [ApiMember(Description="The name of this flow")] public virtual string Name { get; set; } /// ///The roles that this flow has /// [ApiMember(Description="The roles that this flow has")] public virtual List Roles { get; set; } /// ///What this flow does /// [ApiMember(Description="What this flow does")] public virtual string Description { get; set; } /// ///Any notes for this flow /// [ApiMember(Description="Any notes for this flow")] public virtual string Notes { 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 flow /// [ApiMember(Description="The name of the account associated with the flow")] public virtual string AccountName { get; set; } /// ///The ID of the customer this flow is associated with /// [ApiMember(Description="The ID of the customer this flow is associated with")] public virtual string CustomerId { get; set; } /// ///The name of the customer this flow is associated with /// [ApiMember(Description="The name of the customer this flow is associated with")] public virtual string CustomerName { get; set; } /// ///The breadcrumb to the flow for this endpoint /// [ApiMember(Description="The breadcrumb to the flow for this endpoint")] public virtual List CustomerBreadcrumb { get; set; } /// ///The nodes in this flow /// [ApiMember(Description="The nodes in this flow")] public virtual List Nodes { get; set; } /// ///The flow's parameters /// [ApiMember(Description="The flow's parameters")] public virtual List Parameters { get; set; } /// ///The flow's exits /// [ApiMember(Description="The flow's exits")] public virtual List Exits { get; set; } /// ///The UI data for the flow /// [ApiMember(Description="The UI data for the flow")] public virtual FlowUI UI { get; set; } /// ///The list of tags for this flow /// [ApiMember(Description="The list of tags for this flow")] public virtual List Tags { get; set; } /// ///The number of nodes in this flow /// [ApiMember(Description="The number of nodes in this flow")] public virtual int NodeCount { get; set; } } public partial class FlowNode { /// ///The ID of this node. Must be unique within the flow but can be anything /// [ApiMember(Description="The ID of this node. Must be unique within the flow but can be anything")] public virtual string Id { get; set; } /// ///Is this the starting node for the flow. Only one node can have this set /// [ApiMember(Description="Is this the starting node for the flow. Only one node can have this set")] public virtual bool IsStartNode { get; set; } /// ///The name of the node, descriptive to be used as a reminder in the GUI /// [ApiMember(Description="The name of the node, descriptive to be used as a reminder in the GUI")] public virtual string Name { get; set; } /// ///The specification for the node /// [ApiMember(Description="The specification for the node")] public virtual FlowNodeSpec Spec { get; set; } /// ///The UI data for the node /// [ApiMember(Description="The UI data for the node")] public virtual FlowNodeUI UI { get; set; } /// ///The data for this node. These will be POST'd to the endpoint when it is called. /// [ApiMember(Description="The data for this node. These will be POST'd to the endpoint when it is called.")] public virtual NodeParameterMap Parameters { get; set; } } public enum FlowNodeCategories { General, Voice, Logic, DateAndTime, Audio, Messaging, Assistant, Flows, Fax, Network, Cookies, CallCenter, Intelligence, } public partial class FlowNodeSpec { /// ///The name of this node /// [ApiMember(Description="The name of this node")] public virtual string Name { get; set; } /// ///A description of this node /// [ApiMember(Description="A description of this node")] public virtual string Description { get; set; } /// ///Icon class for this node (FontAwesome) /// [ApiMember(Description="Icon class for this node (FontAwesome)")] public virtual string IconClass { get; set; } /// ///The type name for this node /// [ApiMember(Description="The type name for this node")] public virtual string TypeName { get; set; } /// ///The category this node should be grouped under /// [ApiMember(Description="The category this node should be grouped under")] public virtual FlowNodeCategories Category { get; set; } /// ///The URL where this node is located /// [ApiMember(Description="The URL where this node is located")] public virtual string Url { get; set; } /// ///The data type for this node /// [ApiMember(Description="The data type for this node")] public virtual DataType DataType { get; set; } /// ///URL for documentation for this node /// [ApiMember(Description="URL for documentation for this node")] public virtual string DocumentationUrl { get; set; } /// ///The channels that this node is restricted to /// [ApiMember(Description="The channels that this node is restricted to")] public virtual List RestrictToChannels { get; set; } } public partial class FlowNodeUI { /// ///The X position of the node /// [ApiMember(Description="The X position of the node")] public virtual double X { get; set; } /// ///The Y position of the node /// [ApiMember(Description="The Y position of the node")] public virtual double Y { get; set; } /// ///Notes for this node /// [ApiMember(Description="Notes for this node")] public virtual string Notes { get; set; } } public partial class FlowParameter : DataField { public virtual bool IsPublic { get; set; } public virtual bool IsKnob { get; set; } } public enum FlowRoles { UI, Reference, PhoneNumberRouting, UserDialOut, FaxNumberRouting, } public partial class FlowUI { public virtual string SelectedNode { get; set; } public virtual double CanvasX { get; set; } public virtual double CanvasY { get; set; } public virtual double CanvasZoom { get; set; } } } namespace Voice.Api.Flows.Data { public partial class DataField { public virtual string Id { get; set; } public virtual string Name { get; set; } public virtual ValueTypes Type { get; set; } public virtual UIHints UIHint { get; set; } public virtual string UITab { get; set; } public virtual bool IsAsync { get; set; } public virtual bool DisableBinding { get; set; } public virtual DataType StructType { get; set; } public virtual DataType ListType { get; set; } public virtual string Description { get; set; } public virtual List PossibleValues { get; set; } public virtual bool IsOutput { get; set; } public virtual string CustomFieldValuesUrl { get; set; } public virtual Value DefaultValue { get; set; } public virtual string TransitionNameFormat { get; set; } public virtual DataFieldUniqueness Uniqueness { get; set; } public virtual bool VoiceOnly { get; set; } public virtual string ConditionalVisibilityField { get; set; } public virtual string ConditionalVisibilityValue { get; set; } public virtual bool NoEvalTemplate { get; set; } public virtual UserDataFieldModes UserMode { get; set; } public virtual bool AnyValueType { get; set; } } public enum DataFieldUniqueness { NotUnique, Unique, UniqueToCustomer, } public partial class DataType { public virtual string TypeName { get; set; } public virtual List Fields { get; set; } } public partial class Struct : Dictionary { } public enum UIHints { None, LargeText, InlineForm, Password, InlineStruct, } public partial class Value { 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; } } public enum ValueTypes { NotSpecified, String, Boolean, Number, List, Struct, Transition, Custom, Date, AudioFile, TimeZoneId, PhoneNumber, User, Endpoint, Time, File, FaxNumber, EmailAccount, Customer, Flow, Team, FlowReference, Integration, Assistant, } } 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, } }