/* Options: Date: 2025-05-04 20:28:15 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: AppGetFlows.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.*; import java.util.*; import java.io.InputStream; import net.servicestack.client.*; import com.google.gson.annotations.*; import com.google.gson.reflect.*; public class dtos { @Route(Path="/portal/flows", Verbs="GET") public static class AppGetFlows extends ListRequest implements IReturn> { public String accountId = null; public String customerId = null; public String nameFilter = null; public FlowRoles role = null; public String getAccountId() { return accountId; } public AppGetFlows setAccountId(String value) { this.accountId = value; return this; } public String getCustomerId() { return customerId; } public AppGetFlows setCustomerId(String value) { this.customerId = value; return this; } public String getNameFilter() { return nameFilter; } public AppGetFlows setNameFilter(String value) { this.nameFilter = value; return this; } public FlowRoles getRole() { return role; } public AppGetFlows setRole(FlowRoles value) { this.role = value; return this; } private static Object responseType = new TypeToken>(){}.getType(); public Object getResponseType() { return responseType; } } public static class ListResponse { /** * The items */ @ApiMember(Description="The items") public ArrayList items = null; /** * The total number of items */ @ApiMember(Description="The total number of items") public Integer totalCount = null; /** * The total number of pages */ @ApiMember(Description="The total number of pages") public Integer totalPages = null; /** * Are there more pages of items? Used with simplified paging */ @ApiMember(Description="Are there more pages of items? Used with simplified paging") public Boolean hasMorePages = null; public ArrayList getItems() { return items; } public ListResponse setItems(ArrayList value) { this.items = value; return this; } public Integer getTotalCount() { return totalCount; } public ListResponse setTotalCount(Integer value) { this.totalCount = value; return this; } public Integer getTotalPages() { return totalPages; } public ListResponse setTotalPages(Integer value) { this.totalPages = value; return this; } public Boolean isHasMorePages() { return hasMorePages; } public ListResponse setHasMorePages(Boolean value) { this.hasMorePages = value; return this; } } public static enum SortOrders { Ascend, Descend; } public static class ListRequest implements IGet { /** * The page of data to retrieve */ @ApiMember(Description="The page of data to retrieve") public Integer page = null; /** * If you want all objects to be returned. This should be used with care */ @ApiMember(Description="If you want all objects to be returned. This should be used with care") public Boolean all = null; /** * The number per page to retrieve */ @ApiMember(Description="The number per page to retrieve") public Integer countPerPage = null; /** * Specific IDs */ @ApiMember(Description="Specific IDs") public ArrayList specificIds = null; /** * Specify a sort field */ @ApiMember(Description="Specify a sort field") public String sortField = null; /** * Specify a sort order */ @ApiMember(Description="Specify a sort order") public SortOrders sortOrder = null; /** * Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */ @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array") public Boolean simplifiedPaging = null; public Integer getPage() { return page; } public ListRequest setPage(Integer value) { this.page = value; return this; } public Boolean isAll() { return all; } public ListRequest setAll(Boolean value) { this.all = value; return this; } public Integer getCountPerPage() { return countPerPage; } public ListRequest setCountPerPage(Integer value) { this.countPerPage = value; return this; } public ArrayList getSpecificIds() { return specificIds; } public ListRequest setSpecificIds(ArrayList value) { this.specificIds = value; return this; } public String getSortField() { return sortField; } public ListRequest setSortField(String value) { this.sortField = value; return this; } public SortOrders getSortOrder() { return sortOrder; } public ListRequest setSortOrder(SortOrders value) { this.sortOrder = value; return this; } public Boolean isSimplifiedPaging() { return simplifiedPaging; } public ListRequest setSimplifiedPaging(Boolean value) { this.simplifiedPaging = 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; } 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; } } }