ultracart-rest-sdk 4.1.41__py3-none-any.whl → 4.1.49__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.
ultracart/api_client.py CHANGED
@@ -77,7 +77,7 @@ class ApiClient(object):
77
77
  self.default_headers[header_name] = header_value
78
78
  self.cookie = cookie
79
79
  # Set default User-Agent.
80
- self.user_agent = 'OpenAPI-Generator/4.1.41/python'
80
+ self.user_agent = 'OpenAPI-Generator/4.1.49/python'
81
81
 
82
82
  def __enter__(self):
83
83
  return self
@@ -422,7 +422,7 @@ conf = ultracart.Configuration(
422
422
  "OS: {env}\n"\
423
423
  "Python Version: {pyversion}\n"\
424
424
  "Version of the API: 2.0.0\n"\
425
- "SDK Package Version: 4.1.41".\
425
+ "SDK Package Version: 4.1.49".\
426
426
  format(env=sys.platform, pyversion=sys.version)
427
427
 
428
428
  def get_host_settings(self):
ultracart/model/cart.py CHANGED
@@ -49,6 +49,7 @@ def lazy_import():
49
49
  from ultracart.model.cart_summary import CartSummary
50
50
  from ultracart.model.cart_taxes import CartTaxes
51
51
  from ultracart.model.cart_upsell_after import CartUpsellAfter
52
+ from ultracart.model.cart_utm import CartUtm
52
53
  globals()['CartAffiliate'] = CartAffiliate
53
54
  globals()['CartBilling'] = CartBilling
54
55
  globals()['CartBuysafe'] = CartBuysafe
@@ -67,6 +68,7 @@ def lazy_import():
67
68
  globals()['CartSummary'] = CartSummary
68
69
  globals()['CartTaxes'] = CartTaxes
69
70
  globals()['CartUpsellAfter'] = CartUpsellAfter
71
+ globals()['CartUtm'] = CartUtm
70
72
 
71
73
 
72
74
  class Cart(ModelNormal):
@@ -157,6 +159,7 @@ class Cart(ModelNormal):
157
159
  'summary': (CartSummary,), # noqa: E501
158
160
  'taxes': (CartTaxes,), # noqa: E501
159
161
  'upsell_after': (CartUpsellAfter,), # noqa: E501
162
+ 'utms': ([CartUtm],), # noqa: E501
160
163
  }
161
164
 
162
165
  @cached_property
@@ -191,6 +194,7 @@ class Cart(ModelNormal):
191
194
  'summary': 'summary', # noqa: E501
192
195
  'taxes': 'taxes', # noqa: E501
193
196
  'upsell_after': 'upsell_after', # noqa: E501
197
+ 'utms': 'utms', # noqa: E501
194
198
  }
195
199
 
