/* Options: Date: 2024-05-15 03:39:58 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://evovoice.io //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: NewCustomer.* //ExcludeTypes: //DefaultImports: */ export class NodeParameterMap { [key:string] : NodeParameter; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IReturn { createResponse(): T; } export interface IPost { } export class BillingItem { public baseCost: number; public rawUnitMultiplier: number; public unitCost: number; public allowance: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class BillingSettings { public base: BillingItem; public localNumbers: BillingItem; public tollFreeNumbers: BillingItem; public inboundVoiceCalls: BillingItem; public outboundVoiceCalls: BillingItem; public inboundFaxes: BillingItem; public outboundFaxes: BillingItem; public inboundSmsMessages: BillingItem; public outboundSmsMessages: BillingItem; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Struct { public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Value { public boolValue?: boolean; public stringValue: string; public numberValue?: number; public listValue: Struct[]; public structValue: Struct; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class AppSettings { public enablePhoneNumberManagement: boolean; public enableDeviceManagement: boolean; public enableDialer: boolean; public enableCallHistory: boolean; public showFileNameInMessageCenter: boolean; public chakraTheme: string; public customCss: string; public pageTitle: string; public stringMappings: string; public logoutUrl: string; public portMyNumberUrl: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum TagColors { Magenta = 'Magenta', Red = 'Red', Volcano = 'Volcano', Orange = 'Orange', Gold = 'Gold', Lime = 'Lime', Green = 'Green', Cyan = 'Cyan', Blue = 'Blue', GeekBlue = 'GeekBlue', Purple = 'Purple', } export class Tag { public id: string; public name: string; public color: TagColors; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class EntityInfo { /** * The ID of the object */ // @ApiMember(Description="The ID of the object") public id: string; /** * The date the object was created */ // @ApiMember(Description="The date the object was created") public dateCreated: string; /** * The date the object was last modified */ // @ApiMember(Description="The date the object was last modified") public dateLastModified: string; /** * The user that created this object */ // @ApiMember(Description="The user that created this object") public createdBy: string; /** * The user that last modified this object */ // @ApiMember(Description="The user that last modified this object") public lastModifiedBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerBreadcrumb { public id: string; public name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class IntegrationData { public thirdPartyId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Dictionary { [Key: string]: T; } export class EntityIntegrationData extends Dictionary { public constructor(init?: Partial) { super(); (Object as any).assign(this, init); } } export class Schedule { public timeZoneId: string; public inherit: boolean; public forceClosed: boolean; public rules: SchedulingRule[]; public defaultState: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CustomerInfo extends EntityInfo { /** * The ID of the account associated with this customer */ // @ApiMember(Description="The ID of the account associated with this customer") public accountId: string; /** * The parent customer ID for this customer */ // @ApiMember(Description="The parent customer ID for this customer") public parentCustomerId: string; /** * The breadcrumb to this customer */ // @ApiMember(Description="The breadcrumb to this customer") public breadcrumb: CustomerBreadcrumb[]; /** * The name of the account associated with this customer */ // @ApiMember(Description="The name of the account associated with this customer") public accountName: string; /** * Is this customer staging or production? */ // @ApiMember(Description="Is this customer staging or production?") public isStaging: boolean; /** * The name of the company */ // @ApiMember(Description="The name of the company") public name: string; /** * The reference ID for this company */ // @ApiMember(Description="The reference ID for this company") public referenceId: string; /** * This customer's data values */ // @ApiMember(Description="This customer's data values") public data: Struct; /** * The list of tags for this customer */ // @ApiMember(Description="The list of tags for this customer") public tags: Tag[]; /** * This customer's schedule */ // @ApiMember(Description="This customer's schedule") public schedule: Schedule; /** * Integration data for this customer */ // @ApiMember(Description="Integration data for this customer") public integrationData: EntityIntegrationData; /** * Override this customer's billing settings? Otherwise inherits from parent */ // @ApiMember(Description="Override this customer's billing settings? Otherwise inherits from parent") public overrideBillingSettings: boolean; /** * Billing settings for this customer */ // @ApiMember(Description="Billing settings for this customer") public billingSettings: BillingSettings; /** * Should this customer override the parent customer's app settings */ // @ApiMember(Description="Should this customer override the parent customer's app settings") public overrideAppSettings: boolean; /** * App / Portal settings for this customer */ // @ApiMember(Description="App / Portal settings for this customer") public appSettings: AppSettings; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } /** * Creates a new customer */ // @Route("/customers", "POST") // @Api(Description="Creates a new customer") export class NewCustomer implements IReturn, IPost { /** * The account ID to associate this customer with */ // @ApiMember(Description="The account ID to associate this customer with") public accountId: string; /** * The name of the customer */ // @ApiMember(Description="The name of the customer") public name: string; /** * The parent customer for this customer */ // @ApiMember(Description="The parent customer for this customer") public parentCustomerId: string; /** * 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 referenceId: string; /** * Data values for this customer */ // @ApiMember(Description="Data values for this customer") public data: Struct; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'NewCustomer'; } public getMethod() { return 'POST'; } public createResponse() { return new CustomerInfo(); } }