ultracart-rest-sdk 3.11.56__py3-none-any.whl → 3.11.57__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,7 @@ class ConversationAgentAuth(object):
35
35
  'chat_user': 'bool',
36
36
  'conversation_participant_arn': 'str',
37
37
  'conversation_participant_name': 'str',
38
+ 'default_phone_number': 'str',
38
39
  'group_ids': 'list[int]',
39
40
  'jwt': 'str',
40
41
  'merchant_id': 'str',
@@ -56,6 +57,7 @@ class ConversationAgentAuth(object):
56
57
  'chat_user': 'chat_user',
57
58
  'conversation_participant_arn': 'conversation_participant_arn',
58
59
  'conversation_participant_name': 'conversation_participant_name',
60
+ 'default_phone_number': 'default_phone_number',
59
61
  'group_ids': 'group_ids',
60
62
  'jwt': 'jwt',
61
63
  'merchant_id': 'merchant_id',
@@ -72,13 +74,14 @@ class ConversationAgentAuth(object):
72
74
  'websocket_url': 'websocket_url'
73
75
  }
74
76
 
75
- def __init__(self, chat_admin=None, chat_user=None, conversation_participant_arn=None, conversation_participant_name=None, group_ids=None, jwt=None, merchant_id=None, pbx_admin=None, pbx_jwt=None, pbx_supervisor=None, pbx_user=None, pbx_voice_identity=None, pbx_voice_token=None, pbx_worker_token=None, pbx_worker_token_v2=None, twilio_accounts=None, user_id=None, websocket_url=None): # noqa: E501
77
+ def __init__(self, chat_admin=None, chat_user=None, conversation_participant_arn=None, conversation_participant_name=None, default_phone_number=None, group_ids=None, jwt=None, merchant_id=None, pbx_admin=None, pbx_jwt=None, pbx_supervisor=None, pbx_user=None, pbx_voice_identity=None, pbx_voice_token=None, pbx_worker_token=None, pbx_worker_token_v2=None, twilio_accounts=None, user_id=None, websocket_url=None): # noqa: E501
76
78
  """ConversationAgentAuth - a model defined in Swagger""" # noqa: E501
77
79
 
78
80
  self._chat_admin = None
79
81
  self._chat_user = None
80
82
  self._conversation_participant_arn = None
81
83
  self._conversation_participant_name = None
84
+ self._default_phone_number = None
82
85
  self._group_ids = None
83
86
  self._jwt = None
84
87
  self._merchant_id = None
@@ -103,6 +106,8 @@ class ConversationAgentAuth(object):
103
106
  self.conversation_participant_arn = conversation_participant_arn
104
107
  if conversation_participant_name is not None:
105
108
  self.conversation_participant_name = conversation_participant_name
109
+ if default_phone_number is not None:
110
+ self.default_phone_number = default_phone_number
106
111
  if group_ids is not None:
107
112
  self.group_ids = group_ids
108
113
  if jwt is not None:
@@ -216,6 +221,29 @@ class ConversationAgentAuth(object):
216
221
 
217
222
  self._conversation_participant_name = conversation_participant_name
218
223
 
224
+ @property
225
+ def default_phone_number(self):
226
+ """Gets the default_phone_number of this ConversationAgentAuth. # noqa: E501
227
+
228
+ The default phone number this agent should use when making an outbound call. # noqa: E501
229
+
230
+ :return: The default_phone_number of this ConversationAgentAuth. # noqa: E501
231
+ :rtype: str
232
+ """
233
+ return self._default_phone_number
234
+
235
+ @default_phone_number.setter
236
+ def default_phone_number(self, default_phone_number):
237
+ """Sets the default_phone_number of this ConversationAgentAuth.
238
+
239
+ The default phone number this agent should use when making an outbound call. # noqa: E501
240
+
241
+ :param default_phone_number: The default_phone_number of this ConversationAgentAuth. # noqa: E501
242
+ :type: str
243
+ """
244
+
245
+ self._default_phone_number = default_phone_number
246
+
219
247
  @property
220
248
  def group_ids(self):
