/* Options: Date: 2024-11-13 06:33:24 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://evovoice.io //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ListCustomers.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* /** * Retrieve customers */ @Route(Path="/customers", Verbs="GET") @Api(Description="Retrieve customers") open class ListCustomers : ListRequest(), IReturn> { /** * Filter by accounts */ @ApiMember(Description="Filter by accounts") var accountIds:ArrayList = ArrayList() /** * Filter by name */ @ApiMember(Description="Filter by name") var nameFilter:String? = null /** * The IDs of the parent customers you want to filter by */ @ApiMember(Description="The IDs of the parent customers you want to filter by") var parentCustomerIds:ArrayList = ArrayList() /** * If you want a shall parent customer filter (e.g. no deep children) */ @ApiMember(Description="If you want a shall parent customer filter (e.g. no deep children)") var shallowParent:Boolean? = null /** * The list of tag IDs to filter by (must contain all) */ @ApiMember(Description="The list of tag IDs to filter by (must contain all)") var tagIds:ArrayList = ArrayList() companion object { private val responseType = object : TypeToken>(){}.type } override fun getResponseType(): Any? = ListCustomers.responseType } open class ListResponse { /** * The items */ @ApiMember(Description="The items") var items:ArrayList = ArrayList() /** * The total number of items */ @ApiMember(Description="The total number of items") var totalCount:Int? = null /** * The total number of pages */ @ApiMember(Description="The total number of pages") var totalPages:Int? = null /** * Are there more pages of items? Used with simplified paging */ @ApiMember(Description="Are there more pages of items? Used with simplified paging") var hasMorePages:Boolean? = null } enum class SortOrders { Ascend, Descend, } open class ListRequest : IGet { /** * The page of data to retrieve */ @ApiMember(Description="The page of data to retrieve") var page:Int? = 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") var all:Boolean? = null /** * The number per page to retrieve */ @ApiMember(Description="The number per page to retrieve") var countPerPage:Int? = null /** * Specific IDs */ @ApiMember(Description="Specific IDs") var specificIds:ArrayList = ArrayList() /** * Specify a sort field */ @ApiMember(Description="Specify a sort field") var sortField:String? = null /** * Specify a sort order */ @ApiMember(Description="Specify a sort order") var sortOrder:SortOrders? = 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") var simplifiedPaging:Boolean? = null } open class HostedSuiteCompletedForm { var id:String? = null var name:String? = null var dateCreated:String? = null var dateCompleted:String? = null var formId:String? = null var formName:String? = null var clientId:String? = null var clientName:String? = null var contactId:String? = null var contactName:String? = null var contactsIds:ArrayList = ArrayList() var contactsNames:ArrayList = ArrayList() var emailSubject:String? = null var callerNumber:String? = null var fields:ArrayList = ArrayList() } open class LogEntryInfo : EntityInfo() { /** * The account ID this endpoint is associated with */ @ApiMember(Description="The account ID this endpoint is associated with") var accountId:String? = null /** * The name of the account this endpoint is associated with */ @ApiMember(Description="The name of the account this endpoint is associated with") var accountName:String? = null /** * The ID of the customer this endpoint is associated with */ @ApiMember(Description="The ID of the customer this endpoint is associated with") var customerId:String? = null /** * The name of the customer this endpoint is associated with */ @ApiMember(Description="The name of the customer this endpoint is associated with") var customerName:String? = null /** * The breadcrumb to the customer for this endpoint */ @ApiMember(Description="The breadcrumb to the customer for this endpoint") var customerBreadcrumb:ArrayList = ArrayList() var userName:String? = null var description:String? = null } open class EntityInfo { /** * The ID of the object */ @ApiMember(Description="The ID of the object") var id:String? = null /** * The date the object was created */ @ApiMember(Description="The date the object was created") var dateCreated:String? = null /** * The date the object was last modified */ @ApiMember(Description="The date the object was last modified") var dateLastModified:String? = null /** * The user that created this object */ @ApiMember(Description="The user that created this object") var createdBy:String? = null /** * The user that last modified this object */ @ApiMember(Description="The user that last modified this object") var lastModifiedBy:String? = null } open class CustomerBreadcrumb { var id:String? = null var name:String? = null } open class HostedSuiteCompletedFormField { var name:String? = null var values:ArrayList = ArrayList() } open class AccountInfo : EntityInfo() { /** * The name of this account */ @ApiMember(Description="The name of this account") var name:String? = null /** * The ID of this account's parent */ @ApiMember(Description="The ID of this account's parent") var parentAccountId:String? = null /** * The twilio account SID */ @ApiMember(Description="The twilio account SID") var twilioAccountSid:String? = null /** * The ancestors of this account. Useful for breadcrumbs */ @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs") var ancestorIds:ArrayList = ArrayList() /** * The max number of phone numbers this account can have */ @ApiMember(Description="The max number of phone numbers this account can have") var maxPhoneNumbers:Int? = null /** * This account is BYOA */ @ApiMember(Description="This account is BYOA") var isBYOA:Boolean? = null /** * TrustHub Profile Sid */ @ApiMember(Description="TrustHub Profile Sid") var trustHubProfileSid:String? = null /** * The ID of the logo file */ @ApiMember(Description="The ID of the logo file") var logoId:String? = null /** * The URI of the logo file */ @ApiMember(Description="The URI of the logo file") var logoUri:String? = null /** * The billing settings for this account */ @ApiMember(Description="The billing settings for this account") var billingSettings:BillingSettings? = null } open class CustomerInfo : EntityInfo() { /** * The ID of the account associated with this customer */ @ApiMember(Description="The ID of the account associated with this customer") var accountId:String? = null /** * The parent customer ID for this customer */ @ApiMember(Description="The parent customer ID for this customer") var parentCustomerId:String? = null /** * The breadcrumb to this customer */ @ApiMember(Description="The breadcrumb to this customer") var breadcrumb:ArrayList = ArrayList() /** * The name of the account associated with this customer */ @ApiMember(Description="The name of the account associated with this customer") var accountName:String? = null /** * Is this customer staging or production? */ @ApiMember(Description="Is this customer staging or production?") var isStaging:Boolean? = null /** * The name of the company */ @ApiMember(Description="The name of the company") var name:String? = null /** * The reference ID for this company */ @ApiMember(Description="The reference ID for this company") var referenceId:String? = null /** * This customer's data values */ @ApiMember(Description="This customer's data values") @SerializedName("data") var Data:Struct? = null /** * The list of tags for this customer */ @ApiMember(Description="The list of tags for this customer") var tags:ArrayList = ArrayList() /** * This customer's schedule */ @ApiMember(Description="This customer's schedule") var schedule:Schedule? = null /** * Integration data for this customer */ @ApiMember(Description="Integration data for this customer") var integrationData:EntityIntegrationData? = null /** * Override this customer's billing settings? Otherwise inherits from parent */ @ApiMember(Description="Override this customer's billing settings? Otherwise inherits from parent") var overrideBillingSettings:Boolean? = null /** * Billing settings for this customer */ @ApiMember(Description="Billing settings for this customer") var billingSettings:BillingSettings? = null /** * Should this customer override the parent customer's app settings */ @ApiMember(Description="Should this customer override the parent customer's app settings") var overrideAppSettings:Boolean? = null /** * App / Portal settings for this customer */ @ApiMember(Description="App / Portal settings for this customer") var appSettings:AppSettings? = null }