196
200
  read_only_vars = {
@@ -260,6 +264,7 @@ class Cart(ModelNormal):
260
264
  summary (CartSummary): [optional] # noqa: E501
261
265
  taxes (CartTaxes): [optional] # noqa: E501
262
266
  upsell_after (CartUpsellAfter): [optional] # noqa: E501
267
+ utms ([CartUtm]): UTM clicks. The zero index is the most recent (last) UTM click. Only available in BigQuery and on an abandon webhook.. [optional] # noqa: E501
263
268
  """
264
269
 
265
270
  _check_type = kwargs.pop('_check_type', True)
@@ -371,6 +376,7 @@ class Cart(ModelNormal):
371
376
  summary (CartSummary): [optional] # noqa: E501
372
377
  taxes (CartTaxes): [optional] # noqa: E501
373
378
  upsell_after (CartUpsellAfter): [optional] # noqa: E501
379
+ utms ([CartUtm]): UTM clicks. The zero index is the most recent (last) UTM click. Only available in BigQuery and on an abandon webhook.. [optional] # noqa: E501
374
380
  """
375
381
 
376
382
  _check_type = kwargs.pop('_check_type', True)
@@ -0,0 +1,388 @@
1
+ """
2
+ UltraCart Rest API V2
3
+
4
+ UltraCart REST API Version 2 # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ """
10
+
11
+
12
+ import re # noqa: F401
13
+ import sys # noqa: F401
14
+
15
+ from ultracart.model_utils import ( # noqa: F401
16
+ ApiTypeError,
17
+ ModelComposed,
18
+ ModelNormal,
19
+ ModelSimple,
20
+ cached_property,
21
+ change_keys_js_to_python,
22
+ convert_js_args_to_python_args,
23
+ date,
24
+ datetime,
25
+ file_type,
26
+ none_type,
27
+ validate_get_composed_info,
28
+ OpenApiModel
29
+ )
30
+ from ultracart.exceptions import ApiAttributeError
31
+
32
+
33
+
34
+ class CartUtm(ModelNormal):
35
+ """NOTE: This class is auto generated by OpenAPI Generator.
36
+ Ref: https://openapi-generator.tech
37
+
38
+ Do not edit the class manually.
39
+
40
+ Attributes:
41
+ allowed_values (dict): The key is the tuple path to the attribute
42
+ and the for var_name this is (var_name,). The value is a dict
43
+ with a capitalized key describing the allowed value and an allowed
44
+ value. These dicts store the allowed enum values.
45
+ attribute_map (dict): The key is attribute name
46
+ and the value is json key in definition.
47
+ discriminator_value_class_map (dict): A dict to go from the discriminator
48
+ variable value to the discriminator class name.
49
+ validations (dict): The key is the tuple path to the attribute
50
+ and the for var_name this is (var_name,). The value is a dict
51
+ that stores validations for max_length, min_length, max_items,
52
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
53
+ inclusive_minimum, and regex.
54
+ additional_properties_type (tuple): A tuple of classes accepted
55
+ as additional properties values.
56
+ """
57
+
58
+ allowed_values = {
59
+ }
60
+
61
+ validations = {
62
+ }
63
+
64
+ @cached_property
65
+ def additional_properties_type():
66
+ """
67
+ This must be a method because a model may have properties that are
68
+ of type self, this must run after the class is loaded
69
+ """
70
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
71
+
72
+ _nullable = False
73
+
74
+ @cached_property
75
+ def openapi_types():
76
+ """
77
+ This must be a method because a model may have properties that are
78
+ of type self, this must run after the class is loaded
79
+
80
+ Returns
81
+ openapi_types (dict): The key is attribute name
82
+ and the value is attribute type.
83
+ """
84
+ return {
85
+ 'attribution_first_click_subtotal': (float,), # noqa: E501
86
+ 'attribution_first_click_total': (float,), # noqa: E501
87
+ 'attribution_last_click_subtotal': (float,), # noqa: E501
88
+ 'attribution_last_click_total': (float,), # noqa: E501
89
+ 'attribution_linear_subtotal': (float,), # noqa: E501
90
+ 'attribution_linear_total': (float,), # noqa: E501
91
+ 'attribution_position_based_subtotal': (float,), # noqa: E501
92
+ 'attribution_position_based_total': (float,), # noqa: E501
93
+ 'click_dts': (str,), # noqa: E501
94
+ 'facebook_ad_id': (str,), # noqa: E501
95
+ 'fbclid': (str,), # noqa: E501
96
+ 'gbraid': (str,), # noqa: E501
97
+ 'glcid': (str,), # noqa: E501
98
+ 'itm_campaign': (str,), # noqa: E501
99
+ 'itm_content': (str,), # noqa: E501
100
+ 'itm_id': (str,), # noqa: E501
101
+ 'itm_medium': (str,), # noqa: E501
102
+ 'itm_source': (str,), # noqa: E501
103
+ 'itm_term': (str,), # noqa: E501
104
+ 'msclkid': (str,), # noqa: E501
105
+ 'short_code': (str,), # noqa: E501
106
+ 'short_code_backup': (bool,), # noqa: E501
107
+ 'ttclid': (str,), # noqa: E501
108
+ 'uc_message_id': (str,), # noqa: E501
109
+ 'utm_campaign': (str,), # noqa: E501
110
+ 'utm_content': (str,), # noqa: E501
111
+ 'utm_id': (str,), # noqa: E501
112
+ 'utm_medium': (str,), # noqa: E501
113
+ 'utm_source': (str,), # noqa: E501
114
+ 'utm_term': (str,), # noqa: E501
115
+ 'vmcid': (str,), # noqa: E501
116
+ 'wbraid': (str,), # noqa: E501
117
+ }
118
+
119
+ @cached_property
120
+ def discriminator():
121
+ return None
122
+
123
+
124
+ attribute_map = {
125
+ 'attribution_first_click_subtotal': 'attribution_first_click_subtotal', # noqa: E501
126
+ 'attribution_first_click_total': 'attribution_first_click_total', # noqa: E501
127
+ 'attribution_last_click_subtotal': 'attribution_last_click_subtotal', # noqa: E501
128
+ 'attribution_last_click_total': 'attribution_last_click_total', # noqa: E501
129
+ 'attribution_linear_subtotal': 'attribution_linear_subtotal', # noqa: E501
130
+ 'attribution_linear_total': 'attribution_linear_total', # noqa: E501
131
+ 'attribution_position_based_subtotal': 'attribution_position_based_subtotal', # noqa: E501
132
+ 'attribution_position_based_total': 'attribution_position_based_total', # noqa: E501
133
+ 'click_dts': 'click_dts', # noqa: E501
134
+ 'facebook_ad_id': 'facebook_ad_id', # noqa: E501
135
+ 'fbclid': 'fbclid', # noqa: E501
136
+ 'gbraid': 'gbraid', # noqa: E501
137
+ 'glcid': 'glcid', # noqa: E501
138
+ 'itm_campaign': 'itm_campaign', # noqa: E501
139
+ 'itm_content': 'itm_content', # noqa: E501
140
+ 'itm_id': 'itm_id', # noqa: E501
141
+ 'itm_medium': 'itm_medium', # noqa: E501
142
+ 'itm_source': 'itm_source', # noqa: E501
143
+ 'itm_term': 'itm_term', # noqa: E501
144
+ 'msclkid': 'msclkid', # noqa: E501
145
+ 'short_code': 'short_code', # noqa: E501
146
+ 'short_code_backup': 'short_code_backup', # noqa: E501
147
+ 'ttclid': 'ttclid', # noqa: E501
148
+ 'uc_message_id': 'uc_message_id', # noqa: E501
149
+ 'utm_campaign': 'utm_campaign', # noqa: E501
150
+ 'utm_content': 'utm_content', # noqa: E501
151
+ 'utm_id': 'utm_id', # noqa: E501
152
+ 'utm_medium': 'utm_medium', # noqa: E501
153
+ 'utm_source': 'utm_source', # noqa: E501
154
+ 'utm_term': 'utm_term', # noqa: E501
155
+ 'vmcid': 'vmcid', # noqa: E501
156
+ 'wbraid': 'wbraid', # noqa: E501
157
+ }
158
+
159
+ read_only_vars = {
160
+ }
161
+
162
+ _composed_schemas = {}
163
+
164
+ @classmethod
165
+ @convert_js_args_to_python_args
166
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
167
+ """CartUtm - a model defined in OpenAPI
168
+
169
+ Keyword Args:
170
+ _check_type (bool): if True, values for parameters in openapi_types
171
+ will be type checked and a TypeError will be
172
+ raised if the wrong type is input.
173
+ Defaults to True
174
+ _path_to_item (tuple/list): This is a list of keys or values to
175
+ drill down to the model in received_data
176
+ when deserializing a response
177
+ _spec_property_naming (bool): True if the variable names in the input data
178
+ are serialized names, as specified in the OpenAPI document.
179
+ False if the variable names in the input data
180
+ are pythonic names, e.g. snake case (default)
181
+ _configuration (Configuration): the instance to use when
182
+ deserializing a file_type parameter.
183
+ If passed, type conversion is attempted
184
+ If omitted no type conversion is done.
185
+ _visited_composed_classes (tuple): This stores a tuple of
186
+ classes that we have traveled through so that
187
+ if we see that class again we will not use its
188
+ discriminator again.
189
+ When traveling through a discriminator, the
190
+ composed schema that is
191
+ is traveled through is added to this set.
192
+ For example if Animal has a discriminator
193
+ petType and we pass in "Dog", and the class Dog
194
+ allOf includes Animal, we move through Animal
195
+ once using the discriminator, and pick Dog.
196
+ Then in Dog, we will make an instance of the
197
+ Animal class but this time we won't travel
198
+ through its discriminator because we passed in
199
+ _visited_composed_classes = (Animal,)
200
+ attribution_first_click_subtotal (float): [optional] # noqa: E501
201
+ attribution_first_click_total (float): [optional] # noqa: E501
202
+ attribution_last_click_subtotal (float): [optional] # noqa: E501
203
+ attribution_last_click_total (float): [optional] # noqa: E501
204
+ attribution_linear_subtotal (float): [optional] # noqa: E501
205
+ attribution_linear_total (float): [optional] # noqa: E501
206
+ attribution_position_based_subtotal (float): [optional] # noqa: E501
207
+ attribution_position_based_total (float): [optional] # noqa: E501
208
+ click_dts (str): Date/time that the click happened. [optional] # noqa: E501
209
+ facebook_ad_id (str): [optional] # noqa: E501
210
+ fbclid (str): [optional] # noqa: E501
211
+ gbraid (str): [optional] # noqa: E501
212
+ glcid (str): [optional] # noqa: E501
213
+ itm_campaign (str): [optional] # noqa: E501
214
+ itm_content (str): [optional] # noqa: E501
215
+ itm_id (str): [optional] # noqa: E501
216
+ itm_medium (str): [optional] # noqa: E501
217
+ itm_source (str): [optional] # noqa: E501
218
+ itm_term (str): [optional] # noqa: E501
219
+ msclkid (str): [optional] # noqa: E501
220
+ short_code (str): [optional] # noqa: E501
221
+ short_code_backup (bool): [optional] # noqa: E501
222
+ ttclid (str): [optional] # noqa: E501
223
+ uc_message_id (str): [optional] # noqa: E501
224
+ utm_campaign (str): [optional] # noqa: E501
225
+ utm_content (str): [optional] # noqa: E501
226
+ utm_id (str): [optional] # noqa: E501
227
+ utm_medium (str): [optional] # noqa: E501
228
+ utm_source (str): [optional] # noqa: E501
229
+ utm_term (str): [optional] # noqa: E501
230
+ vmcid (str): [optional] # noqa: E501
231
+ wbraid (str): [optional] # noqa: E501
232
+ """
233
+
234
+ _check_type = kwargs.pop('_check_type', True)
235
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
236
+ _path_to_item = kwargs.pop('_path_to_item', ())
237
+ _configuration = kwargs.pop('_configuration', None)
238
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
239
+
240
+ self = super(OpenApiModel, cls).__new__(cls)
241
+
242
+ if args:
243
+ for arg in args:
244
+ if isinstance(arg, dict):
245
+ kwargs.update(arg)
246
+ else:
247
+ raise ApiTypeError(
248
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
249
+ args,
250
+ self.__class__.__name__,
251
+ ),
252
+ path_to_item=_path_to_item,
253
+ valid_classes=(self.__class__,),
254
+ )
255
+
256
+ self._data_store = {}
257
+ self._check_type = _check_type
258
+ self._spec_property_naming = _spec_property_naming
259
+ self._path_to_item = _path_to_item
260
+ self._configuration = _configuration
261
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
262
+
263
+ for var_name, var_value in kwargs.items():
264
+ if var_name not in self.attribute_map and \
265
+ self._configuration is not None and \
266
+ self._configuration.discard_unknown_keys and \
267
+ self.additional_properties_type is None:
268
+ # discard variable.
269
+ continue
270
+ setattr(self, var_name, var_value)
271
+ return self
272
+
273
+ required_properties = set([
274
+ '_data_store',
275
+ '_check_type',
276
+ '_spec_property_naming',
277
+ '_path_to_item',
278
+ '_configuration',
279
+ '_visited_composed_classes',
280
+ ])
281
+
282
+ @convert_js_args_to_python_args
283
+ def __init__(self, *args, **kwargs): # noqa: E501
284
+ """CartUtm - a model defined in OpenAPI
285
+
286
+ Keyword Args:
287
+ _check_type (bool): if True, values for parameters in openapi_types
288
+ will be type checked and a TypeError will be
289
+ raised if the wrong type is input.
290
+ Defaults to True
291
+ _path_to_item (tuple/list): This is a list of keys or values to
292
+ drill down to the model in received_data
293
+ when deserializing a response
294
+ _spec_property_naming (bool): True if the variable names in the input data
295
+ are serialized names, as specified in the OpenAPI document.
296
+ False if the variable names in the input data
297
+ are pythonic names, e.g. snake case (default)
298
+ _configuration (Configuration): the instance to use when
299
+ deserializing a file_type parameter.
300
+ If passed, type conversion is attempted
301
+ If omitted no type conversion is done.
302
+ _visited_composed_classes (tuple): This stores a tuple of
303
+ classes that we have traveled through so that
304
+ if we see that class again we will not use its
305
+ discriminator again.
306
+ When traveling through a discriminator, the
307
+ composed schema that is
308
+ is traveled through is added to this set.
309
+ For example if Animal has a discriminator
310
+ petType and we pass in "Dog", and the class Dog
311
+ allOf includes Animal, we move through Animal
312
+ once using the discriminator, and pick Dog.
313
+ Then in Dog, we will make an instance of the
314
+ Animal class but this time we won't travel
315
+ through its discriminator because we passed in
316
+ _visited_composed_classes = (Animal,)
317
+ attribution_first_click_subtotal (float): [optional] # noqa: E501
318
+ attribution_first_click_total (float): [optional] # noqa: E501
319
+ attribution_last_click_subtotal (float): [optional] # noqa: E501
320
+ attribution_last_click_total (float): [optional] # noqa: E501
321
+ attribution_linear_subtotal (float): [optional] # noqa: E501
322
+ attribution_linear_total (float): [optional] # noqa: E501
323
+ attribution_position_based_subtotal (float): [optional] # noqa: E501
324
+ attribution_position_based_total (float): [optional] # noqa: E501
325
+ click_dts (str): Date/time that the click happened. [optional] # noqa: E501
326
+ facebook_ad_id (str): [optional] # noqa: E501
327
+ fbclid (str): [optional] # noqa: E501
328
+ gbraid (str): [optional] # noqa: E501
329
+ glcid (str): [optional] # noqa: E501
330
+ itm_campaign (str): [optional] # noqa: E501
331
+ itm_content (str): [optional] # noqa: E501
332
+ itm_id (str): [optional] # noqa: E501
333
+ itm_medium (str): [optional] # noqa: E501
334
+ itm_source (str): [optional] # noqa: E501
335
+ itm_term (str): [optional] # noqa: E501
336
+ msclkid (str): [optional] # noqa: E501
337
+ short_code (str): [optional] # noqa: E501
338
+ short_code_backup (bool): [optional] # noqa: E501
339
+ ttclid (str): [optional] # noqa: E501
340
+ uc_message_id (str): [optional] # noqa: E501
341
+ utm_campaign (str): [optional] # noqa: E501
342
+ utm_content (str): [optional] # noqa: E501
343
+ utm_id (str): [optional] # noqa: E501
344
+ utm_medium (str): [optional] # noqa: E501
345
+ utm_source (str): [optional] # noqa: E501
346
+ utm_term (str): [optional] # noqa: E501
347
+ vmcid (str): [optional] # noqa: E501
348
+ wbraid (str): [optional] # noqa: E501
349
+ """
350
+
351
+ _check_type = kwargs.pop('_check_type', True)
352
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
353
+ _path_to_item = kwargs.pop('_path_to_item', ())
354
+ _configuration = kwargs.pop('_configuration', None)
355
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
356
+
357
+ if args:
358
+ for arg in args:
359
+ if isinstance(arg, dict):
360
+ kwargs.update(arg)
361
+ else:
362
+ raise ApiTypeError(
363
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
364
+ args,
365
+ self.__class__.__name__,
366
+ ),
367
+ path_to_item=_path_to_item,
368
+ valid_classes=(self.__class__,),
369
+ )
370
+
371
+ self._data_store = {}
372
+ self._check_type = _check_type
373
+ self._spec_property_naming = _spec_property_naming
374
+ self._path_to_item = _path_to_item
375
+ self._configuration = _configuration
376
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
377
+
378
+ for var_name, var_value in kwargs.items():
379
+ if var_name not in self.attribute_map and \
380
+ self._configuration is not None and \
381
+ self._configuration.discard_unknown_keys and \
382
+ self.additional_properties_type is None:
383
+ # discard variable.
384
+ continue
385
+ setattr(self, var_name, var_value)
386
+ if var_name in self.read_only_vars:
387
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
388
+ f"class with read only attributes.")
@@ -88,6 +88,8 @@ class ConversationAgentAuth(ModelNormal):
88
88
  """
89
89
  lazy_import()
90
90
  return {
91
+ 'chat_admin': (bool,), # noqa: E501
92
+ 'chat_user': (bool,), # noqa: E501
91
93
  'conversation_participant_arn': (str,), # noqa: E501
92
94
  'conversation_participant_name': (str,), # noqa: E501
93
95
  'group_ids': ([int],), # noqa: E501
@@ -112,6 +114,8 @@ class ConversationAgentAuth(ModelNormal):
112
114
 
113
115
 
114
116
  attribute_map = {
117
+ 'chat_admin': 'chat_admin', # noqa: E501
118
+ 'chat_user': 'chat_user', # noqa: E501
115
119
  'conversation_participant_arn': 'conversation_participant_arn', # noqa: E501
116
120
  'conversation_participant_name': 'conversation_participant_name', # noqa: E501
117
121
  'group_ids': 'group_ids', # noqa: E501
@@ -171,6 +175,8 @@ class ConversationAgentAuth(ModelNormal):
171
175
  Animal class but this time we won't travel
172
176
  through its discriminator because we passed in
173
177
  _visited_composed_classes = (Animal,)
178
+ chat_admin (bool): [optional] # noqa: E501
179
+ chat_user (bool): [optional] # noqa: E501
174
180
  conversation_participant_arn (str): [optional] # noqa: E501
175
181
  conversation_participant_name (str): [optional] # noqa: E501
176
182
  group_ids ([int]): UltraCart Groups this user belongs to. [optional] # noqa: E501
@@ -272,6 +278,8 @@ class ConversationAgentAuth(ModelNormal):
272
278
  Animal class but this time we won't travel
273
279
  through its discriminator because we passed in
274
280
  _visited_composed_classes = (Animal,)
281
+ chat_admin (bool): [optional] # noqa: E501
282
+ chat_user (bool): [optional] # noqa: E501
275
283
  conversation_participant_arn (str): [optional] # noqa: E501
276
284
  conversation_participant_name (str): [optional] # noqa: E501
277
285
  group_ids ([int]): UltraCart Groups this user belongs to. [optional] # noqa: E501
@@ -82,6 +82,7 @@ class ConversationDepartmentMember(ModelNormal):
82
82
  and the value is attribute type.
83
83
  """
