""" Options: Date: 2025-05-04 20:15:29 Version: 8.71 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://team.evovoice.io #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: AppGetSystemSettings.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Struct(Dict[str,Value]): pass @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Value: bool_value: Optional[bool] = None string_value: Optional[str] = None number_value: Optional[float] = None list_value: Optional[List[Struct]] = None struct_value: Optional[Struct] = None class UserDataFieldModes(str, Enum): HIDDEN = 'Hidden' READ_ONLY = 'ReadOnly' READ_WRITE = 'ReadWrite' class EndpointTypes(str, Enum): PHONE_NUMBER = 'PhoneNumber' USER = 'User' FAX_NUMBER = 'FaxNumber' EMAIL_ADDRESS = 'EmailAddress' UNUSED_1 = 'Unused_1' UNUSED_2 = 'Unused_2' UNUSED_3 = 'Unused_3' UNUSED_4 = 'Unused_4' UNUSED_5 = 'Unused_5' TEAM = 'Team' ASSISTANT = 'Assistant' class ValueTypes(str, Enum): NOT_SPECIFIED = 'NotSpecified' STRING = 'String' BOOLEAN = 'Boolean' NUMBER = 'Number' LIST = 'List' STRUCT = 'Struct' TRANSITION = 'Transition' CUSTOM = 'Custom' DATE = 'Date' AUDIO_FILE = 'AudioFile' TIME_ZONE_ID = 'TimeZoneId' PHONE_NUMBER = 'PhoneNumber' USER = 'User' ENDPOINT = 'Endpoint' TIME = 'Time' FILE = 'File' FAX_NUMBER = 'FaxNumber' EMAIL_ACCOUNT = 'EmailAccount' CUSTOMER = 'Customer' FLOW = 'Flow' TEAM = 'Team' FLOW_REFERENCE = 'FlowReference' INTEGRATION = 'Integration' ASSISTANT = 'Assistant' class UIHints(str, Enum): NONE = 'None' LARGE_TEXT = 'LargeText' INLINE_FORM = 'InlineForm' PASSWORD = 'Password' INLINE_STRUCT = 'InlineStruct' class DataFieldUniqueness(str, Enum): NOT_UNIQUE = 'NotUnique' UNIQUE = 'Unique' UNIQUE_TO_CUSTOMER = 'UniqueToCustomer' @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DataField: id: Optional[str] = None name: Optional[str] = None type: Optional[ValueTypes] = None ui_hint: Optional[UIHints] = None ui_tab: Optional[str] = None is_async: bool = False disable_binding: bool = False struct_type: Optional[DataType] = None list_type: Optional[DataType] = None description: Optional[str] = None possible_values: Optional[List[str]] = None is_output: bool = False custom_field_values_url: Optional[str] = None default_value: Optional[Value] = None transition_name_format: Optional[str] = None uniqueness: Optional[DataFieldUniqueness] = None voice_only: bool = False conditional_visibility_field: Optional[str] = None conditional_visibility_value: Optional[str] = None no_eval_template: bool = False user_mode: Optional[UserDataFieldModes] = None any_value_type: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DataType: type_name: Optional[str] = None fields: Optional[List[DataField]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class EndpointDataField(DataField): show_in_search: bool = False show_in_lists: bool = False endpoint_type: Optional[EndpointTypes] = None is_caller_id: bool = False is_knob: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AppSystemSettingsInfo: endpoint_fields: Optional[List[EndpointDataField]] = None # @ApiMember(Description="Is this customer a HostedSuite customer?") is_hosted_suite_customer: bool = False """ Is this customer a HostedSuite customer? """ # @ApiMember(Description="The customer's time zone") customer_time_zone_id: Optional[str] = None """ The customer's time zone """ # @Route("/portal/system-settings") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AppGetSystemSettings(IReturn[AppSystemSettingsInfo]): account_id: Optional[str] = None customer_id: Optional[str] = None