221
249
  """Gets the group_ids of this ConversationAgentAuth. # noqa: E501
@@ -35,6 +35,7 @@ class ConversationPbxAgent(object):
35
35
  'call_routing_preference': 'str',
36
36
  'cellphone': 'str',
37
37
  'conversation_pbx_agent_uuid': 'str',
38
+ 'cos_uuid': 'str',
38
39
  'default_phone_number_uuid': 'str',
39
40
  'extension': 'int',
40
41
  'full_name': 'str',
@@ -58,6 +59,7 @@ class ConversationPbxAgent(object):
58
59
  'call_routing_preference': 'call_routing_preference',
59
60
  'cellphone': 'cellphone',
60
61
  'conversation_pbx_agent_uuid': 'conversation_pbx_agent_uuid',
62
+ 'cos_uuid': 'cos_uuid',
61
63
  'default_phone_number_uuid': 'default_phone_number_uuid',
62
64
  'extension': 'extension',
63
65
  'full_name': 'full_name',
@@ -76,13 +78,14 @@ class ConversationPbxAgent(object):
76
78
  'voicemail': 'voicemail'
77
79
  }
78
80
 
79
- def __init__(self, ai=None, call_routing_preference=None, cellphone=None, conversation_pbx_agent_uuid=None, default_phone_number_uuid=None, extension=None, full_name=None, hardware_phone_uuids=None, login=None, merchant_id=None, personal_conversation_pbx_voicemail_mailbox_uuid=None, preferred_hardware_phone_uuid=None, record_outgoing_automatically=None, shared_conversation_pbx_voicemail_mailbox_uuid=None, twilio_taskrouter_worker_id=None, unavailable_play_audio_uuid=None, unavailable_say=None, unavailable_say_voice=None, user_id=None, voicemail=None): # noqa: E501
81
+ def __init__(self, ai=None, call_routing_preference=None, cellphone=None, conversation_pbx_agent_uuid=None, cos_uuid=None, default_phone_number_uuid=None, extension=None, full_name=None, hardware_phone_uuids=None, login=None, merchant_id=None, personal_conversation_pbx_voicemail_mailbox_uuid=None, preferred_hardware_phone_uuid=None, record_outgoing_automatically=None, shared_conversation_pbx_voicemail_mailbox_uuid=None, twilio_taskrouter_worker_id=None, unavailable_play_audio_uuid=None, unavailable_say=None, unavailable_say_voice=None, user_id=None, voicemail=None): # noqa: E501
80
82
  """ConversationPbxAgent - a model defined in Swagger""" # noqa: E501
81
83
 
82
84
  self._ai = None
83
85
  self._call_routing_preference = None
84
86
  self._cellphone = None
85
87
  self._conversation_pbx_agent_uuid = None
88
+ self._cos_uuid = None
86
89
  self._default_phone_number_uuid = None
87
90
  self._extension = None
88
91
  self._full_name = None
@@ -109,6 +112,8 @@ class ConversationPbxAgent(object):
109
112
  self.cellphone = cellphone
110
113
  if conversation_pbx_agent_uuid is not None:
111
114
  self.conversation_pbx_agent_uuid = conversation_pbx_agent_uuid
115
+ if cos_uuid is not None:
116
+ self.cos_uuid = cos_uuid
112
117
  if default_phone_number_uuid is not None:
113
118
  self.default_phone_number_uuid = default_phone_number_uuid
114
119
  if extension is not None:
@@ -242,6 +247,29 @@ class ConversationPbxAgent(object):
242
247
 
243
248
  self._conversation_pbx_agent_uuid = conversation_pbx_agent_uuid
244
249
 
250
+ @property
251
+ def cos_uuid(self):
252
+ """Gets the cos_uuid of this ConversationPbxAgent. # noqa: E501
253
+
254
+ Class of Service UUID. If null, the merchant default CoS applies. # noqa: E501
255
+
256
+ :return: The cos_uuid of this ConversationPbxAgent. # noqa: E501
257
+ :rtype: str
258
+ """
259
+ return self._cos_uuid
260
+
261
+ @cos_uuid.setter
262
+ def cos_uuid(self, cos_uuid):
263
+ """Sets the cos_uuid of this ConversationPbxAgent.
264
+
265
+ Class of Service UUID. If null, the merchant default CoS applies. # noqa: E501
266
+
267
+ :param cos_uuid: The cos_uuid of this ConversationPbxAgent. # noqa: E501
268
+ :type: str
269
+ """
270
+
271
+ self._cos_uuid = cos_uuid
272
+
245
273
  @property
246
274
  def default_phone_number_uuid(self):
247
275
  """Gets the default_phone_number_uuid of this ConversationPbxAgent. # noqa: E501
@@ -571,8 +599,12 @@ class ConversationPbxAgent(object):
571
599
  :param unavailable_say_voice: The unavailable_say_voice of this ConversationPbxAgent. # noqa: E501