84
84
  return {
85
+ 'ai': (bool,), # noqa: E501
85
86
  'member': (bool,), # noqa: E501
86
87
  'name': (str,), # noqa: E501
87
88
  'user_id': (int,), # noqa: E501
@@ -93,6 +94,7 @@ class ConversationDepartmentMember(ModelNormal):
93
94
 
94
95
 
95
96
  attribute_map = {
97
+ 'ai': 'ai', # noqa: E501
96
98
  'member': 'member', # noqa: E501
97
99
  'name': 'name', # noqa: E501
98
100
  'user_id': 'user_id', # noqa: E501
@@ -139,6 +141,7 @@ class ConversationDepartmentMember(ModelNormal):
139
141
  Animal class but this time we won't travel
140
142
  through its discriminator because we passed in
141
143
  _visited_composed_classes = (Animal,)
144
+ ai (bool): [optional] # noqa: E501
142
145
  member (bool): [optional] # noqa: E501
143
146
  name (str): [optional] # noqa: E501
144
147
  user_id (int): [optional] # noqa: E501
@@ -227,6 +230,7 @@ class ConversationDepartmentMember(ModelNormal):
227
230
  Animal class but this time we won't travel
228
231
  through its discriminator because we passed in
229
232
  _visited_composed_classes = (Animal,)
233
+ ai (bool): [optional] # noqa: E501
230
234
  member (bool): [optional] # noqa: E501
231
235
  name (str): [optional] # noqa: E501
232
236
  user_id (int): [optional] # noqa: E501
@@ -122,6 +122,7 @@ class ConversationPbxAddress(ModelNormal):
122
122
  'postal_code': (str,), # noqa: E501
123
123
  'region': (str,), # noqa: E501
124
124
  'street': (str,), # noqa: E501
125
+ 'valid': (bool,), # noqa: E501
125
126
  'validated': (bool,), # noqa: E501
126
127
  'verified': (bool,), # noqa: E501
127
128
  }
@@ -142,6 +143,7 @@ class ConversationPbxAddress(ModelNormal):
142
143
  'postal_code': 'postal_code', # noqa: E501
143
144
  'region': 'region', # noqa: E501
144
145
  'street': 'street', # noqa: E501
146
+ 'valid': 'valid', # noqa: E501
145
147
  'validated': 'validated', # noqa: E501
146
148
  'verified': 'verified', # noqa: E501
147
149
  }
