/* Options: Date: 2025-05-04 21:57:05 Version: 8.71 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://team.evovoice.io //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: GetFlow.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.*; import java.util.*; import java.io.InputStream; import net.servicestack.client.*; public class dtos { /** * Get the specified flow */ @Route(Path="/flows/{flowId}", Verbs="GET") @Api(Description="Get the specified flow") public static class GetFlow implements IReturn, IGet { /** * the ID of the flow to retrieve */ @ApiMember(Description="the ID of the flow to retrieve") public String flowId = null; public String getFlowId() { return flowId; } public GetFlow setFlowId(String value) { this.flowId = value; return this; } private static Object responseType = FlowInfo.class; public Object getResponseType() { return responseType; } } public static class FlowInfo extends EntityInfo { /** * The name of this flow */ @ApiMember(Description="The name of this flow") public String name = null; /** * The roles that this flow has */ @ApiMember(Description="The roles that this flow has") public ArrayList roles = null; /** * What this flow does */ @ApiMember(Description="What this flow does") public String description = null; /** * Any notes for this flow */ @ApiMember(Description="Any notes for this flow") public String notes = null; /** * The ID of the account associated with the flow */ @ApiMember(Description="The ID of the account associated with the flow") public String accountId = null; /** * The name of the account associated with the flow */ @ApiMember(Description="The name of the account associated with the flow") public String accountName = null; /** * The ID of the customer this flow is associated with */ @ApiMember(Description="The ID of the customer this flow is associated with") public String customerId = null; /** * The name of the customer this flow is associated with */ @ApiMember(Description="The name of the customer this flow is associated with") public String customerName = null; /** * The breadcrumb to the flow for this endpoint */ @ApiMember(Description="The breadcrumb to the flow for this endpoint") public ArrayList customerBreadcrumb = null; /** * The nodes in this flow */ @ApiMember(Description="The nodes in this flow") public ArrayList nodes = null; /** * The flow's parameters */ @ApiMember(Description="The flow's parameters") public ArrayList parameters = null; /** * The flow's exits */ @ApiMember(Description="The flow's exits") public ArrayList exits = null; /** * The UI data for the flow */ @ApiMember(Description="The UI data for the flow") public FlowUI ui = null; /** * The list of tags for this flow */ @ApiMember(Description="The list of tags for this flow") public ArrayList tags = null; /** * The number of nodes in this flow */ @ApiMember(Description="The number of nodes in this flow") public Integer nodeCount = null; public String getName() { return name; } public FlowInfo setName(String value) { this.name = value; return this; } public ArrayList getRoles() { return roles; } public FlowInfo setRoles(ArrayList value) { this.roles = value; return this; } public String getDescription() { return description; } public FlowInfo setDescription(String value) { this.description = value; return this; } public String getNotes() { return notes; } public FlowInfo setNotes(String value) { this.notes = value; return this; } public String getAccountId() { return accountId; } public FlowInfo setAccountId(String value) { this.accountId = value; return this; } public String getAccountName() { return accountName; } public FlowInfo setAccountName(String value) { this.accountName = value; return this; } public String getCustomerId() { return customerId; } public FlowInfo setCustomerId(String value) { this.customerId = value; return this; } public String getCustomerName() { return customerName; } public FlowInfo setCustomerName(String value) { this.customerName = value; return this; } public ArrayList getCustomerBreadcrumb() { return customerBreadcrumb; } public FlowInfo setCustomerBreadcrumb(ArrayList value) { this.customerBreadcrumb = value; return this; } public ArrayList getNodes() { return nodes; } public FlowInfo setNodes(ArrayList value) { this.nodes = value; return this; } public ArrayList getParameters() { return parameters; } public FlowInfo setParameters(ArrayList value) { this.parameters = value; return this; } public ArrayList getExits() { return exits; } public FlowInfo setExits(ArrayList value) { this.exits = value; return this; } public FlowUI getUi() { return ui; } public FlowInfo setUi(FlowUI value) { this.ui = value; return this; } public ArrayList getTags() { return tags; } public FlowInfo setTags(ArrayList value) { this.tags = value; return this; } public Integer getNodeCount() { return nodeCount; } public FlowInfo setNodeCount(Integer value) { this.nodeCount = value; return this; } } public static class Struct extends HashMap { } public static enum UserDataFieldModes { Hidden, ReadOnly, ReadWrite; } public static 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; } public static enum FlowRoles { Ui, Reference, PhoneNumberRouting, UserDialOut, FaxNumberRouting; } public static 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 String id = null; /** * 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 Boolean isStartNode = null; /** * 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 String name = null; /** * The specification for the node */ @ApiMember(Description="The specification for the node") public FlowNodeSpec spec = null; /** * The UI data for the node */ @ApiMember(Description="The UI data for the node") public FlowNodeUI ui = null; /** * 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 NodeParameterMap parameters = null; public String getId() { return id; } public FlowNode setId(String value) { this.id = value; return this; } public Boolean getIsStartNode() { return isStartNode; } public FlowNode setIsStartNode(Boolean value) { this.isStartNode = value; return this; } public String getName() { return name; } public FlowNode setName(String value) { this.name = value; return this; } public FlowNodeSpec getSpec() { return spec; } public FlowNode setSpec(FlowNodeSpec value) { this.spec = value; return this; } public FlowNodeUI getUi() { return ui; } public FlowNode setUi(FlowNodeUI value) { this.ui = value; return this; } public NodeParameterMap getParameters() { return parameters; } public FlowNode setParameters(NodeParameterMap value) { this.parameters = value; return this; } } public static class FlowExit { /** * The unique ID for this exit */ @ApiMember(Description="The unique ID for this exit") public String id = null; /** * The name of this exit */ @ApiMember(Description="The name of this exit") public String name = null; /** * The UI for the exit */ @ApiMember(Description="The UI for the exit") public FlowNodeUI ui = null; public String getId() { return id; } public FlowExit setId(String value) { this.id = value; return this; } public String getName() { return name; } public FlowExit setName(String value) { this.name = value; return this; } public FlowNodeUI getUi() { return ui; } public FlowExit setUi(FlowNodeUI value) { this.ui = value; return this; } } public static class FlowParameter extends DataField { public Boolean isPublic = null; public Boolean isKnob = null; public Boolean getIsPublic() { return isPublic; } public FlowParameter setIsPublic(Boolean value) { this.isPublic = value; return this; } public Boolean getIsKnob() { return isKnob; } public FlowParameter setIsKnob(Boolean value) { this.isKnob = value; return this; } } public static class FlowUI { public String selectedNode = null; public Double canvasX = null; public Double canvasY = null; public Double canvasZoom = null; public String getSelectedNode() { return selectedNode; } public FlowUI setSelectedNode(String value) { this.selectedNode = value; return this; } public Double getCanvasX() { return canvasX; } public FlowUI setCanvasX(Double value) { this.canvasX = value; return this; } public Double getCanvasY() { return canvasY; } public FlowUI setCanvasY(Double value) { this.canvasY = value; return this; } public Double getCanvasZoom() { return canvasZoom; } public FlowUI setCanvasZoom(Double value) { this.canvasZoom = value; return this; } } public static enum FlowChannels { Voice, Chat, Fax; } public static class Tag { public String id = null; public String name = null; public TagColors color = null; public String getId() { return id; } public Tag setId(String value) { this.id = value; return this; } public String getName() { return name; } public Tag setName(String value) { this.name = value; return this; } public TagColors getColor() { return color; } public Tag setColor(TagColors value) { this.color = value; return this; } } public static class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") public String id = null; /** * The date the object was created */ @ApiMember(Description="The date the object was created") public String dateCreated = null; /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") public String dateLastModified = null; /** * The user that created this object */ @ApiMember(Description="The user that created this object") public String createdBy = null; /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") public String lastModifiedBy = null; public String getId() { return id; } public EntityInfo setId(String value) { this.id = value; return this; } public String getDateCreated() { return dateCreated; } public EntityInfo setDateCreated(String value) { this.dateCreated = value; return this; } public String getDateLastModified() { return dateLastModified; } public EntityInfo setDateLastModified(String value) { this.dateLastModified = value; return this; } public String getCreatedBy() { return createdBy; } public EntityInfo setCreatedBy(String value) { this.createdBy = value; return this; } public String getLastModifiedBy() { return lastModifiedBy; } public EntityInfo setLastModifiedBy(String value) { this.lastModifiedBy = value; return this; } } public static class CustomerBreadcrumb { public String id = null; public String name = null; public String getId() { return id; } public CustomerBreadcrumb setId(String value) { this.id = value; return this; } public String getName() { return name; } public CustomerBreadcrumb setName(String value) { this.name = value; return this; } } public static class FlowNodeSpec { /** * The name of this node */ @ApiMember(Description="The name of this node") public String name = null; /** * A description of this node */ @ApiMember(Description="A description of this node") public String description = null; /** * Icon class for this node (FontAwesome) */ @ApiMember(Description="Icon class for this node (FontAwesome)") public String iconClass = null; /** * The type name for this node */ @ApiMember(Description="The type name for this node") public String typeName = null; /** * The category this node should be grouped under */ @ApiMember(Description="The category this node should be grouped under") public FlowNodeCategories category = null; /** * The URL where this node is located */ @ApiMember(Description="The URL where this node is located") public String url = null; /** * The data type for this node */ @ApiMember(Description="The data type for this node") public DataType dataType = null; /** * URL for documentation for this node */ @ApiMember(Description="URL for documentation for this node") public String documentationUrl = null; /** * The channels that this node is restricted to */ @ApiMember(Description="The channels that this node is restricted to") public ArrayList restrictToChannels = null; public String getName() { return name; } public FlowNodeSpec setName(String value) { this.name = value; return this; } public String getDescription() { return description; } public FlowNodeSpec setDescription(String value) { this.description = value; return this; } public String getIconClass() { return iconClass; } public FlowNodeSpec setIconClass(String value) { this.iconClass = value; return this; } public String getTypeName() { return typeName; } public FlowNodeSpec setTypeName(String value) { this.typeName = value; return this; } public FlowNodeCategories getCategory() { return category; } public FlowNodeSpec setCategory(FlowNodeCategories value) { this.category = value; return this; } public String getUrl() { return url; } public FlowNodeSpec setUrl(String value) { this.url = value; return this; } public DataType getDataType() { return dataType; } public FlowNodeSpec setDataType(DataType value) { this.dataType = value; return this; } public String getDocumentationUrl() { return documentationUrl; } public FlowNodeSpec setDocumentationUrl(String value) { this.documentationUrl = value; return this; } public ArrayList getRestrictToChannels() { return restrictToChannels; } public FlowNodeSpec setRestrictToChannels(ArrayList value) { this.restrictToChannels = value; return this; } } public static class DataType { public String typeName = null; public ArrayList fields = null; public String getTypeName() { return typeName; } public DataType setTypeName(String value) { this.typeName = value; return this; } public ArrayList getFields() { return fields; } public DataType setFields(ArrayList value) { this.fields = value; return this; } } public static class Value { public Boolean boolValue = null; public String stringValue = null; public Double numberValue = null; public ArrayList listValue = null; public Struct structValue = null; public Boolean isBoolValue() { return boolValue; } public Value setBoolValue(Boolean value) { this.boolValue = value; return this; } public String getStringValue() { return stringValue; } public Value setStringValue(String value) { this.stringValue = value; return this; } public Double getNumberValue() { return numberValue; } public Value setNumberValue(Double value) { this.numberValue = value; return this; } public ArrayList getListValue() { return listValue; } public Value setListValue(ArrayList value) { this.listValue = value; return this; } public Struct getStructValue() { return structValue; } public Value setStructValue(Struct value) { this.structValue = value; return this; } } public static class FlowNodeUI { /** * The X position of the node */ @ApiMember(Description="The X position of the node") public Double x = null; /** * The Y position of the node */ @ApiMember(Description="The Y position of the node") public Double y = null; /** * Notes for this node */ @ApiMember(Description="Notes for this node") public String notes = null; public Double getX() { return x; } public FlowNodeUI setX(Double value) { this.x = value; return this; } public Double getY() { return y; } public FlowNodeUI setY(Double value) { this.y = value; return this; } public String getNotes() { return notes; } public FlowNodeUI setNotes(String value) { this.notes = value; return this; } } public static enum UIHints { None, LargeText, InlineForm, Password, InlineStruct; } public static enum DataFieldUniqueness { NotUnique, Unique, UniqueToCustomer; } public static class DataField { public String id = null; public String name = null; public ValueTypes type = null; public UIHints uiHint = null; public String uiTab = null; public Boolean isAsync = null; public Boolean disableBinding = null; public DataType structType = null; public DataType listType = null; public String description = null; public ArrayList possibleValues = null; public Boolean isOutput = null; public String customFieldValuesUrl = null; public Value defaultValue = null; public String transitionNameFormat = null; public DataFieldUniqueness uniqueness = null; public Boolean voiceOnly = null; public String conditionalVisibilityField = null; public String conditionalVisibilityValue = null; public Boolean noEvalTemplate = null; public UserDataFieldModes userMode = null; public Boolean anyValueType = null; public String getId() { return id; } public DataField setId(String value) { this.id = value; return this; } public String getName() { return name; } public DataField setName(String value) { this.name = value; return this; } public ValueTypes getType() { return type; } public DataField setType(ValueTypes value) { this.type = value; return this; } public UIHints getUiHint() { return uiHint; } public DataField setUiHint(UIHints value) { this.uiHint = value; return this; } public String getUiTab() { return uiTab; } public DataField setUiTab(String value) { this.uiTab = value; return this; } public Boolean getIsAsync() { return isAsync; } public DataField setIsAsync(Boolean value) { this.isAsync = value; return this; } public Boolean isDisableBinding() { return disableBinding; } public DataField setDisableBinding(Boolean value) { this.disableBinding = value; return this; } public DataType getStructType() { return structType; } public DataField setStructType(DataType value) { this.structType = value; return this; } public DataType getListType() { return listType; } public DataField setListType(DataType value) { this.listType = value; return this; } public String getDescription() { return description; } public DataField setDescription(String value) { this.description = value; return this; } public ArrayList getPossibleValues() { return possibleValues; } public DataField setPossibleValues(ArrayList value) { this.possibleValues = value; return this; } public Boolean getIsOutput() { return isOutput; } public DataField setIsOutput(Boolean value) { this.isOutput = value; return this; } public String getCustomFieldValuesUrl() { return customFieldValuesUrl; } public DataField setCustomFieldValuesUrl(String value) { this.customFieldValuesUrl = value; return this; } public Value getDefaultValue() { return defaultValue; } public DataField setDefaultValue(Value value) { this.defaultValue = value; return this; } public String getTransitionNameFormat() { return transitionNameFormat; } public DataField setTransitionNameFormat(String value) { this.transitionNameFormat = value; return this; } public DataFieldUniqueness getUniqueness() { return uniqueness; } public DataField setUniqueness(DataFieldUniqueness value) { this.uniqueness = value; return this; } public Boolean isVoiceOnly() { return voiceOnly; } public DataField setVoiceOnly(Boolean value) { this.voiceOnly = value; return this; } public String getConditionalVisibilityField() { return conditionalVisibilityField; } public DataField setConditionalVisibilityField(String value) { this.conditionalVisibilityField = value; return this; } public String getConditionalVisibilityValue() { return conditionalVisibilityValue; } public DataField setConditionalVisibilityValue(String value) { this.conditionalVisibilityValue = value; return this; } public Boolean isNoEvalTemplate() { return noEvalTemplate; } public DataField setNoEvalTemplate(Boolean value) { this.noEvalTemplate = value; return this; } public UserDataFieldModes getUserMode() { return userMode; } public DataField setUserMode(UserDataFieldModes value) { this.userMode = value; return this; } public Boolean isAnyValueType() { return anyValueType; } public DataField setAnyValueType(Boolean value) { this.anyValueType = value; return this; } } public static enum TagColors { Magenta, Red, Volcano, Orange, Gold, Lime, Green, Cyan, Blue, GeekBlue, Purple; } public static enum FlowNodeCategories { General, Voice, Logic, DateAndTime, Audio, Messaging, Assistant, Flows, Fax, Network, Cookies, CallCenter, Intelligence; } }