572
600
  :type: str
573
601
  """
574
- if unavailable_say_voice is not None and len(unavailable_say_voice) > 50:
575
- raise ValueError("Invalid value for `unavailable_say_voice`, length must be less than or equal to `50`") # noqa: E501
602
+ allowed_values = ["man", "woman"] # noqa: E501
603
+ if unavailable_say_voice not in allowed_values:
604
+ raise ValueError(
605
+ "Invalid value for `unavailable_say_voice` ({0}), must be one of {1}" # noqa: E501
606
+ .format(unavailable_say_voice, allowed_values)
607
+ )
576
608
 
577
609
  self._unavailable_say_voice = unavailable_say_voice
578
610
 
@@ -34,6 +34,7 @@ class ConversationPbxCallRecording(object):
34
34
  'channels': 'int',
35
35
  'duration_seconds': 'int',
36
36
  'is_primary': 'bool',
37
+ 'recording_s3_key': 'str',
37
38
  'recording_sid': 'str',
38
39
  'recording_url': 'str',
39
40
  'status': 'str',
@@ -44,18 +45,20 @@ class ConversationPbxCallRecording(object):
44
45
  'channels': 'channels',
45
46
  'duration_seconds': 'duration_seconds',
46
47
  'is_primary': 'is_primary',
48
+ 'recording_s3_key': 'recording_s3_key',
47
49
  'recording_sid': 'recording_sid',
48
50
  'recording_url': 'recording_url',
49
51
  'status': 'status',
50
52
  'transcript': 'transcript'
51
53
  }
52
54
 
53
- def __init__(self, channels=None, duration_seconds=None, is_primary=None, recording_sid=None, recording_url=None, status=None, transcript=None): # noqa: E501
55
+ def __init__(self, channels=None, duration_seconds=None, is_primary=None, recording_s3_key=None, recording_sid=None, recording_url=None, status=None, transcript=None): # noqa: E501
54
56
  """ConversationPbxCallRecording - a model defined in Swagger""" # noqa: E501
55
57
 
56
58
  self._channels = None
57
59
  self._duration_seconds = None
58
60
  self._is_primary = None
61
+ self._recording_s3_key = None
59
62
  self._recording_sid = None
60
63
  self._recording_url = None
61
64
  self._status = None
@@ -68,6 +71,8 @@ class ConversationPbxCallRecording(object):
68
71
  self.duration_seconds = duration_seconds
69
72
  if is_primary is not None:
70
73
  self.is_primary = is_primary
74
+ if recording_s3_key is not None:
75
+ self.recording_s3_key = recording_s3_key
71
76
  if recording_sid is not None:
72
77
  self.recording_sid = recording_sid
73
78
  if recording_url is not None:
@@ -146,6 +151,29 @@ class ConversationPbxCallRecording(object):
146
151
 
147
152
  self._is_primary = is_primary
148
153
 
154
+ @property
155
+ def recording_s3_key(self):
156
+ """Gets the recording_s3_key of this ConversationPbxCallRecording. # noqa: E501
157
+
158
+ S3 key for the recording audio file # noqa: E501
159
+
160
+ :return: The recording_s3_key of this ConversationPbxCallRecording. # noqa: E501
161
+ :rtype: str
162
+ """
163
+ return self._recording_s3_key
164
+
165
+ @recording_s3_key.setter
166
+ def recording_s3_key(self, recording_s3_key):
167
+ """Sets the recording_s3_key of this ConversationPbxCallRecording.
168
+
169
+ S3 key for the recording audio file # noqa: E501
170
+
171
+ :param recording_s3_key: The recording_s3_key of this ConversationPbxCallRecording. # noqa: E501
172
+ :type: str
173
+ """
174
+
175
+ self._recording_s3_key = recording_s3_key
176
+
149
177
  @property
150
178
  def recording_sid(self):
151
179
  """Gets the recording_sid of this ConversationPbxCallRecording. # noqa: E501