@@ -197,6 +199,7 @@ class ConversationPbxAddress(ModelNormal):
197
199
  postal_code (str): Postal code. [optional] # noqa: E501
198
200
  region (str): State/Province/Region. [optional] # noqa: E501
199
201
  street (str): Street address. [optional] # noqa: E501
202
+ valid (bool): Whether the address is valid (validated or verified). [optional] # noqa: E501
200
203
  validated (bool): Whether the address has been validated by Twilio. [optional] # noqa: E501
201
204
  verified (bool): Whether the address has been verified by Twilio. [optional] # noqa: E501
202
205
  """
@@ -294,6 +297,7 @@ class ConversationPbxAddress(ModelNormal):
294
297
  postal_code (str): Postal code. [optional] # noqa: E501
295
298
  region (str): State/Province/Region. [optional] # noqa: E501
296
299
  street (str): Street address. [optional] # noqa: E501
300
+ valid (bool): Whether the address is valid (validated or verified). [optional] # noqa: E501
297
301
  validated (bool): Whether the address has been validated by Twilio. [optional] # noqa: E501
298
302
  verified (bool): Whether the address has been verified by Twilio. [optional] # noqa: E501
299
303
  """
@@ -108,6 +108,7 @@ class ConversationPbxAvailablePhoneNumber(ModelNormal):
108
108
  'friendly_name': (str,), # noqa: E501
