ultracart_api 3.9.1 → 3.9.2

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -6
  3. data/docs/AddLibraryItemRequest.md +1 -0
  4. data/docs/Browser.md +10 -0
  5. data/docs/BrowserDevice.md +8 -0
  6. data/docs/BrowserOS.md +12 -0
  7. data/docs/BrowserUserAgent.md +11 -0
  8. data/docs/Cart.md +1 -0
  9. data/docs/DistributionCenter.md +1 -0
  10. data/docs/EmailCommseqPostcard.md +8 -0
  11. data/docs/GiftCertificate.md +2 -0
  12. data/docs/ItemTax.md +1 -0
  13. data/docs/OrderCheckout.md +2 -0
  14. data/docs/OrderItem.md +1 -0
  15. data/docs/TaxProviderUltraCartState.md +3 -0
  16. data/docs/TaxState.md +3 -0
  17. data/lib/ultracart_api/models/add_library_item_request.rb +11 -1
  18. data/lib/ultracart_api/models/browser.rb +202 -0
  19. data/lib/ultracart_api/models/browser_device.rb +184 -0
  20. data/lib/ultracart_api/models/browser_os.rb +220 -0
  21. data/lib/ultracart_api/models/browser_user_agent.rb +211 -0
  22. data/lib/ultracart_api/models/cart.rb +11 -1
  23. data/lib/ultracart_api/models/customer_tag.rb +5 -5
  24. data/lib/ultracart_api/models/distribution_center.rb +11 -1
  25. data/lib/ultracart_api/models/email_commseq_postcard.rb +81 -1
  26. data/lib/ultracart_api/models/gift_certificate.rb +36 -1
  27. data/lib/ultracart_api/models/item_tax.rb +45 -1
  28. data/lib/ultracart_api/models/order_checkout.rb +20 -1
  29. data/lib/ultracart_api/models/order_item.rb +45 -1
  30. data/lib/ultracart_api/models/tax_provider_ultra_cart_state.rb +31 -1
  31. data/lib/ultracart_api/models/tax_state.rb +31 -1
  32. data/lib/ultracart_api/models/user.rb +15 -0
  33. data/lib/ultracart_api/version.rb +1 -1
  34. data/lib/ultracart_api.rb +4 -0
  35. metadata +10 -2
@@ -20,6 +20,9 @@ module UltracartClient
20
20
  # The code used by the customer to purchase against this gift certificate.
21
21
  attr_accessor :code
22
22
 
23
+ # This is the customer profile oid associated with this internally managed gift certificate.
24
+ attr_accessor :customer_profile_oid
25
+
23
26
  # True if this gift certificate was deleted.
24
27
  attr_accessor :deleted
25
28
 
@@ -32,6 +35,9 @@ module UltracartClient
32
35
  # Gift certificate oid.
33
36
  attr_accessor :gift_certificate_oid
34
37
 
38
+ # This is an internally managed gift certificate associated with the loyalty cash rewards program.
39
+ attr_accessor :internal
40
+
35
41
  # A list of all ledger activity for this gift certificate.
36
42
  attr_accessor :ledger_entries
37
43
 