@@ -0,0 +1,347 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ UltraCart Rest API V2
5
+
6
+ UltraCart REST API Version 2 # noqa: E501
7
+
8
+ OpenAPI spec version: 2.0.0
9
+ Contact: support@ultracart.com
10
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
11
+ """
12
+
13
+
14
+ import pprint
15
+ import re # noqa: F401
16
+
17
+ import six
18
+
19
+
20
+ class ConversationPbxClassOfService(object):
21
+ """NOTE: This class is auto generated by the swagger code generator program.
22
+
23
+ Do not edit the class manually.
24
+ """
25
+
26
+ """
27
+ Attributes:
28
+ swagger_types (dict): The key is attribute name
29
+ and the value is attribute type.
30
+ attribute_map (dict): The key is attribute name
31
+ and the value is json key in definition.
32
+ """
33
+ swagger_types = {
34
+ 'allowed_countries': 'list[str]',
35
+ 'block_premium_numbers': 'bool',
36
+ 'conversation_pbx_class_of_service_uuid': 'str',
37
+ 'default_flag': 'bool',
38
+ 'description': 'str',
39
+ 'merchant_id': 'str',
40
+ 'name': 'str',
41
+ 'outbound_enabled': 'bool',
42
+ 'time_range_uuid': 'str'
43
+ }
44
+
45
+ attribute_map = {
46
+ 'allowed_countries': 'allowed_countries',
47
+ 'block_premium_numbers': 'block_premium_numbers',
48
+ 'conversation_pbx_class_of_service_uuid': 'conversation_pbx_class_of_service_uuid',
49
+ 'default_flag': 'default_flag',
50
+ 'description': 'description',
51
+ 'merchant_id': 'merchant_id',
52
+ 'name': 'name',
53
+ 'outbound_enabled': 'outbound_enabled',
54
+ 'time_range_uuid': 'time_range_uuid'
55
+ }
56
+
57
+ def __init__(self, allowed_countries=None, block_premium_numbers=None, conversation_pbx_class_of_service_uuid=None, default_flag=None, description=None, merchant_id=None, name=None, outbound_enabled=None, time_range_uuid=None): # noqa: E501
58
+ """ConversationPbxClassOfService - a model defined in Swagger""" # noqa: E501
59
+
60
+ self._allowed_countries = None
61
+ self._block_premium_numbers = None
62
+ self._conversation_pbx_class_of_service_uuid = None
63
+ self._default_flag = None
64
+ self._description = None
65
+ self._merchant_id = None
66
+ self._name = None
67
+ self._outbound_enabled = None
68
+ self._time_range_uuid = None
69
+ self.discriminator = None
70
+
71
+ if allowed_countries is not None:
72
+ self.allowed_countries = allowed_countries
73
+ if block_premium_numbers is not None:
74
+ self.block_premium_numbers = block_premium_numbers
75
+ if conversation_pbx_class_of_service_uuid is not None:
76
+ self.conversation_pbx_class_of_service_uuid = conversation_pbx_class_of_service_uuid
77
+ if default_flag is not None:
78
+ self.default_flag = default_flag
79
+ if description is not None:
80
+ self.description = description
81
+ if merchant_id is not None:
82
+ self.merchant_id = merchant_id
83
+ if name is not None:
84
+ self.name = name
85
+ if outbound_enabled is not None:
86
+ self.outbound_enabled = outbound_enabled
87
+ if time_range_uuid is not None:
88
+ self.time_range_uuid = time_range_uuid
89
+
90
+ @property
91
+ def allowed_countries(self):
92
+ """Gets the allowed_countries of this ConversationPbxClassOfService. # noqa: E501
93
+
94
+ E.164 country calling codes (e.g. 1 for US/Canada, 44 for UK). Empty means domestic only. # noqa: E501
95
+
96
+ :return: The allowed_countries of this ConversationPbxClassOfService. # noqa: E501
97
+ :rtype: list[str]
98
+ """
99
+ return self._allowed_countries
100
+
101
+ @allowed_countries.setter
102
+ def allowed_countries(self, allowed_countries):
103
+ """Sets the allowed_countries of this ConversationPbxClassOfService.
104
+
105
+ E.164 country calling codes (e.g. 1 for US/Canada, 44 for UK). Empty means domestic only. # noqa: E501
106
+
107
+ :param allowed_countries: The allowed_countries of this ConversationPbxClassOfService. # noqa: E501
108
+ :type: list[str]
109
+ """
110
+
111
+ self._allowed_countries = allowed_countries
112
+
113
+ @property
114
+ def block_premium_numbers(self):
115
+ """Gets the block_premium_numbers of this ConversationPbxClassOfService. # noqa: E501
116
+
117
+ Block calls to 900, 976, premium-rate, and shortcode destinations # noqa: E501
118
+
119
+ :return: The block_premium_numbers of this ConversationPbxClassOfService. # noqa: E501
120
+ :rtype: bool
121
+ """
122
+ return self._block_premium_numbers
123
+
124
+ @block_premium_numbers.setter
125
+ def block_premium_numbers(self, block_premium_numbers):
126
+ """Sets the block_premium_numbers of this ConversationPbxClassOfService.
127
+
128
+ Block calls to 900, 976, premium-rate, and shortcode destinations # noqa: E501
129
+
130
+ :param block_premium_numbers: The block_premium_numbers of this ConversationPbxClassOfService. # noqa: E501
131
+ :type: bool
132
+ """
133
+
134
+ self._block_premium_numbers = block_premium_numbers
135
+
136
+ @property
137
+ def conversation_pbx_class_of_service_uuid(self):
138
+ """Gets the conversation_pbx_class_of_service_uuid of this ConversationPbxClassOfService. # noqa: E501
139
+
140
+ Class of Service unique identifier # noqa: E501
141
+
142
+ :return: The conversation_pbx_class_of_service_uuid of this ConversationPbxClassOfService. # noqa: E501
143
+ :rtype: str
144
+ """
145
+ return self._conversation_pbx_class_of_service_uuid
146
+
147
+ @conversation_pbx_class_of_service_uuid.setter
148
+ def conversation_pbx_class_of_service_uuid(self, conversation_pbx_class_of_service_uuid):
149
+ """Sets the conversation_pbx_class_of_service_uuid of this ConversationPbxClassOfService.
150
+
151
+ Class of Service unique identifier # noqa: E501
152
+
153
+ :param conversation_pbx_class_of_service_uuid: The conversation_pbx_class_of_service_uuid of this ConversationPbxClassOfService. # noqa: E501
154
+ :type: str
155
+ """
156
+
157
+ self._conversation_pbx_class_of_service_uuid = conversation_pbx_class_of_service_uuid
158
+
159
+ @property
160
+ def default_flag(self):
161
+ """Gets the default_flag of this ConversationPbxClassOfService. # noqa: E501
162
+
163
+ If true, this CoS applies to all agents without an explicit cos_uuid. Only one per merchant. # noqa: E501
164
+
165
+ :return: The default_flag of this ConversationPbxClassOfService. # noqa: E501
166
+ :rtype: bool
167
+ """
168
+ return self._default_flag
169
+
170
+ @default_flag.setter
171
+ def default_flag(self, default_flag):
172
+ """Sets the default_flag of this ConversationPbxClassOfService.
173
+
174
+ If true, this CoS applies to all agents without an explicit cos_uuid. Only one per merchant. # noqa: E501
175
+
176
+ :param default_flag: The default_flag of this ConversationPbxClassOfService. # noqa: E501
177
+ :type: bool
178
+ """
179
+
180
+ self._default_flag = default_flag
181
+
182
+ @property
183
+ def description(self):
184
+ """Gets the description of this ConversationPbxClassOfService. # noqa: E501
185
+
186
+ Description of the class of service # noqa: E501
187
+
188
+ :return: The description of this ConversationPbxClassOfService. # noqa: E501
189
+ :rtype: str
190
+ """
191
+ return self._description
192
+
193
+ @description.setter
194
+ def description(self, description):
195
+ """Sets the description of this ConversationPbxClassOfService.
196
+
197
+ Description of the class of service # noqa: E501
198
+
199
+ :param description: The description of this ConversationPbxClassOfService. # noqa: E501
200
+ :type: str
201
+ """
202
+ if description is not None and len(description) > 500:
203
+ raise ValueError("Invalid value for `description`, length must be less than or equal to `500`") # noqa: E501
204
+
205
+ self._description = description
206
+
207
+ @property
208
+ def merchant_id(self):
209
+ """Gets the merchant_id of this ConversationPbxClassOfService. # noqa: E501
210
+
211
+ Merchant Id # noqa: E501
212
+
213
+ :return: The merchant_id of this ConversationPbxClassOfService. # noqa: E501
214
+ :rtype: str
215
+ """
216
+ return self._merchant_id
217
+
218
+ @merchant_id.setter
219
+ def merchant_id(self, merchant_id):
220
+ """Sets the merchant_id of this ConversationPbxClassOfService.
221
+
222
+ Merchant Id # noqa: E501
223
+
224
+ :param merchant_id: The merchant_id of this ConversationPbxClassOfService. # noqa: E501
225
+ :type: str
226
+ """
227
+ if merchant_id is not None and len(merchant_id) > 5:
228
+ raise ValueError("Invalid value for `merchant_id`, length must be less than or equal to `5`") # noqa: E501
229
+
230
+ self._merchant_id = merchant_id
231
+
232
+ @property
233
+ def name(self):
234
+ """Gets the name of this ConversationPbxClassOfService. # noqa: E501
235
+
236
+ Display name for the class of service # noqa: E501
237
+
238
+ :return: The name of this ConversationPbxClassOfService. # noqa: E501
239
+ :rtype: str
240
+ """
241
+ return self._name
242
+
243
+ @name.setter
244
+ def name(self, name):
245
+ """Sets the name of this ConversationPbxClassOfService.
246
+
247
+ Display name for the class of service # noqa: E501
248
+
249
+ :param name: The name of this ConversationPbxClassOfService. # noqa: E501
250
+ :type: str
251
+ """
252
+ if name is not None and len(name) > 100:
253
+ raise ValueError("Invalid value for `name`, length must be less than or equal to `100`") # noqa: E501
254
+
255
+ self._name = name
256
+
257
+ @property
258
+ def outbound_enabled(self):
259
+ """Gets the outbound_enabled of this ConversationPbxClassOfService. # noqa: E501
260
+
261
+ Whether agents with this CoS can make outbound calls # noqa: E501
262
+
263
+ :return: The outbound_enabled of this ConversationPbxClassOfService. # noqa: E501
264
+ :rtype: bool
265
+ """
266
+ return self._outbound_enabled
267
+
268
+ @outbound_enabled.setter
269
+ def outbound_enabled(self, outbound_enabled):
270
+ """Sets the outbound_enabled of this ConversationPbxClassOfService.
271
+
272
+ Whether agents with this CoS can make outbound calls # noqa: E501
273
+
274
+ :param outbound_enabled: The outbound_enabled of this ConversationPbxClassOfService. # noqa: E501
275
+ :type: bool
276
+ """
277
+
278
+ self._outbound_enabled = outbound_enabled
279
+
280
+ @property
281
+ def time_range_uuid(self):
282
+ """Gets the time_range_uuid of this ConversationPbxClassOfService. # noqa: E501
283
+
284
+ UUID of a time range. If set, outbound calls only permitted during those time windows. # noqa: E501
285
+
286
+ :return: The time_range_uuid of this ConversationPbxClassOfService. # noqa: E501
287
+ :rtype: str
288
+ """
289
+ return self._time_range_uuid
290
+
291
+ @time_range_uuid.setter
292
+ def time_range_uuid(self, time_range_uuid):
293
+ """Sets the time_range_uuid of this ConversationPbxClassOfService.
294
+
295
+ UUID of a time range. If set, outbound calls only permitted during those time windows. # noqa: E501
296
+
297
+ :param time_range_uuid: The time_range_uuid of this ConversationPbxClassOfService. # noqa: E501
298
+ :type: str
299
+ """
300
+
301
+ self._time_range_uuid = time_range_uuid
302
+
303
+ def to_dict(self):
304
+ """Returns the model properties as a dict"""
305
+ result = {}
306
+
307
+ for attr, _ in six.iteritems(self.swagger_types):
308
+ value = getattr(self, attr)
309
+ if isinstance(value, list):
310
+ result[attr] = list(map(
311
+ lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
312
+ value
313
+ ))
314
+ elif hasattr(value, "to_dict"):
315
+ result[attr] = value.to_dict()
316
+ elif isinstance(value, dict):
317
+ result[attr] = dict(map(
318
+ lambda item: (item[0], item[1].to_dict())
319
+ if hasattr(item[1], "to_dict") else item,
320
+ value.items()
321
+ ))
322
+ else:
323
+ result[attr] = value
324
+ if issubclass(ConversationPbxClassOfService, dict):
325
+ for key, value in self.items():
326
+ result[key] = value
327
+
328
+ return result
329
+
330
+ def to_str(self):
331
+ """Returns the string representation of the model"""
332
+ return pprint.pformat(self.to_dict())
333
+
334
+ def __repr__(self):
335
+ """For `print` and `pprint`"""
336
+ return self.to_str()
337
+
338
+ def __eq__(self, other):
339
+ """Returns true if both objects are equal"""
340
+ if not isinstance(other, ConversationPbxClassOfService):
341
+ return False
342
+
343
+ return self.__dict__ == other.__dict__
344
+
345
+ def __ne__(self, other):
346
+ """Returns true if both objects are not equal"""
347
+ return not self == other