109
109
  'locality': (str,), # noqa: E501
110
110
  'mms': (bool,), # noqa: E501
111
+ 'monthly_cost': (float,), # noqa: E501
111
112
  'phone_number': (str,), # noqa: E501
112
113
  'region': (str,), # noqa: E501
113
114
  'sms': (bool,), # noqa: E501
@@ -125,6 +126,7 @@ class ConversationPbxAvailablePhoneNumber(ModelNormal):
125
126
  'friendly_name': 'friendly_name', # noqa: E501
126
127
  'locality': 'locality', # noqa: E501
127
128
  'mms': 'mms', # noqa: E501
129
+ 'monthly_cost': 'monthly_cost', # noqa: E501
128
130
  'phone_number': 'phone_number', # noqa: E501
129
131
  'region': 'region', # noqa: E501
130
132
  'sms': 'sms', # noqa: E501
@@ -177,6 +179,7 @@ class ConversationPbxAvailablePhoneNumber(ModelNormal):
177
179
  friendly_name (str): Friendly formatted phone number. [optional] # noqa: E501
178
180
  locality (str): City/Locality. [optional] # noqa: E501
179
181
  mms (bool): MMS capability. [optional] # noqa: E501
182
+ monthly_cost (float): Monthly cost for this phone number. [optional] # noqa: E501
180
183
  phone_number (str): Phone number in E.164 format. [optional] # noqa: E501
181
184
  region (str): State/Province/Region. [optional] # noqa: E501
182
185
  sms (bool): SMS capability. [optional] # noqa: E501
@@ -271,6 +274,7 @@ class ConversationPbxAvailablePhoneNumber(ModelNormal):
271
274
  friendly_name (str): Friendly formatted phone number. [optional] # noqa: E501
272
275
  locality (str): City/Locality. [optional] # noqa: E501
273
276
  mms (bool): MMS capability. [optional] # noqa: E501
277
+ monthly_cost (float): Monthly cost for this phone number. [optional] # noqa: E501
274
278
  phone_number (str): Phone number in E.164 format. [optional] # noqa: E501
275
279
  region (str): State/Province/Region. [optional] # noqa: E501
276
280
  sms (bool): SMS capability. [optional] # noqa: E501