@@ -55,10 +61,12 @@ module UltracartClient
55
61
  {
56
62
  :'activated' => :'activated',
57
63
  :'code' => :'code',
64
+ :'customer_profile_oid' => :'customer_profile_oid',
58
65
  :'deleted' => :'deleted',
59
66
  :'email' => :'email',
60
67
  :'expiration_dts' => :'expiration_dts',
61
68
  :'gift_certificate_oid' => :'gift_certificate_oid',
69
+ :'internal' => :'internal',
62
70
  :'ledger_entries' => :'ledger_entries',
63
71
  :'merchant_id' => :'merchant_id',
64
72
  :'merchant_note' => :'merchant_note',
@@ -73,10 +81,12 @@ module UltracartClient
73
81
  {
74
82
  :'activated' => :'BOOLEAN',
75
83
  :'code' => :'String',
84
+ :'customer_profile_oid' => :'Integer',
76
85
  :'deleted' => :'BOOLEAN',
77
86
  :'email' => :'String',
78
87
  :'expiration_dts' => :'String',
79
88
  :'gift_certificate_oid' => :'Integer',
89
+ :'internal' => :'BOOLEAN',
80
90
  :'ledger_entries' => :'Array<GiftCertificateLedgerEntry>',
81
91
  :'merchant_id' => :'String',
82
92
  :'merchant_note' => :'String',
@@ -102,6 +112,10 @@ module UltracartClient
102
112
  self.code = attributes[:'code']
103
113
  end
104
114
 
115
+ if attributes.has_key?(:'customer_profile_oid')
116
+ self.customer_profile_oid = attributes[:'customer_profile_oid']
117
+ end
118
+
105
119
  if attributes.has_key?(:'deleted')
106
120
  self.deleted = attributes[:'deleted']
107
121
  end
@@ -118,6 +132,10 @@ module UltracartClient
118
132
  self.gift_certificate_oid = attributes[:'gift_certificate_oid']
119
133
  end
120
134
 
135
+ if attributes.has_key?(:'internal')
136
+ self.internal = attributes[:'internal']
137
+ end
138
+
121
139
  if attributes.has_key?(:'ledger_entries')
122
140
  if (value = attributes[:'ledger_entries']).is_a?(Array)
123
141
  self.ledger_entries = value
@@ -149,15 +167,30 @@ module UltracartClient
149
167
  # @return Array for valid properties with the reasons
150
168
  def list_invalid_properties
151
169
  invalid_properties = Array.new
170
+ if !@email.nil? && @email.to_s.length > 100
171
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 100.')
172
+ end
173
+
152
174
  invalid_properties
153
175
  end
154
176
 
155
177
  # Check to see if the all the properties in the model are valid
156
178
  # @return true if the model is valid
157
179
  def valid?
180
+ return false if !@email.nil? && @email.to_s.length > 100
158
181
  true
159
182
  end
160
183
 
184
+ # Custom attribute writer method with validation
185
+ # @param [Object] email Value to be assigned
186
+ def email=(email)
187
+ if !email.nil? && email.to_s.length > 100
188
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 100.'
189
+ end
190
+
191
+ @email = email
192
+ end
193
+
161
194
  # Checks equality by comparing each attribute.
162
195
  # @param [Object] Object to be compared
163
196
  def ==(o)
@@ -165,10 +198,12 @@ module UltracartClient
165
198
  self.class == o.class &&
166
199
  activated == o.activated &&
167
200
  code == o.code &&
201
+ customer_profile_oid == o.customer_profile_oid &&
168
202
  deleted == o.deleted &&
169
203
  email == o.email &&
170
204
  expiration_dts == o.expiration_dts &&
171
205
  gift_certificate_oid == o.gift_certificate_oid &&
206
+ internal == o.internal &&
172
207
  ledger_entries == o.ledger_entries &&
173
208
  merchant_id == o.merchant_id &&
174
209
  merchant_note == o.merchant_note &&
@@ -186,7 +221,7 @@ module UltracartClient
186
221
  # Calculates hash code according to all attributes.
187
222
  # @return [Fixnum] Hash code
188
223
  def hash
189
- [activated, code, deleted, email, expiration_dts, gift_certificate_oid, ledger_entries, merchant_id, merchant_note, original_balance, reference_order_id, remaining_balance].hash
224
+ [activated, code, customer_profile_oid, deleted, email, expiration_dts, gift_certificate_oid, internal, ledger_entries, merchant_id, merchant_note, original_balance, reference_order_id, remaining_balance].hash
190
225
  end
191
226
 
192
227
  # Builds the object from hash
@@ -20,14 +20,40 @@ module UltracartClient
20
20
  # True if tax free
21
21
  attr_accessor :tax_free
22
22
 
23
+ # Tax product type
24
+ attr_accessor :tax_product_type
25
+
23
26
  # Taxable cost if different than regular cost
24
27
  attr_accessor :taxable_cost
25
28
 
29
+ class EnumAttributeValidator
30
+ attr_reader :datatype
31
+ attr_reader :allowable_values
32
+
33
+ def initialize(datatype, allowable_values)
34
+ @allowable_values = allowable_values.map do |value|
35
+ case datatype.to_s
36
+ when /Integer/i
37
+ value.to_i
38
+ when /Float/i
39
+ value.to_f
40
+ else
41
+ value
42
+ end
43
+ end
44
+ end
45
+
46
+ def valid?(value)
47
+ !value || allowable_values.include?(value)
48
+ end
49
+ end
50
+
26
51
  # Attribute mapping from ruby-style variable name to JSON key.
27
52
  def self.attribute_map
28
53
  {
29
54
  :'exemptions' => :'exemptions',
30
55
  :'tax_free' => :'tax_free',
56
+ :'tax_product_type' => :'tax_product_type',
31
57
  :'taxable_cost' => :'taxable_cost'
32
58
  }
33
59
  end
@@ -37,6 +63,7 @@ module UltracartClient
37
63
  {
38
64
  :'exemptions' => :'Array<ItemTaxExemption>',
39
65
  :'tax_free' => :'BOOLEAN',
66
+ :'tax_product_type' => :'String',
40
67
  :'taxable_cost' => :'Float'
41
68
  }
42
69
  end
@@ -59,6 +86,10 @@ module UltracartClient
59
86
  self.tax_free = attributes[:'tax_free']
60
87
  end
61
88
 
89
+ if attributes.has_key?(:'tax_product_type')
90
+ self.tax_product_type = attributes[:'tax_product_type']
91
+ end
92
+
62
93
  if attributes.has_key?(:'taxable_cost')
63
94
  self.taxable_cost = attributes[:'taxable_cost']
64
95
  end
@@ -74,9 +105,21 @@ module UltracartClient
74
105
  # Check to see if the all the properties in the model are valid
75
106
  # @return true if the model is valid
76
107
  def valid?
108
+ tax_product_type_validator = EnumAttributeValidator.new('String', ['', 'digital', 'physical', 'service'])
109
+ return false unless tax_product_type_validator.valid?(@tax_product_type)
77
110
  true
78
111
  end
79
112
 
113
+ # Custom attribute writer method checking allowed values (enum).
114
+ # @param [Object] tax_product_type Object to be assigned
115
+ def tax_product_type=(tax_product_type)
116
+ validator = EnumAttributeValidator.new('String', ['', 'digital', 'physical', 'service'])
117
+ unless validator.valid?(tax_product_type)
118
+ fail ArgumentError, 'invalid value for "tax_product_type", must be one of #{validator.allowable_values}.'
119
+ end
120
+ @tax_product_type = tax_product_type
121
+ end
122
+
80
123
  # Checks equality by comparing each attribute.
81
124
  # @param [Object] Object to be compared
82
125
  def ==(o)
@@ -84,6 +127,7 @@ module UltracartClient
84
127
  self.class == o.class &&
85
128
  exemptions == o.exemptions &&
86
129
  tax_free == o.tax_free &&
130
+ tax_product_type == o.tax_product_type &&
87
131
  taxable_cost == o.taxable_cost
88
132
  end
89
133
 
@@ -96,7 +140,7 @@ module UltracartClient
96
140
  # Calculates hash code according to all attributes.
97
141
  # @return [Fixnum] Hash code
98
142
  def hash
99
- [exemptions, tax_free, taxable_cost].hash
143
+ [exemptions, tax_free, tax_product_type, taxable_cost].hash
100
144
  end
101
145
 
102
146
  # Builds the object from hash
@@ -14,6 +14,8 @@ require 'date'
14
14
 
15
15
  module UltracartClient
16
16
  class OrderCheckout
17
+ attr_accessor :browser
18
+
17
19
  # Comments from the customer. Rarely used on the single page checkout.
18
20
  attr_accessor :comments
19
21
 
@@ -44,6 +46,9 @@ module UltracartClient
44
46
  # Screen branding theme code associated with the order (legacy checkout)
45
47
  attr_accessor :screen_branding_theme_code
46
48
 
49
+ # Screen size small, medium or large
50
+ attr_accessor :screen_size
51
+
47
52
  # StoreFront host name associated with the order
48
53
  attr_accessor :storefront_host_name
49
54
 
@@ -53,6 +58,7 @@ module UltracartClient
53
58
  # Attribute mapping from ruby-style variable name to JSON key.
54
59
  def self.attribute_map
55
60
  {
61
+ :'browser' => :'browser',
56
62
  :'comments' => :'comments',
57
63
  :'custom_field1' => :'custom_field1',
58
64
  :'custom_field2' => :'custom_field2',
@@ -63,6 +69,7 @@ module UltracartClient
63
69
  :'custom_field7' => :'custom_field7',
64
70
  :'customer_ip_address' => :'customer_ip_address',
65
71
  :'screen_branding_theme_code' => :'screen_branding_theme_code',
72
+ :'screen_size' => :'screen_size',
66
73
  :'storefront_host_name' => :'storefront_host_name',
67
74
  :'upsell_path_code' => :'upsell_path_code'
68
75
  }
@@ -71,6 +78,7 @@ module UltracartClient
71
78
  # Attribute type mapping.
72
79
  def self.swagger_types
73
80
  {
81
+ :'browser' => :'Browser',
74
82
  :'comments' => :'String',
75
83
  :'custom_field1' => :'String',
76
84
  :'custom_field2' => :'String',
@@ -81,6 +89,7 @@ module UltracartClient
81
89
  :'custom_field7' => :'String',
82
90
  :'customer_ip_address' => :'String',
83
91
  :'screen_branding_theme_code' => :'String',
92
+ :'screen_size' => :'String',
84
93
  :'storefront_host_name' => :'String',
85
94
  :'upsell_path_code' => :'String'
86
95
  }
@@ -94,6 +103,10 @@ module UltracartClient
94
103
  # convert string to symbol for hash key
95
104
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
96
105
 
106
+ if attributes.has_key?(:'browser')
107
+ self.browser = attributes[:'browser']
108
+ end
109
+
97
110
  if attributes.has_key?(:'comments')
98
111
  self.comments = attributes[:'comments']
99
112
  end
@@ -134,6 +147,10 @@ module UltracartClient
134
147
  self.screen_branding_theme_code = attributes[:'screen_branding_theme_code']
135
148
  end
136
149
 
150
+ if attributes.has_key?(:'screen_size')
151
+ self.screen_size = attributes[:'screen_size']
152
+ end
153
+
137
154
  if attributes.has_key?(:'storefront_host_name')
138
155
  self.storefront_host_name = attributes[:'storefront_host_name']
139
156
  end
@@ -281,6 +298,7 @@ module UltracartClient
281
298
  def ==(o)
282
299
  return true if self.equal?(o)
283
300
  self.class == o.class &&
301
+ browser == o.browser &&
284
302
  comments == o.comments &&
285
303
  custom_field1 == o.custom_field1 &&
286
304
  custom_field2 == o.custom_field2 &&
@@ -291,6 +309,7 @@ module UltracartClient
291
309
  custom_field7 == o.custom_field7 &&
292
310
  customer_ip_address == o.customer_ip_address &&
293
311
  screen_branding_theme_code == o.screen_branding_theme_code &&
312
+ screen_size == o.screen_size &&
294
313
  storefront_host_name == o.storefront_host_name &&
295
314
  upsell_path_code == o.upsell_path_code
296
315
  end
@@ -304,7 +323,7 @@ module UltracartClient
304
323
  # Calculates hash code according to all attributes.
305
324
  # @return [Fixnum] Hash code
306
325
  def hash
307
- [comments, custom_field1, custom_field2, custom_field3, custom_field4, custom_field5, custom_field6, custom_field7, customer_ip_address, screen_branding_theme_code, storefront_host_name, upsell_path_code].hash
326
+ [browser, comments, custom_field1, custom_field2, custom_field3, custom_field4, custom_field5, custom_field6, custom_field7, customer_ip_address, screen_branding_theme_code, screen_size, storefront_host_name, upsell_path_code].hash
308
327
  end
309
328
 
310
329
  # Builds the object from hash
@@ -145,6 +145,9 @@ module UltracartClient
145
145
  # True if the item is tax free
146
146
  attr_accessor :tax_free
147
147
 
148
+ # Type of product for tax purposes (self or UltraCart Managed taxes)
149
+ attr_accessor :tax_product_type
150
+
148
151
  attr_accessor :taxable_cost
149
152
 
150
153
  attr_accessor :total_cost_with_discount
@@ -163,6 +166,28 @@ module UltracartClient
163
166
 
164
167
  attr_accessor :width
165
168
 
169
+ class EnumAttributeValidator
170
+ attr_reader :datatype
171
+ attr_reader :allowable_values
172
+
173
+ def initialize(datatype, allowable_values)
174
+ @allowable_values = allowable_values.map do |value|
175
+ case datatype.to_s
176
+ when /Integer/i
177
+ value.to_i
178
+ when /Float/i
179
+ value.to_f
180
+ else
181
+ value
182
+ end
183
+ end
184
+ end
185
+
186
+ def valid?(value)
187
+ !value || allowable_values.include?(value)
188
+ end
189
+ end
190
+
166
191
  # Attribute mapping from ruby-style variable name to JSON key.
167
192
  def self.attribute_map
168
193
  {
@@ -212,6 +237,7 @@ module UltracartClient
212
237
  :'special_product_type' => :'special_product_type',
213
238
  :'tags' => :'tags',
214
239
  :'tax_free' => :'tax_free',
240
+ :'tax_product_type' => :'tax_product_type',
215
241
  :'taxable_cost' => :'taxable_cost',
216
242
  :'total_cost_with_discount' => :'total_cost_with_discount',
217
243
  :'total_refunded' => :'total_refunded',
@@ -272,6 +298,7 @@ module UltracartClient
272
298
  :'special_product_type' => :'String',
273
299
  :'tags' => :'Array<OrderItemTag>',
274
300
  :'tax_free' => :'BOOLEAN',
301
+ :'tax_product_type' => :'String',
275
302
  :'taxable_cost' => :'Currency',
276
303
  :'total_cost_with_discount' => :'Currency',
277
304
  :'total_refunded' => :'Currency',
@@ -483,6 +510,10 @@ module UltracartClient
483
510
  self.tax_free = attributes[:'tax_free']
484
511
  end
485
512
 
513
+ if attributes.has_key?(:'tax_product_type')
514
+ self.tax_product_type = attributes[:'tax_product_type']
515
+ end
516
+
486
517
  if attributes.has_key?(:'taxable_cost')
487
518
  self.taxable_cost = attributes[:'taxable_cost']
488
519
  end
@@ -556,6 +587,8 @@ module UltracartClient
556
587
  return false if !@merchant_item_id.nil? && @merchant_item_id.to_s.length > 20
557
588
  return false if !@perishable_class.nil? && @perishable_class.to_s.length > 50
558
589
  return false if !@quickbooks_class.nil? && @quickbooks_class.to_s.length > 31
590
+ tax_product_type_validator = EnumAttributeValidator.new('String', ['', 'digital', 'physical', 'service'])
591
+ return false unless tax_product_type_validator.valid?(@tax_product_type)
559
592
  true
560
593
  end
561
594
 
@@ -619,6 +652,16 @@ module UltracartClient
619
652
  @quickbooks_class = quickbooks_class
620
653
  end
621
654
 
655
+ # Custom attribute writer method checking allowed values (enum).
656
+ # @param [Object] tax_product_type Object to be assigned
657
+ def tax_product_type=(tax_product_type)
658
+ validator = EnumAttributeValidator.new('String', ['', 'digital', 'physical', 'service'])
659
+ unless validator.valid?(tax_product_type)
660
+ fail ArgumentError, 'invalid value for "tax_product_type", must be one of #{validator.allowable_values}.'
661
+ end
662
+ @tax_product_type = tax_product_type
663
+ end
664
+
622
665
  # Checks equality by comparing each attribute.
623
666
  # @param [Object] Object to be compared
624
667
  def ==(o)
@@ -670,6 +713,7 @@ module UltracartClient
670
713
  special_product_type == o.special_product_type &&
671
714
  tags == o.tags &&
672
715
  tax_free == o.tax_free &&
716
+ tax_product_type == o.tax_product_type &&
673
717
  taxable_cost == o.taxable_cost &&
674
718
  total_cost_with_discount == o.total_cost_with_discount &&
675
719
  total_refunded == o.total_refunded &&
@@ -689,7 +733,7 @@ module UltracartClient
689
733
  # Calculates hash code according to all attributes.
690
734
  # @return [Fixnum] Hash code
691
735
  def hash
692
- [accounting_code, activation_codes, arbitrary_unit_cost, auto_order_last_rebill_dts, auto_order_schedule, barcode, channel_partner_item_id, cogs, component_unit_value, cost, country_code_of_origin, customs_description, description, discount, discount_quantity, discount_shipping_weight, distribution_center_code, edi, exclude_coupon, free_shipping, hazmat, height, item_reference_oid, kit, kit_component, length, manufacturer_sku, max_days_time_in_transit, merchant_item_id, mix_and_match_group_name, mix_and_match_group_oid, no_shipping_discount, options, packed_by_user, perishable_class, pricing_tier_name, properties, quantity, quantity_refunded, quickbooks_class, ship_separately, shipped_by_user, shipped_dts, special_product_type, tags, tax_free, taxable_cost, total_cost_with_discount, total_refunded, transmitted_to_distribution_center_dts, unit_cost_with_discount, upsell, weight, width].hash
736
+ [accounting_code, activation_codes, arbitrary_unit_cost, auto_order_last_rebill_dts, auto_order_schedule, barcode, channel_partner_item_id, cogs, component_unit_value, cost, country_code_of_origin, customs_description, description, discount, discount_quantity, discount_shipping_weight, distribution_center_code, edi, exclude_coupon, free_shipping, hazmat, height, item_reference_oid, kit, kit_component, length, manufacturer_sku, max_days_time_in_transit, merchant_item_id, mix_and_match_group_name, mix_and_match_group_oid, no_shipping_discount, options, packed_by_user, perishable_class, pricing_tier_name, properties, quantity, quantity_refunded, quickbooks_class, ship_separately, shipped_by_user, shipped_dts, special_product_type, tags, tax_free, tax_product_type, taxable_cost, total_cost_with_discount, total_refunded, transmitted_to_distribution_center_dts, unit_cost_with_discount, upsell, weight, width].hash
693
737
  end
694
738
 
695
739
  # Builds the object from hash
@@ -17,6 +17,15 @@ module UltracartClient
17
17
  # True if this state taxes are managed by UltraCart
18
18
  attr_accessor :enabled
19
19
 
20
+ # True if digital items are exempt from sales tax in this state.
21
+ attr_accessor :exempt_digital_items
22
+
23
+ # True if physical items are exempt from sales tax in this state.
24
+ attr_accessor :exempt_physical_items
25
+
26
+ # True if service items are exempt from sales tax in this state.
27
+ attr_accessor :exempt_service_items
28
+
20
29
  # State Code (2 digits)
21
30
  attr_accessor :state_code
22
31
 
@@ -39,6 +48,9 @@ module UltracartClient
39
48
  def self.attribute_map
40
49
  {
41
50
  :'enabled' => :'enabled',
51
+ :'exempt_digital_items' => :'exempt_digital_items',
52
+ :'exempt_physical_items' => :'exempt_physical_items',
53
+ :'exempt_service_items' => :'exempt_service_items',
42
54
  :'state_code' => :'state_code',
43
55
  :'state_name' => :'state_name',
44
56
  :'tax_gift_charge' => :'tax_gift_charge',
@@ -52,6 +64,9 @@ module UltracartClient
52
64
  def self.swagger_types
53
65
  {
54
66
  :'enabled' => :'BOOLEAN',
67
+ :'exempt_digital_items' => :'BOOLEAN',
68
+ :'exempt_physical_items' => :'BOOLEAN',
69
+ :'exempt_service_items' => :'BOOLEAN',
55
70
  :'state_code' => :'String',
56
71
  :'state_name' => :'String',
57
72
  :'tax_gift_charge' => :'BOOLEAN',
@@ -73,6 +88,18 @@ module UltracartClient
73
88
  self.enabled = attributes[:'enabled']
74
89
  end
75
90
 
91
+ if attributes.has_key?(:'exempt_digital_items')
92
+ self.exempt_digital_items = attributes[:'exempt_digital_items']
93
+ end
94
+
95
+ if attributes.has_key?(:'exempt_physical_items')
96
+ self.exempt_physical_items = attributes[:'exempt_physical_items']
97
+ end
98
+
99
+ if attributes.has_key?(:'exempt_service_items')
100
+ self.exempt_service_items = attributes[:'exempt_service_items']
101
+ end
102
+
76
103
  if attributes.has_key?(:'state_code')
77
104
  self.state_code = attributes[:'state_code']
78
105
  end
@@ -117,6 +144,9 @@ module UltracartClient
117
144
  return true if self.equal?(o)
118
145
  self.class == o.class &&
119
146
  enabled == o.enabled &&
147
+ exempt_digital_items == o.exempt_digital_items &&
148
+ exempt_physical_items == o.exempt_physical_items &&
149
+ exempt_service_items == o.exempt_service_items &&
120
150
  state_code == o.state_code &&
121
151
  state_name == o.state_name &&
122
152
  tax_gift_charge == o.tax_gift_charge &&
@@ -134,7 +164,7 @@ module UltracartClient
134
164
  # Calculates hash code according to all attributes.
135
165
  # @return [Fixnum] Hash code
136
166
  def hash
137
- [enabled, state_code, state_name, tax_gift_charge, tax_gift_wrap, tax_rate_formatted, tax_shipping].hash
167
+ [enabled, exempt_digital_items, exempt_physical_items, exempt_service_items, state_code, state_name, tax_gift_charge, tax_gift_wrap, tax_rate_formatted, tax_shipping].hash
138
168
  end
139
169
 
140
170
  # Builds the object from hash
@@ -35,6 +35,15 @@ module UltracartClient
35
35
  # Flag instructing engine to not collect state tax for this state
36
36
  attr_accessor :dont_collect_state
37
37
 
38
+ # True if digital items are exempt from sales tax in this state.
39
+ attr_accessor :exempt_digital_items
40
+
41
+ # True if physical items are exempt from sales tax in this state.
42
+ attr_accessor :exempt_physical_items
43
+
44
+ # True if service items are exempt from sales tax in this state.
45
+ attr_accessor :exempt_service_items
46
+
38
47
  # State code
39
48
  attr_accessor :state_code
40
49
 
@@ -69,6 +78,9 @@ module UltracartClient
69
78
  :'dont_collect_county' => :'dont_collect_county',
70
79
  :'dont_collect_postal_code' => :'dont_collect_postal_code',
71
80
  :'dont_collect_state' => :'dont_collect_state',
81
+ :'exempt_digital_items' => :'exempt_digital_items',
82
+ :'exempt_physical_items' => :'exempt_physical_items',
83
+ :'exempt_service_items' => :'exempt_service_items',
72
84
  :'state_code' => :'state_code',
73
85
  :'state_oid' => :'state_oid',
74
86
  :'tax_gift_charge' => :'tax_gift_charge',
@@ -90,6 +102,9 @@ module UltracartClient
90
102
  :'dont_collect_county' => :'BOOLEAN',
91
103
  :'dont_collect_postal_code' => :'BOOLEAN',
92
104
  :'dont_collect_state' => :'BOOLEAN',
105
+ :'exempt_digital_items' => :'BOOLEAN',
106
+ :'exempt_physical_items' => :'BOOLEAN',
107
+ :'exempt_service_items' => :'BOOLEAN',
93
108
  :'state_code' => :'String',
94
109
  :'state_oid' => :'Integer',
95
110
  :'tax_gift_charge' => :'BOOLEAN',
@@ -139,6 +154,18 @@ module UltracartClient
139
154
  self.dont_collect_state = attributes[:'dont_collect_state']
140
155
  end
141
156
 
157
+ if attributes.has_key?(:'exempt_digital_items')
158
+ self.exempt_digital_items = attributes[:'exempt_digital_items']
159
+ end
160
+
161
+ if attributes.has_key?(:'exempt_physical_items')
162
+ self.exempt_physical_items = attributes[:'exempt_physical_items']
163
+ end
164
+
165
+ if attributes.has_key?(:'exempt_service_items')
166
+ self.exempt_service_items = attributes[:'exempt_service_items']
167
+ end
168
+
142
169
  if attributes.has_key?(:'state_code')
143
170
  self.state_code = attributes[:'state_code']
144
171
  end
@@ -197,6 +224,9 @@ module UltracartClient
197
224
  dont_collect_county == o.dont_collect_county &&
198
225
  dont_collect_postal_code == o.dont_collect_postal_code &&
199
226
  dont_collect_state == o.dont_collect_state &&
227
+ exempt_digital_items == o.exempt_digital_items &&
228
+ exempt_physical_items == o.exempt_physical_items &&
229
+ exempt_service_items == o.exempt_service_items &&
200
230
  state_code == o.state_code &&
201
231
  state_oid == o.state_oid &&
202
232
  tax_gift_charge == o.tax_gift_charge &&
@@ -216,7 +246,7 @@ module UltracartClient
216
246
  # Calculates hash code according to all attributes.
217
247
  # @return [Fixnum] Hash code
218
248
  def hash
219
- [accounting_code, counties, country_oid, dont_collect_city, dont_collect_county, dont_collect_postal_code, dont_collect_state, state_code, state_oid, tax_gift_charge, tax_gift_wrap, tax_rate, tax_rate_formatted, tax_shipping, use_ultracart_managed_rates].hash
249
+ [accounting_code, counties, country_oid, dont_collect_city, dont_collect_county, dont_collect_postal_code, dont_collect_state, exempt_digital_items, exempt_physical_items, exempt_service_items, state_code, state_oid, tax_gift_charge, tax_gift_wrap, tax_rate, tax_rate_formatted, tax_shipping, use_ultracart_managed_rates].hash
220
250
  end
221
251
 
222
252
  # Builds the object from hash
@@ -177,15 +177,30 @@ module UltracartClient
177
177
  # @return Array for valid properties with the reasons
178
178
  def list_invalid_properties
179
179
  invalid_properties = Array.new
180
+ if !@email.nil? && @email.to_s.length > 150
181
+ invalid_properties.push('invalid value for "email", the character length must be smaller than or equal to 150.')
182
+ end
183
+
180
184
  invalid_properties
181
185
  end
182
186
 
183
187
  # Check to see if the all the properties in the model are valid
184
188
  # @return true if the model is valid
185
189
  def valid?
190
+ return false if !@email.nil? && @email.to_s.length > 150
186
191
  true
187
192
  end
188
193
 
194
+ # Custom attribute writer method with validation
195
+ # @param [Object] email Value to be assigned
196
+ def email=(email)
197
+ if !email.nil? && email.to_s.length > 150
198
+ fail ArgumentError, 'invalid value for "email", the character length must be smaller than or equal to 150.'
199
+ end
200
+
201
+ @email = email
202
+ end
203
+
189
204
  # Checks equality by comparing each attribute.
190
205
  # @param [Object] Object to be compared
191
206
  def ==(o)
@@ -11,5 +11,5 @@ Swagger Codegen version: 2.4.15-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '3.9.1'
14
+ VERSION = '3.9.2'
15
15
  end
data/lib/ultracart_api.rb CHANGED
@@ -49,6 +49,10 @@ require 'ultracart_api/models/auto_orders_request'
49
49
  require 'ultracart_api/models/auto_orders_response'
50
50
  require 'ultracart_api/models/avalara_config'
51
51
  require 'ultracart_api/models/base_response'
52
+ require 'ultracart_api/models/browser'
53
+ require 'ultracart_api/models/browser_device'
54
+ require 'ultracart_api/models/browser_os'
55
+ require 'ultracart_api/models/browser_user_agent'
52
56
  require 'ultracart_api/models/cart'
53
57
  require 'ultracart_api/models/cart_affiliate'
54
58
  require 'ultracart_api/models/cart_affirm_checkout_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultracart_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.1
4
+ version: 3.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-03 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -255,6 +255,10 @@ files:
255
255
  - docs/AutoOrdersResponse.md
256
256
  - docs/AvalaraConfig.md
257
257
  - docs/BaseResponse.md
258
+ - docs/Browser.md
259
+ - docs/BrowserDevice.md
260
+ - docs/BrowserOS.md
261
+ - docs/BrowserUserAgent.md
258
262
  - docs/Cart.md
259
263
  - docs/CartAffiliate.md
260
264
  - docs/CartAffirmCheckoutResponse.md
@@ -941,6 +945,10 @@ files:
941
945
  - lib/ultracart_api/models/auto_orders_response.rb
942
946
  - lib/ultracart_api/models/avalara_config.rb
943
947
  - lib/ultracart_api/models/base_response.rb
948
+ - lib/ultracart_api/models/browser.rb
949
+ - lib/ultracart_api/models/browser_device.rb
950
+ - lib/ultracart_api/models/browser_os.rb
951
+ - lib/ultracart_api/models/browser_user_agent.rb
944
952
  - lib/ultracart_api/models/cart.rb
945
953
  - lib/ultracart_api/models/cart_affiliate.rb
946
954
  - lib/ultracart_api/models/cart_affirm_checkout_response.rb