flowcommerce 0.2.87 → 0.2.96

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4f09a9394c37c46d0920cf85937ec7c1461c0e80edde6b6d28f6128f612d6a5
4
- data.tar.gz: ed48759a85e97d8aee99fc152c220e04f7f2eff7847f955737114a528340a4ce
3
+ metadata.gz: ba2fa0d6f1f69d6b4b31921a0dd4c76a345333a70526d54865e3e79e154cebc7
4
+ data.tar.gz: 7d45949ae48d32ca63bf1ef1681246ca8bff8f02b1df47cd80c90e559ef41932
5
5
  SHA512:
6
- metadata.gz: 704b4df67ee004259b25fa763fbfeae4523285435ce478023e51a2f54c194eeebcd528c5d4df1dd97cc87340c2294dab41d543321e4067934d5f987bca659031
7
- data.tar.gz: 45e805bd254c6f997b2cf2f52fbef624777f2f325d0ca674cd8f25833857986ce5e63ea6c169ab09463526be6e6f238978c07f829225d28c78ce4f3bb4f05110
6
+ metadata.gz: 492b8c89f1aee57bd163fe670d86a0ae9c1285ef168122ebaff8dc2999d22f289ab869262810d19f20d7bfbfb805d1fd062000b0865ddd945b22fce62730be95
7
+ data.tar.gz: 2fe0335165764acc0a3f5fae3e0db24e617adb2a5b7756c91fea78b9f10aa218dbbb4df0077c7496b3c167903aef98110506b965f3f83bf34be8993b0553217b
data/README.md CHANGED
@@ -2,13 +2,6 @@
2
2
 
3
3
  Native ruby client to the Flow API (https://api.flow.io)
4
4
 
5
- ## Status
6
-
7
- Please note that this library and APIs are in ALPHA and are subject to
8
- change and will break in the future. Once Flow Commerce releases its
9
- official 1.0 library, API changes will be backwards compatible. Until
10
- then - we are super grateful for your patience as we finalize the API
11
- for our launch.
12
5
 
13
6
  ## Installation
14
7
 
@@ -1,5 +1,5 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.9.76
2
+ # Service version: 0.10.12
3
3
  # apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client
4
4
 
5
5
  require 'cgi'
@@ -26,7 +26,7 @@ module Io
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
28
  USER_AGENT = 'apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.9.76' unless defined?(Constants::VERSION)
29
+ VERSION = '0.10.12' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -188,10 +188,6 @@ module Io
188
188
  @rates ||= ::Io::Flow::V0::Clients::Rates.new(self)
189
189
  end
190
190
 
191
- def harmonized_categories
192
- @harmonized_categories ||= ::Io::Flow::V0::Clients::HarmonizedCategories.new(self)
193
- end
194
-
195
191
  def harmonized_landed_costs
196
192
  @harmonized_landed_costs ||= ::Io::Flow::V0::Clients::HarmonizedLandedCosts.new(self)
197
193
  end
@@ -572,6 +568,10 @@ module Io
572
568
  @permission_checks ||= ::Io::Flow::V0::Clients::PermissionChecks.new(self)
573
569
  end
574
570
 
571
+ def price_book_item_export_options
572
+ @price_book_item_export_options ||= ::Io::Flow::V0::Clients::PriceBookItemExportOptions.new(self)
573
+ end
574
+
575
575
  def scheduled_exports
576
576
  @scheduled_exports ||= ::Io::Flow::V0::Clients::ScheduledExports.new(self)
577
577
  end
@@ -701,6 +701,7 @@ module Io
701
701
  query = {
702
702
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
703
703
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
704
+ :intent => (x = opts.delete(:intent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeIntent) ? x : ::Io::Flow::V0::Models::AttributeIntent.apply(x)).value),
704
705
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
705
706
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
706
707
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
@@ -849,10 +850,14 @@ module Io
849
850
  r.map { |x| ::Io::Flow::V0::Models::CheckoutAttribute.new(x) }
850
851
  end
851
852
 
852
- def post(organization, checkout_attribute_form)
853
+ def post(organization, checkout_attribute_form, incoming={})
853
854
  HttpClient::Preconditions.assert_class('organization', organization, String)
855
+ opts = HttpClient::Helper.symbolize_keys(incoming)
856
+ query = {
857
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
858
+ }.delete_if { |k, v| v.nil? }
854
859
  (x = checkout_attribute_form; x.is_a?(::Io::Flow::V0::Models::CheckoutAttributeForm) ? x : ::Io::Flow::V0::Models::CheckoutAttributeForm.new(x))
855
- r = @client.request("/#{CGI.escape(organization)}/checkout/attributes").with_json(checkout_attribute_form.to_json).post
860
+ r = @client.request("/#{CGI.escape(organization)}/checkout/attributes").with_query(query).with_json(checkout_attribute_form.to_json).post
856
861
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
857
862
  end
858
863
 
@@ -863,11 +868,15 @@ module Io
863
868
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
864
869
  end
865
870
 
866
- def put_by_id(organization, id, checkout_attribute_form)
871
+ def put_by_id(organization, id, checkout_attribute_form, incoming={})
867
872
  HttpClient::Preconditions.assert_class('organization', organization, String)
868
873
  HttpClient::Preconditions.assert_class('id', id, String)
874
+ opts = HttpClient::Helper.symbolize_keys(incoming)
875
+ query = {
876
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
877
+ }.delete_if { |k, v| v.nil? }
869
878
  (x = checkout_attribute_form; x.is_a?(::Io::Flow::V0::Models::CheckoutAttributeForm) ? x : ::Io::Flow::V0::Models::CheckoutAttributeForm.new(x))
870
- r = @client.request("/#{CGI.escape(organization)}/checkout/attributes/#{CGI.escape(id)}").with_json(checkout_attribute_form.to_json).put
879
+ r = @client.request("/#{CGI.escape(organization)}/checkout/attributes/#{CGI.escape(id)}").with_query(query).with_json(checkout_attribute_form.to_json).put
871
880
  ::Io::Flow::V0::Models::CheckoutAttribute.new(r)
872
881
  end
873
882
 
@@ -896,7 +905,8 @@ module Io
896
905
  query = {
897
906
  :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
898
907
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
899
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
908
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
909
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
900
910
  }.delete_if { |k, v| v.nil? }
901
911
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/item/content/checkout").with_query(query).get
902
912
  r.map { |x| ::Io::Flow::V0::Models::CheckoutItemContent.new(x) }
@@ -1071,10 +1081,14 @@ module Io
1071
1081
  end
1072
1082
 
1073
1083
  # Add experience
1074
- def post(organization, experience_form)
1084
+ def post(organization, experience_form, incoming={})
1075
1085
  HttpClient::Preconditions.assert_class('organization', organization, String)
1086
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1087
+ query = {
1088
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1089
+ }.delete_if { |k, v| v.nil? }
1076
1090
  (x = experience_form; x.is_a?(::Io::Flow::V0::Models::ExperienceForm) ? x : ::Io::Flow::V0::Models::ExperienceForm.new(x))
1077
- r = @client.request("/#{CGI.escape(organization)}/experiences").with_json(experience_form.to_json).post
1091
+ r = @client.request("/#{CGI.escape(organization)}/experiences").with_query(query).with_json(experience_form.to_json).post
1078
1092
  ::Io::Flow::V0::Models::Experience.new(r)
1079
1093
  end
1080
1094
 
@@ -1151,6 +1165,7 @@ module Io
1151
1165
  query = {
1152
1166
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
1153
1167
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
1168
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1154
1169
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1155
1170
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1156
1171
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
@@ -1159,18 +1174,26 @@ module Io
1159
1174
  r.map { |x| ::Io::Flow::V0::Models::ExperienceVersion.new(x) }
1160
1175
  end
1161
1176
 
1162
- def get_currency_and_formats_by_experience_key(organization, experience_key)
1177
+ def get_currency_and_formats_by_experience_key(organization, experience_key, incoming={})
1163
1178
  HttpClient::Preconditions.assert_class('organization', organization, String)
1164
1179
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1165
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").get
1180
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1181
+ query = {
1182
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1183
+ }.delete_if { |k, v| v.nil? }
1184
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_query(query).get
1166
1185
  ::Io::Flow::V0::Models::ExperienceCurrencyFormat.new(r)
1167
1186
  end
1168
1187
 
1169
- def put_currency_and_formats_by_experience_key(organization, experience_key, experience_currency_format_form)
1188
+ def put_currency_and_formats_by_experience_key(organization, experience_key, experience_currency_format_form, incoming={})
1170
1189
  HttpClient::Preconditions.assert_class('organization', organization, String)
1171
1190
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1191
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1192
+ query = {
1193
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1194
+ }.delete_if { |k, v| v.nil? }
1172
1195
  (x = experience_currency_format_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCurrencyFormatForm) ? x : ::Io::Flow::V0::Models::ExperienceCurrencyFormatForm.new(x))
1173
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_json(experience_currency_format_form.to_json).put
1196
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/currency/formats").with_query(query).with_json(experience_currency_format_form.to_json).put
1174
1197
  ::Io::Flow::V0::Models::ExperienceCurrencyFormat.new(r)
1175
1198
  end
1176
1199
 
@@ -1269,7 +1292,8 @@ module Io
1269
1292
  opts = HttpClient::Helper.symbolize_keys(incoming)
1270
1293
  query = {
1271
1294
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1272
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
1295
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1296
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1273
1297
  }.delete_if { |k, v| v.nil? }
1274
1298
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment-method-types").with_query(query).get
1275
1299
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodType.new(x) }
@@ -1283,7 +1307,8 @@ module Io
1283
1307
  :payment_method_type => (x = opts.delete(:payment_method_type); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_method_type', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PaymentMethodType) ? x : ::Io::Flow::V0::Models::PaymentMethodType.apply(x)).value }),
1284
1308
  :tags => (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| HttpClient::Preconditions.assert_class('tags', v, String) }),
1285
1309
  :amount => (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', x, String)),
1286
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1310
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1311
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1287
1312
  }.delete_if { |k, v| v.nil? }
1288
1313
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_query(query).get
1289
1314
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
@@ -1291,11 +1316,15 @@ module Io
1291
1316
 
1292
1317
  # Change the ordering or payment tags for an experience. Every post must
1293
1318
  # include one entry for each payment method offered by Flow.
1294
- def put_payment_and_method_and_rules_by_experience_key(organization, experience_key, experience_payment_method_rule_forms)
1319
+ def put_payment_and_method_and_rules_by_experience_key(organization, experience_key, experience_payment_method_rule_forms, incoming={})
1295
1320
  HttpClient::Preconditions.assert_class('organization', organization, String)
1296
1321
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1322
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1323
+ query = {
1324
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1325
+ }.delete_if { |k, v| v.nil? }
1297
1326
  HttpClient::Preconditions.assert_class('experience_payment_method_rule_forms', experience_payment_method_rule_forms, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperiencePaymentMethodRuleForm) ? x : ::Io::Flow::V0::Models::ExperiencePaymentMethodRuleForm.new(x)) }
1298
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_json(experience_payment_method_rule_forms.map { |o| o.to_hash }.to_json).put
1327
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_query(query).with_json(experience_payment_method_rule_forms.map { |o| o.to_hash }.to_json).put
1299
1328
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
1300
1329
  end
1301
1330
 
@@ -1314,19 +1343,27 @@ module Io
1314
1343
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x) }
1315
1344
  end
1316
1345
 
1317
- def post_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_form)
1346
+ def post_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_form, incoming={})
1318
1347
  HttpClient::Preconditions.assert_class('organization', organization, String)
1319
1348
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1349
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1350
+ query = {
1351
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1352
+ }.delete_if { |k, v| v.nil? }
1320
1353
  (x = experience_price_book_mapping_form; x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMappingForm) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMappingForm.new(x))
1321
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_json(experience_price_book_mapping_form.to_json).post
1354
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_query(query).with_json(experience_price_book_mapping_form.to_json).post
1322
1355
  ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(r)
1323
1356
  end
1324
1357
 
1325
- def put_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_put_form)
1358
+ def put_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_put_form, incoming={})
1326
1359
  HttpClient::Preconditions.assert_class('organization', organization, String)
1327
1360
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1361
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1362
+ query = {
1363
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1364
+ }.delete_if { |k, v| v.nil? }
1328
1365
  (x = experience_price_book_mapping_put_form; x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMappingPutForm) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMappingPutForm.new(x))
1329
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_json(experience_price_book_mapping_put_form.to_json).put
1366
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_query(query).with_json(experience_price_book_mapping_put_form.to_json).put
1330
1367
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x) }
1331
1368
  end
1332
1369
 
@@ -1347,37 +1384,53 @@ module Io
1347
1384
  end
1348
1385
 
1349
1386
  # Returns information about a specific experience.
1350
- def get_by_key(organization, key)
1387
+ def get_by_key(organization, key, incoming={})
1351
1388
  HttpClient::Preconditions.assert_class('organization', organization, String)
1352
1389
  HttpClient::Preconditions.assert_class('key', key, String)
1353
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").get
1390
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1391
+ query = {
1392
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1393
+ }.delete_if { |k, v| v.nil? }
1394
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).get
1354
1395
  ::Io::Flow::V0::Models::Experience.new(r)
1355
1396
  end
1356
1397
 
1357
1398
  # Update experience with the specified key, creating if it does not exist.
1358
- def put_by_key(organization, key, experience_form)
1399
+ def put_by_key(organization, key, experience_form, incoming={})
1359
1400
  HttpClient::Preconditions.assert_class('organization', organization, String)
1360
1401
  HttpClient::Preconditions.assert_class('key', key, String)
1402
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1403
+ query = {
1404
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1405
+ }.delete_if { |k, v| v.nil? }
1361
1406
  (x = experience_form; x.is_a?(::Io::Flow::V0::Models::ExperienceForm) ? x : ::Io::Flow::V0::Models::ExperienceForm.new(x))
1362
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_json(experience_form.to_json).put
1407
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).with_json(experience_form.to_json).put
1363
1408
  ::Io::Flow::V0::Models::Experience.new(r)
1364
1409
  end
1365
1410
 
1366
1411
  # Delete the experience with this key
1367
- def delete_by_key(organization, key)
1412
+ def delete_by_key(organization, key, incoming={})
1368
1413
  HttpClient::Preconditions.assert_class('organization', organization, String)
1369
1414
  HttpClient::Preconditions.assert_class('key', key, String)
1370
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").delete
1415
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1416
+ query = {
1417
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1418
+ }.delete_if { |k, v| v.nil? }
1419
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}").with_query(query).delete
1371
1420
  nil
1372
1421
  end
1373
1422
 
1374
1423
  # Clones the experience with the specified key, using data from
1375
1424
  # experience_clone_form.
1376
- def post_clone_by_key(organization, key, experience_clone_form)
1425
+ def post_clone_by_key(organization, key, experience_clone_form, incoming={})
1377
1426
  HttpClient::Preconditions.assert_class('organization', organization, String)
1378
1427
  HttpClient::Preconditions.assert_class('key', key, String)
1428
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1429
+ query = {
1430
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1431
+ }.delete_if { |k, v| v.nil? }
1379
1432
  (x = experience_clone_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCloneForm) ? x : ::Io::Flow::V0::Models::ExperienceCloneForm.new(x))
1380
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/clone").with_json(experience_clone_form.to_json).post
1433
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/clone").with_query(query).with_json(experience_clone_form.to_json).post
1381
1434
  ::Io::Flow::V0::Models::ExperienceClone.new(r)
1382
1435
  end
1383
1436
 
@@ -1412,10 +1465,14 @@ module Io
1412
1465
  end
1413
1466
 
1414
1467
  # Get the pricing settings for this experience
1415
- def get_pricing_by_key(organization, key)
1468
+ def get_pricing_by_key(organization, key, incoming={})
1416
1469
  HttpClient::Preconditions.assert_class('organization', organization, String)
1417
1470
  HttpClient::Preconditions.assert_class('key', key, String)
1418
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").get
1471
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1472
+ query = {
1473
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1474
+ }.delete_if { |k, v| v.nil? }
1475
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing").with_query(query).get
1419
1476
  ::Io::Flow::V0::Models::Pricing.new(r)
1420
1477
  end
1421
1478
 
@@ -1433,19 +1490,27 @@ module Io
1433
1490
  end
1434
1491
 
1435
1492
  # Get available promotions for the experience
1436
- def get_promotions_and_available_by_key(organization, key)
1493
+ def get_promotions_and_available_by_key(organization, key, incoming={})
1437
1494
  HttpClient::Preconditions.assert_class('organization', organization, String)
1438
1495
  HttpClient::Preconditions.assert_class('key', key, String)
1439
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/promotions/available").get
1496
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1497
+ query = {
1498
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1499
+ }.delete_if { |k, v| v.nil? }
1500
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/promotions/available").with_query(query).get
1440
1501
  r.map { |x| ::Io::Flow::V0::Models::Promotion.from_json(x) }
1441
1502
  end
1442
1503
 
1443
1504
  # Updates the status of a given experience.
1444
- def put_status_by_key(organization, key, experience_status_form)
1505
+ def put_status_by_key(organization, key, experience_status_form, incoming={})
1445
1506
  HttpClient::Preconditions.assert_class('organization', organization, String)
1446
1507
  HttpClient::Preconditions.assert_class('key', key, String)
1508
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1509
+ query = {
1510
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1511
+ }.delete_if { |k, v| v.nil? }
1447
1512
  (x = experience_status_form; x.is_a?(::Io::Flow::V0::Models::ExperienceStatusForm) ? x : ::Io::Flow::V0::Models::ExperienceStatusForm.new(x))
1448
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/status").with_json(experience_status_form.to_json).put
1513
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/status").with_query(query).with_json(experience_status_form.to_json).put
1449
1514
  ::Io::Flow::V0::Models::Experience.new(r)
1450
1515
  end
1451
1516
 
@@ -1457,18 +1522,26 @@ module Io
1457
1522
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
1458
1523
  end
1459
1524
 
1460
- def get(organization, experience_key)
1525
+ def get(organization, experience_key, incoming={})
1461
1526
  HttpClient::Preconditions.assert_class('organization', organization, String)
1462
1527
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1463
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").get
1528
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1529
+ query = {
1530
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1531
+ }.delete_if { |k, v| v.nil? }
1532
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_query(query).get
1464
1533
  ::Io::Flow::V0::Models::ExperienceCheckoutSettings.new(r)
1465
1534
  end
1466
1535
 
1467
- def put(organization, experience_key, experience_checkout_settings_form)
1536
+ def put(organization, experience_key, experience_checkout_settings_form, incoming={})
1468
1537
  HttpClient::Preconditions.assert_class('organization', organization, String)
1469
1538
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1539
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1540
+ query = {
1541
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1542
+ }.delete_if { |k, v| v.nil? }
1470
1543
  (x = experience_checkout_settings_form; x.is_a?(::Io::Flow::V0::Models::ExperienceCheckoutSettingsForm) ? x : ::Io::Flow::V0::Models::ExperienceCheckoutSettingsForm.new(x))
1471
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_json(experience_checkout_settings_form.to_json).put
1544
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/checkout").with_query(query).with_json(experience_checkout_settings_form.to_json).put
1472
1545
  ::Io::Flow::V0::Models::ExperienceCheckoutSettings.new(r)
1473
1546
  end
1474
1547
 
@@ -1485,7 +1558,8 @@ module Io
1485
1558
  HttpClient::Preconditions.assert_class('organization', organization, String)
1486
1559
  opts = HttpClient::Helper.symbolize_keys(incoming)
1487
1560
  query = {
1488
- :region_id => (x = opts.delete(:region_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('region_id', x, String))
1561
+ :region_id => (x = opts.delete(:region_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('region_id', x, String)),
1562
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1489
1563
  }.delete_if { |k, v| v.nil? }
1490
1564
  r = @client.request("/#{CGI.escape(organization)}/experience/defaults").with_query(query).get
1491
1565
  ::Io::Flow::V0::Models::ExperienceDefaults.new(r)
@@ -1506,11 +1580,15 @@ module Io
1506
1580
  ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(r)
1507
1581
  end
1508
1582
 
1509
- def put(organization, experience_key, experience_logistics_settings_put_form)
1583
+ def put(organization, experience_key, experience_logistics_settings_put_form, incoming={})
1510
1584
  HttpClient::Preconditions.assert_class('organization', organization, String)
1511
1585
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1586
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1587
+ query = {
1588
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1589
+ }.delete_if { |k, v| v.nil? }
1512
1590
  (x = experience_logistics_settings_put_form; x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsSettingsPutForm) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsSettingsPutForm.new(x))
1513
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/logistics").with_json(experience_logistics_settings_put_form.to_json).put
1591
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/settings/logistics").with_query(query).with_json(experience_logistics_settings_put_form.to_json).put
1514
1592
  ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(r)
1515
1593
  end
1516
1594
 
@@ -1725,6 +1803,7 @@ module Io
1725
1803
  :customer_number => (x = opts.delete(:customer_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('customer_number', x, String)),
1726
1804
  :submitted_at_on_or_after => (x = opts.delete(:submitted_at_on_or_after); x.nil? ? nil : HttpClient::Preconditions.assert_class('submitted_at_on_or_after', HttpClient::Helper.to_date_time_iso8601(x), DateTime)),
1727
1805
  :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1806
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
1728
1807
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1729
1808
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1730
1809
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String),
@@ -1762,7 +1841,8 @@ module Io
1762
1841
  opts = HttpClient::Helper.symbolize_keys(incoming)
1763
1842
  query = {
1764
1843
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1765
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1844
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1845
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1766
1846
  }.delete_if { |k, v| v.nil? }
1767
1847
  r = @client.request("/#{CGI.escape(organization)}/orders/identifier/#{CGI.escape(identifier)}").with_query(query).get
1768
1848
  ::Io::Flow::V0::Models::Order.new(r)
@@ -1810,7 +1890,8 @@ module Io
1810
1890
  opts = HttpClient::Helper.symbolize_keys(incoming)
1811
1891
  query = {
1812
1892
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1813
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
1893
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
1894
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1814
1895
  }.delete_if { |k, v| v.nil? }
1815
1896
  r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}").with_query(query).get
1816
1897
  ::Io::Flow::V0::Models::Order.new(r)
@@ -1862,7 +1943,6 @@ module Io
1862
1943
  HttpClient::Preconditions.assert_class('number', number, String)
1863
1944
  opts = HttpClient::Helper.symbolize_keys(incoming)
1864
1945
  query = {
1865
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1866
1946
  :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1867
1947
  }.delete_if { |k, v| v.nil? }
1868
1948
  (x = authorization_form; x.is_a?(::Io::Flow::V0::Models::AuthorizationForm) ? x : ::Io::Flow::V0::Models::AuthorizationForm.from_json(x))
@@ -2033,7 +2113,8 @@ module Io
2033
2113
  opts = HttpClient::Helper.symbolize_keys(incoming)
2034
2114
  query = {
2035
2115
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2036
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2116
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2117
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2037
2118
  }.delete_if { |k, v| v.nil? }
2038
2119
  r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}").with_query(query).get
2039
2120
  ::Io::Flow::V0::Models::OrderBuilder.new(r)
@@ -2231,7 +2312,8 @@ module Io
2231
2312
  opts = HttpClient::Helper.symbolize_keys(incoming)
2232
2313
  query = {
2233
2314
  :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
2234
- :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) })
2315
+ :romanize => (x = opts.delete(:romanize); x.nil? ? nil : HttpClient::Preconditions.assert_class('romanize', x, Array).map { |v| HttpClient::Preconditions.assert_class('romanize', v, String) }),
2316
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2235
2317
  }.delete_if { |k, v| v.nil? }
2236
2318
  r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(number)}").with_query(query).get
2237
2319
  ::Io::Flow::V0::Models::Experience.new(r)
@@ -2402,7 +2484,8 @@ module Io
2402
2484
  query = {
2403
2485
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2404
2486
  :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
2405
- :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value }
2487
+ :status => HttpClient::Preconditions.assert_class('status', (x = opts.delete(:status); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExperienceStatus) ? x : ::Io::Flow::V0::Models::ExperienceStatus.apply(x)).value },
2488
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2406
2489
  }.delete_if { |k, v| v.nil? }
2407
2490
  r = @client.request("/#{CGI.escape(organization)}/countries").with_query(query).get
2408
2491
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
@@ -2416,6 +2499,21 @@ module Io
2416
2499
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
2417
2500
  end
2418
2501
 
2502
+ # Status of all countries
2503
+ def get_countries_and_statuses_by_organization(organization)
2504
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2505
+ r = @client.request("/#{CGI.escape(organization)}/countries/statuses").get
2506
+ r.map { |x| ::Io::Flow::V0::Models::CountryStatus.new(x) }
2507
+ end
2508
+
2509
+ def put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form)
2510
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2511
+ HttpClient::Preconditions.assert_class('country', country, String)
2512
+ (x = country_status_form; x.is_a?(::Io::Flow::V0::Models::CountryStatusForm) ? x : ::Io::Flow::V0::Models::CountryStatusForm.new(x))
2513
+ r = @client.request("/#{CGI.escape(organization)}/countries/statuses/#{CGI.escape(country)}").with_json(country_status_form.to_json).put
2514
+ ::Io::Flow::V0::Models::CountryStatus.new(r)
2515
+ end
2516
+
2419
2517
  # Search organizations. Always paginated.
2420
2518
  def get(incoming={})
2421
2519
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -2531,6 +2629,7 @@ module Io
2531
2629
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2532
2630
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
2533
2631
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2632
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
2534
2633
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2535
2634
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2536
2635
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "display_position" : x), String)
@@ -2548,6 +2647,7 @@ module Io
2548
2647
  :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
2549
2648
  :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
2550
2649
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
2650
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
2551
2651
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2552
2652
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2553
2653
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "display_position" : x), String)
@@ -2563,7 +2663,8 @@ module Io
2563
2663
  query = {
2564
2664
  :experiences => (x = opts.delete(:experiences); x.nil? ? nil : HttpClient::Preconditions.assert_class('experiences', x, Array).map { |v| HttpClient::Preconditions.assert_class('experiences', v, String) }),
2565
2665
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2566
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
2666
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2667
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
2567
2668
  }.delete_if { |k, v| v.nil? }
2568
2669
  r = @client.request("/#{CGI.escape(organization)}/payment/method/rules/batch").with_query(query).get
2569
2670
  r.map { |x| ::Io::Flow::V0::Models::ExperiencePaymentMethodRule.new(x) }
@@ -2943,27 +3044,6 @@ module Io
2943
3044
 
2944
3045
  end
2945
3046
 
2946
- class HarmonizedCategories
2947
-
2948
- def initialize(client)
2949
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2950
- end
2951
-
2952
- def get(organization, incoming={})
2953
- HttpClient::Preconditions.assert_class('organization', organization, String)
2954
- opts = HttpClient::Helper.symbolize_keys(incoming)
2955
- query = {
2956
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2957
- :parent_id => (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String)),
2958
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2959
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
2960
- }.delete_if { |k, v| v.nil? }
2961
- r = @client.request("/#{CGI.escape(organization)}/harmonization/categories").with_query(query).get
2962
- r.map { |x| ::Io::Flow::V0::Models::HarmonizedCategory.new(x) }
2963
- end
2964
-
2965
- end
2966
-
2967
3047
  class HarmonizedLandedCosts
2968
3048
 
2969
3049
  def initialize(client)
@@ -3908,6 +3988,14 @@ module Io
3908
3988
  ::Io::Flow::V0::Models::DimensionEstimate.new(r)
3909
3989
  end
3910
3990
 
3991
+ def put_by_id(organization, id, dimension_estimate_form)
3992
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3993
+ HttpClient::Preconditions.assert_class('id', id, String)
3994
+ (x = dimension_estimate_form; x.is_a?(::Io::Flow::V0::Models::DimensionEstimateForm) ? x : ::Io::Flow::V0::Models::DimensionEstimateForm.new(x))
3995
+ r = @client.request("/#{CGI.escape(organization)}/dimension-estimates/#{CGI.escape(id)}").with_json(dimension_estimate_form.to_json).put
3996
+ ::Io::Flow::V0::Models::DimensionEstimate.new(r)
3997
+ end
3998
+
3911
3999
  def delete_by_id(organization, id)
3912
4000
  HttpClient::Preconditions.assert_class('organization', organization, String)
3913
4001
  HttpClient::Preconditions.assert_class('id', id, String)
@@ -4624,7 +4712,8 @@ module Io
4624
4712
  opts = HttpClient::Helper.symbolize_keys(incoming)
4625
4713
  query = {
4626
4714
  :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x)),
4627
- :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4715
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
4716
+ :force_new => (x = opts.delete(:force_new); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('force_new', x))
4628
4717
  }.delete_if { |k, v| v.nil? }
4629
4718
  (x = shipping_label_form; x.is_a?(::Io::Flow::V0::Models::ShippingLabelForm) ? x : ::Io::Flow::V0::Models::ShippingLabelForm.from_json(x))
4630
4719
  r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_query(query).with_json(shipping_label_form.to_json).post
@@ -6779,6 +6868,20 @@ module Io
6779
6868
 
6780
6869
  end
6781
6870
 
6871
+ class PriceBookItemExportOptions
6872
+
6873
+ def initialize(client)
6874
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
6875
+ end
6876
+
6877
+ def get(organization)
6878
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6879
+ r = @client.request("/#{CGI.escape(organization)}/export/options/price_book_item").get
6880
+ ::Io::Flow::V0::Models::PriceBookItemExportOptions.new(r)
6881
+ end
6882
+
6883
+ end
6884
+
6782
6885
  class ScheduledExports
6783
6886
 
6784
6887
  def initialize(client)
@@ -7671,68 +7774,6 @@ module Io
7671
7774
 
7672
7775
  module Models
7673
7776
 
7674
- # Configurations to support payment authentication done in the user experience
7675
- # e.g. card authentication with 3DS by an issuer ACS.
7676
- class ActionConfiguration
7677
-
7678
- module Types
7679
- THREEDS_TWO_BROWSER_ACTION_CONFIGURATION = 'threeds_two_browser_action_configuration' unless defined?(THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
7680
- end
7681
-
7682
- attr_reader :discriminator
7683
-
7684
- def initialize(incoming={})
7685
- opts = HttpClient::Helper.symbolize_keys(incoming)
7686
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ActionConfiguration')
7687
- @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7688
- end
7689
-
7690
- def subtype_to_hash
7691
- raise 'Cannot serialize an instance of action_configuration directly - must use one of the specific types: threeds_two_browser_action_configuration'
7692
- end
7693
-
7694
- def to_hash
7695
- subtype_to_hash.merge(:discriminator => @discriminator)
7696
- end
7697
-
7698
- def ActionConfiguration.from_json(hash)
7699
- HttpClient::Preconditions.assert_class('hash', hash, Hash)
7700
- discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7701
- if discriminator.empty?
7702
- raise "Union type[action_configuration] requires a field named 'discriminator'"
7703
- end
7704
- case discriminator
7705
- when Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION; ThreedsTwoBrowserActionConfiguration.new(hash)
7706
- else ActionConfigurationUndefinedType.new(:discriminator => discriminator)
7707
- end
7708
- end
7709
-
7710
- end
7711
-
7712
- class ActionConfigurationUndefinedType < ActionConfiguration
7713
-
7714
- attr_reader :name
7715
-
7716
- def initialize(incoming={})
7717
- super(:discriminator => 'undefined_type')
7718
- opts = HttpClient::Helper.symbolize_keys(incoming)
7719
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7720
- end
7721
-
7722
- def subtype_to_hash
7723
- raise 'Unable to serialize undefined type to json'
7724
- end
7725
-
7726
- def copy(incoming={})
7727
- raise 'Operation not supported for undefined type'
7728
- end
7729
-
7730
- def to_hash
7731
- raise 'Operation not supported for undefined type'
7732
- end
7733
-
7734
- end
7735
-
7736
7777
  class AdyenNativeData
7737
7778
 
7738
7779
  module Types
@@ -8325,44 +8366,45 @@ module Io
8325
8366
 
8326
8367
  end
8327
8368
 
8328
- class CheckoutTokenForm
8369
+ # Configurations to support payment authentication done in the browser
8370
+ # experience e.g. card authentication with 3DS by an issuer ACS.
8371
+ class BrowserActionConfiguration
8329
8372
 
8330
8373
  module Types
8331
- CHECKOUT_TOKEN_ORDER_FORM = 'checkout_token_order_form' unless defined?(CHECKOUT_TOKEN_ORDER_FORM)
8332
- CHECKOUT_TOKEN_REFERENCE_FORM = 'checkout_token_reference_form' unless defined?(CHECKOUT_TOKEN_REFERENCE_FORM)
8374
+ CARD_BROWSER_ACTION_CONFIGURATION = 'card_browser_action_configuration' unless defined?(CARD_BROWSER_ACTION_CONFIGURATION)
8333
8375
  end
8334
8376
 
8335
8377
  attr_reader :discriminator
8336
8378
 
8337
8379
  def initialize(incoming={})
8338
8380
  opts = HttpClient::Helper.symbolize_keys(incoming)
8339
- @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator) || 'checkout_token_reference_form', String)
8381
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'BrowserActionConfiguration')
8382
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8340
8383
  end
8341
8384
 
8342
8385
  def subtype_to_hash
8343
- raise 'Cannot serialize an instance of checkout_token_form directly - must use one of the specific types: checkout_token_order_form, checkout_token_reference_form'
8386
+ raise 'Cannot serialize an instance of browser_action_configuration directly - must use one of the specific types: card_browser_action_configuration'
8344
8387
  end
8345
8388
 
8346
8389
  def to_hash
8347
8390
  subtype_to_hash.merge(:discriminator => @discriminator)
8348
8391
  end
8349
8392
 
8350
- def CheckoutTokenForm.from_json(hash)
8393
+ def BrowserActionConfiguration.from_json(hash)
8351
8394
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
8352
8395
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8353
8396
  if discriminator.empty?
8354
- raise "Union type[checkout_token_form] requires a field named 'discriminator'"
8397
+ raise "Union type[browser_action_configuration] requires a field named 'discriminator'"
8355
8398
  end
8356
8399
  case discriminator
8357
- when Types::CHECKOUT_TOKEN_ORDER_FORM; CheckoutTokenOrderForm.new(hash)
8358
- when Types::CHECKOUT_TOKEN_REFERENCE_FORM; CheckoutTokenReferenceForm.new(hash)
8359
- else CheckoutTokenFormUndefinedType.new(:discriminator => discriminator)
8400
+ when Types::CARD_BROWSER_ACTION_CONFIGURATION; CardBrowserActionConfiguration.new(hash)
8401
+ else BrowserActionConfigurationUndefinedType.new(:discriminator => discriminator)
8360
8402
  end
8361
8403
  end
8362
8404
 
8363
8405
  end
8364
8406
 
8365
- class CheckoutTokenFormUndefinedType < CheckoutTokenForm
8407
+ class BrowserActionConfigurationUndefinedType < BrowserActionConfiguration
8366
8408
 
8367
8409
  attr_reader :name
8368
8410
 
@@ -8386,43 +8428,44 @@ module Io
8386
8428
 
8387
8429
  end
8388
8430
 
8389
- class ConfirmationDetails
8431
+ class CheckoutTokenForm
8390
8432
 
8391
8433
  module Types
8392
- DIRECT_DEBIT = 'direct_debit' unless defined?(DIRECT_DEBIT)
8434
+ CHECKOUT_TOKEN_ORDER_FORM = 'checkout_token_order_form' unless defined?(CHECKOUT_TOKEN_ORDER_FORM)
8435
+ CHECKOUT_TOKEN_REFERENCE_FORM = 'checkout_token_reference_form' unless defined?(CHECKOUT_TOKEN_REFERENCE_FORM)
8393
8436
  end
8394
8437
 
8395
8438
  attr_reader :discriminator
8396
8439
 
8397
8440
  def initialize(incoming={})
8398
8441
  opts = HttpClient::Helper.symbolize_keys(incoming)
8399
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ConfirmationDetails')
8400
- @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8442
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator) || 'checkout_token_reference_form', String)
8401
8443
  end
8402
8444
 
8403
8445
  def subtype_to_hash
8404
- raise 'Cannot serialize an instance of confirmation_details directly - must use one of the specific types: direct_debit'
8446
+ raise 'Cannot serialize an instance of checkout_token_form directly - must use one of the specific types: checkout_token_order_form, checkout_token_reference_form'
8405
8447
  end
8406
8448
 
8407
8449
  def to_hash
8408
8450
  subtype_to_hash.merge(:discriminator => @discriminator)
8409
8451
  end
8410
8452
 
8411
- def ConfirmationDetails.from_json(hash)
8453
+ def CheckoutTokenForm.from_json(hash)
8412
8454
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
8413
8455
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8414
8456
  if discriminator.empty?
8415
- raise "Union type[confirmation_details] requires a field named 'discriminator'"
8457
+ raise "Union type[checkout_token_form] requires a field named 'discriminator'"
8416
8458
  end
8417
8459
  case discriminator
8418
- when Types::DIRECT_DEBIT; DirectDebit.new(hash)
8419
- else ConfirmationDetailsUndefinedType.new(:discriminator => discriminator)
8460
+ when Types::CHECKOUT_TOKEN_ORDER_FORM; CheckoutTokenOrderForm.new(hash)
8461
+ when Types::CHECKOUT_TOKEN_REFERENCE_FORM; CheckoutTokenReferenceForm.new(hash)
8462
+ else CheckoutTokenFormUndefinedType.new(:discriminator => discriminator)
8420
8463
  end
8421
8464
  end
8422
8465
 
8423
8466
  end
8424
8467
 
8425
- class ConfirmationDetailsUndefinedType < ConfirmationDetails
8468
+ class CheckoutTokenFormUndefinedType < CheckoutTokenForm
8426
8469
 
8427
8470
  attr_reader :name
8428
8471
 
@@ -8446,47 +8489,107 @@ module Io
8446
8489
 
8447
8490
  end
8448
8491
 
8449
- class ConsumerInvoiceLine
8492
+ class ConfirmationDetails
8450
8493
 
8451
8494
  module Types
8452
- CONSUMER_INVOICE_LINE_ITEM = 'item' unless defined?(CONSUMER_INVOICE_LINE_ITEM)
8453
- CONSUMER_INVOICE_LINE_DISCOUNT = 'discount' unless defined?(CONSUMER_INVOICE_LINE_DISCOUNT)
8454
- CONSUMER_INVOICE_LINE_SHIPPING = 'shipping' unless defined?(CONSUMER_INVOICE_LINE_SHIPPING)
8495
+ DIRECT_DEBIT = 'direct_debit' unless defined?(DIRECT_DEBIT)
8455
8496
  end
8456
8497
 
8457
8498
  attr_reader :discriminator
8458
8499
 
8459
8500
  def initialize(incoming={})
8460
8501
  opts = HttpClient::Helper.symbolize_keys(incoming)
8461
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ConsumerInvoiceLine')
8502
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ConfirmationDetails')
8462
8503
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8463
8504
  end
8464
8505
 
8465
8506
  def subtype_to_hash
8466
- raise 'Cannot serialize an instance of consumer_invoice_line directly - must use one of the specific types: consumer_invoice_line_item, consumer_invoice_line_discount, consumer_invoice_line_shipping'
8507
+ raise 'Cannot serialize an instance of confirmation_details directly - must use one of the specific types: direct_debit'
8467
8508
  end
8468
8509
 
8469
8510
  def to_hash
8470
8511
  subtype_to_hash.merge(:discriminator => @discriminator)
8471
8512
  end
8472
8513
 
8473
- def ConsumerInvoiceLine.from_json(hash)
8514
+ def ConfirmationDetails.from_json(hash)
8474
8515
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
8475
8516
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8476
8517
  if discriminator.empty?
8477
- raise "Union type[consumer_invoice_line] requires a field named 'discriminator'"
8518
+ raise "Union type[confirmation_details] requires a field named 'discriminator'"
8478
8519
  end
8479
8520
  case discriminator
8480
- when Types::CONSUMER_INVOICE_LINE_ITEM; ConsumerInvoiceLineItem.new(hash)
8481
- when Types::CONSUMER_INVOICE_LINE_DISCOUNT; ConsumerInvoiceLineDiscount.new(hash)
8482
- when Types::CONSUMER_INVOICE_LINE_SHIPPING; ConsumerInvoiceLineShipping.new(hash)
8483
- else ConsumerInvoiceLineUndefinedType.new(:discriminator => discriminator)
8521
+ when Types::DIRECT_DEBIT; DirectDebit.new(hash)
8522
+ else ConfirmationDetailsUndefinedType.new(:discriminator => discriminator)
8484
8523
  end
8485
8524
  end
8486
8525
 
8487
8526
  end
8488
8527
 
8489
- class ConsumerInvoiceLineUndefinedType < ConsumerInvoiceLine
8528
+ class ConfirmationDetailsUndefinedType < ConfirmationDetails
8529
+
8530
+ attr_reader :name
8531
+
8532
+ def initialize(incoming={})
8533
+ super(:discriminator => 'undefined_type')
8534
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8535
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
8536
+ end
8537
+
8538
+ def subtype_to_hash
8539
+ raise 'Unable to serialize undefined type to json'
8540
+ end
8541
+
8542
+ def copy(incoming={})
8543
+ raise 'Operation not supported for undefined type'
8544
+ end
8545
+
8546
+ def to_hash
8547
+ raise 'Operation not supported for undefined type'
8548
+ end
8549
+
8550
+ end
8551
+
8552
+ class ConsumerInvoiceLine
8553
+
8554
+ module Types
8555
+ CONSUMER_INVOICE_LINE_ITEM = 'item' unless defined?(CONSUMER_INVOICE_LINE_ITEM)
8556
+ CONSUMER_INVOICE_LINE_DISCOUNT = 'discount' unless defined?(CONSUMER_INVOICE_LINE_DISCOUNT)
8557
+ CONSUMER_INVOICE_LINE_SHIPPING = 'shipping' unless defined?(CONSUMER_INVOICE_LINE_SHIPPING)
8558
+ end
8559
+
8560
+ attr_reader :discriminator
8561
+
8562
+ def initialize(incoming={})
8563
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8564
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ConsumerInvoiceLine')
8565
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8566
+ end
8567
+
8568
+ def subtype_to_hash
8569
+ raise 'Cannot serialize an instance of consumer_invoice_line directly - must use one of the specific types: consumer_invoice_line_item, consumer_invoice_line_discount, consumer_invoice_line_shipping'
8570
+ end
8571
+
8572
+ def to_hash
8573
+ subtype_to_hash.merge(:discriminator => @discriminator)
8574
+ end
8575
+
8576
+ def ConsumerInvoiceLine.from_json(hash)
8577
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
8578
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8579
+ if discriminator.empty?
8580
+ raise "Union type[consumer_invoice_line] requires a field named 'discriminator'"
8581
+ end
8582
+ case discriminator
8583
+ when Types::CONSUMER_INVOICE_LINE_ITEM; ConsumerInvoiceLineItem.new(hash)
8584
+ when Types::CONSUMER_INVOICE_LINE_DISCOUNT; ConsumerInvoiceLineDiscount.new(hash)
8585
+ when Types::CONSUMER_INVOICE_LINE_SHIPPING; ConsumerInvoiceLineShipping.new(hash)
8586
+ else ConsumerInvoiceLineUndefinedType.new(:discriminator => discriminator)
8587
+ end
8588
+ end
8589
+
8590
+ end
8591
+
8592
+ class ConsumerInvoiceLineUndefinedType < ConsumerInvoiceLine
8490
8593
 
8491
8594
  attr_reader :name
8492
8595
 
@@ -9001,6 +9104,8 @@ module Io
9001
9104
  EXPERIENCE_UPSERTED = 'experience_upserted' unless defined?(EXPERIENCE_UPSERTED)
9002
9105
  EXPERIENCE_DELETED_V2 = 'experience_deleted_v2' unless defined?(EXPERIENCE_DELETED_V2)
9003
9106
  EXPERIENCE_UPSERTED_V2 = 'experience_upserted_v2' unless defined?(EXPERIENCE_UPSERTED_V2)
9107
+ COUNTRY_STATUS_UPSERTED = 'country_status_upserted' unless defined?(COUNTRY_STATUS_UPSERTED)
9108
+ COUNTRY_STATUS_DELETED = 'country_status_deleted' unless defined?(COUNTRY_STATUS_DELETED)
9004
9109
  EXPERIENCE_PRICE_BOOK_MAPPING_DELETED = 'experience_price_book_mapping_deleted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_DELETED)
9005
9110
  EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED = 'experience_price_book_mapping_upserted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
9006
9111
  EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED = 'experience_logistics_settings_upserted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED)
@@ -9115,6 +9220,8 @@ module Io
9115
9220
  RATECARD_DELETED = 'ratecard_deleted' unless defined?(RATECARD_DELETED)
9116
9221
  RETURN_UPSERTED = 'return_upserted' unless defined?(RETURN_UPSERTED)
9117
9222
  RETURN_DELETED = 'return_deleted' unless defined?(RETURN_DELETED)
9223
+ RETURN_UPSERTED_V2 = 'return_upserted_v2' unless defined?(RETURN_UPSERTED_V2)
9224
+ RETURN_DELETED_V2 = 'return_deleted_v2' unless defined?(RETURN_DELETED_V2)
9118
9225
  SHOPIFY_LOCALIZATION_SETTING_UPSERTED = 'shopify_localization_setting_upserted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_UPSERTED)
9119
9226
  SHOPIFY_LOCALIZATION_SETTING_DELETED = 'shopify_localization_setting_deleted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_DELETED)
9120
9227
  TRACKING_LABEL_EVENT_UPSERTED = 'tracking_label_event_upserted' unless defined?(TRACKING_LABEL_EVENT_UPSERTED)
@@ -9129,7 +9236,7 @@ module Io
9129
9236
  end
9130
9237
 
9131
9238
  def subtype_to_hash
9132
- raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, attribute_upserted_v2, attribute_deleted_v2, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, catalog_item_upserted_v2, catalog_item_deleted_v2, subcatalog_item_upserted, subcatalog_item_deleted, b2b_invoice_upserted, b2b_invoice_deleted, b2b_credit_memo_upserted, b2b_credit_memo_deleted, consumer_invoice_upserted, consumer_invoice_deleted, credit_memo_upserted, credit_memo_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, rate_deleted_v3, rate_upserted_v3, customer_upserted, customer_deleted, customer_address_book_contact_upserted, customer_address_book_contact_deleted, email_notification_upserted, email_notification_deleted, available_promotions_upserted, available_promotions_deleted, available_promotions_upserted_v2, available_promotions_deleted_v2, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_deleted_v2, experience_upserted_v2, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, experience_logistics_settings_upserted, experience_logistics_settings_deleted, item_margin_deleted, item_margin_upserted, item_sales_margin_deleted, item_sales_margin_upserted, label_format_deleted, label_format_upserted, order_deleted, order_upserted, order_deleted_v2, order_upserted_v2, order_identifier_deleted, order_identifier_upserted, order_identifier_deleted_v2, order_identifier_upserted_v2, order_identifier_upserted_v3, pricing_deleted, pricing_upserted, order_service_change_request, fraud_status_changed, center_upserted, center_deleted, shipping_configuration_upserted, shipping_configuration_deleted, tier_upserted_v2, tier_deleted_v2, shipping_lane_upserted, shipping_lane_deleted, shipping_configuration_item_availability_upserted, shipping_configuration_item_availability_deleted, shipping_configuration_item_shipping_pricing_upserted, shipping_configuration_item_shipping_pricing_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, snapshot_upserted, snapshot_deleted, label_upserted, label_deleted_v2, label_upserted_v2, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, checkout_optin_responses_upserted, checkout_optin_responses_deleted, browse_optin_responses_upserted, browse_optin_responses_deleted, order_placed, order_placed_v2, ready_to_fulfill, membership_upserted_v2, membership_deleted_v2, organization_upserted, organization_deleted, organization_upserted_v2, organization_deleted_v2, organization_short_id_upserted, organization_short_id_deleted, organization_default_configurations_upserted, organization_default_configurations_deleted, ecommerce_platform_upserted, ecommerce_platform_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted_v2, card_authorization_deleted_v2, online_authorization_upserted_v2, online_authorization_deleted_v2, capture_upserted_v2, capture_deleted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted_v2, refund_deleted_v2, refund_capture_upserted_v2, reversal_upserted, reversal_deleted, capture_identifier_upserted, capture_identifier_deleted, refund_identifier_upserted, refund_identifier_deleted, virtual_card_capture_upserted, virtual_card_capture_deleted, virtual_card_refund_upserted, virtual_card_refund_deleted, price_book_upserted, price_book_deleted, price_book_item_upserted, price_book_item_deleted, organization_rates_published, ratecard_lane_upserted, ratecard_lane_deleted, ratecard_upserted, ratecard_deleted, return_upserted, return_deleted, shopify_localization_setting_upserted, shopify_localization_setting_deleted, tracking_label_event_upserted'
9239
+ raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, attribute_upserted_v2, attribute_deleted_v2, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, catalog_item_upserted_v2, catalog_item_deleted_v2, subcatalog_item_upserted, subcatalog_item_deleted, b2b_invoice_upserted, b2b_invoice_deleted, b2b_credit_memo_upserted, b2b_credit_memo_deleted, consumer_invoice_upserted, consumer_invoice_deleted, credit_memo_upserted, credit_memo_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, rate_deleted_v3, rate_upserted_v3, customer_upserted, customer_deleted, customer_address_book_contact_upserted, customer_address_book_contact_deleted, email_notification_upserted, email_notification_deleted, available_promotions_upserted, available_promotions_deleted, available_promotions_upserted_v2, available_promotions_deleted_v2, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_deleted_v2, experience_upserted_v2, country_status_upserted, country_status_deleted, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, experience_logistics_settings_upserted, experience_logistics_settings_deleted, item_margin_deleted, item_margin_upserted, item_sales_margin_deleted, item_sales_margin_upserted, label_format_deleted, label_format_upserted, order_deleted, order_upserted, order_deleted_v2, order_upserted_v2, order_identifier_deleted, order_identifier_upserted, order_identifier_deleted_v2, order_identifier_upserted_v2, order_identifier_upserted_v3, pricing_deleted, pricing_upserted, order_service_change_request, fraud_status_changed, center_upserted, center_deleted, shipping_configuration_upserted, shipping_configuration_deleted, tier_upserted_v2, tier_deleted_v2, shipping_lane_upserted, shipping_lane_deleted, shipping_configuration_item_availability_upserted, shipping_configuration_item_availability_deleted, shipping_configuration_item_shipping_pricing_upserted, shipping_configuration_item_shipping_pricing_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, snapshot_upserted, snapshot_deleted, label_upserted, label_deleted_v2, label_upserted_v2, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, checkout_optin_responses_upserted, checkout_optin_responses_deleted, browse_optin_responses_upserted, browse_optin_responses_deleted, order_placed, order_placed_v2, ready_to_fulfill, membership_upserted_v2, membership_deleted_v2, organization_upserted, organization_deleted, organization_upserted_v2, organization_deleted_v2, organization_short_id_upserted, organization_short_id_deleted, organization_default_configurations_upserted, organization_default_configurations_deleted, ecommerce_platform_upserted, ecommerce_platform_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted_v2, card_authorization_deleted_v2, online_authorization_upserted_v2, online_authorization_deleted_v2, capture_upserted_v2, capture_deleted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted_v2, refund_deleted_v2, refund_capture_upserted_v2, reversal_upserted, reversal_deleted, capture_identifier_upserted, capture_identifier_deleted, refund_identifier_upserted, refund_identifier_deleted, virtual_card_capture_upserted, virtual_card_capture_deleted, virtual_card_refund_upserted, virtual_card_refund_deleted, price_book_upserted, price_book_deleted, price_book_item_upserted, price_book_item_deleted, organization_rates_published, ratecard_lane_upserted, ratecard_lane_deleted, ratecard_upserted, ratecard_deleted, return_upserted, return_deleted, return_upserted_v2, return_deleted_v2, shopify_localization_setting_upserted, shopify_localization_setting_deleted, tracking_label_event_upserted'
9133
9240
  end
9134
9241
 
9135
9242
  def to_hash
@@ -9188,6 +9295,8 @@ module Io
9188
9295
  when Types::EXPERIENCE_UPSERTED; ExperienceUpserted.new(hash)
9189
9296
  when Types::EXPERIENCE_DELETED_V2; ExperienceDeletedV2.new(hash)
9190
9297
  when Types::EXPERIENCE_UPSERTED_V2; ExperienceUpsertedV2.new(hash)
9298
+ when Types::COUNTRY_STATUS_UPSERTED; CountryStatusUpserted.new(hash)
9299
+ when Types::COUNTRY_STATUS_DELETED; CountryStatusDeleted.new(hash)
9191
9300
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_DELETED; ExperiencePriceBookMappingDeleted.new(hash)
9192
9301
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED; ExperiencePriceBookMappingUpserted.new(hash)
9193
9302
  when Types::EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED; ExperienceLogisticsSettingsUpserted.new(hash)
@@ -9299,6 +9408,8 @@ module Io
9299
9408
  when Types::RATECARD_DELETED; RatecardDeleted.new(hash)
9300
9409
  when Types::RETURN_UPSERTED; ReturnUpserted.new(hash)
9301
9410
  when Types::RETURN_DELETED; ReturnDeleted.new(hash)
9411
+ when Types::RETURN_UPSERTED_V2; ReturnUpsertedV2.new(hash)
9412
+ when Types::RETURN_DELETED_V2; ReturnDeletedV2.new(hash)
9302
9413
  when Types::SHOPIFY_LOCALIZATION_SETTING_UPSERTED; ShopifyLocalizationSettingUpserted.new(hash)
9303
9414
  when Types::SHOPIFY_LOCALIZATION_SETTING_DELETED; ShopifyLocalizationSettingDeleted.new(hash)
9304
9415
  when Types::TRACKING_LABEL_EVENT_UPSERTED; TrackingLabelEventUpserted.new(hash)
@@ -9644,6 +9755,70 @@ module Io
9644
9755
 
9645
9756
  end
9646
9757
 
9758
+ # Information about which payment processor performed the transaction and how it
9759
+ # can be tracked in their system
9760
+ class ExpandablePaymentProcessor
9761
+
9762
+ module Types
9763
+ PAYMENT_PROCESSOR = 'payment_processor' unless defined?(PAYMENT_PROCESSOR)
9764
+ PAYMENT_PROCESSOR_REFERENCE = 'payment_processor_reference' unless defined?(PAYMENT_PROCESSOR_REFERENCE)
9765
+ end
9766
+
9767
+ attr_reader :discriminator
9768
+
9769
+ def initialize(incoming={})
9770
+ opts = HttpClient::Helper.symbolize_keys(incoming)
9771
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ExpandablePaymentProcessor')
9772
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
9773
+ end
9774
+
9775
+ def subtype_to_hash
9776
+ raise 'Cannot serialize an instance of expandable_payment_processor directly - must use one of the specific types: payment_processor, payment_processor_reference'
9777
+ end
9778
+
9779
+ def to_hash
9780
+ subtype_to_hash.merge(:discriminator => @discriminator)
9781
+ end
9782
+
9783
+ def ExpandablePaymentProcessor.from_json(hash)
9784
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
9785
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
9786
+ if discriminator.empty?
9787
+ raise "Union type[expandable_payment_processor] requires a field named 'discriminator'"
9788
+ end
9789
+ case discriminator
9790
+ when Types::PAYMENT_PROCESSOR; PaymentProcessor.new(hash)
9791
+ when Types::PAYMENT_PROCESSOR_REFERENCE; PaymentProcessorReference.new(hash)
9792
+ else ExpandablePaymentProcessorUndefinedType.new(:discriminator => discriminator)
9793
+ end
9794
+ end
9795
+
9796
+ end
9797
+
9798
+ class ExpandablePaymentProcessorUndefinedType < ExpandablePaymentProcessor
9799
+
9800
+ attr_reader :name
9801
+
9802
+ def initialize(incoming={})
9803
+ super(:discriminator => 'undefined_type')
9804
+ opts = HttpClient::Helper.symbolize_keys(incoming)
9805
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
9806
+ end
9807
+
9808
+ def subtype_to_hash
9809
+ raise 'Unable to serialize undefined type to json'
9810
+ end
9811
+
9812
+ def copy(incoming={})
9813
+ raise 'Operation not supported for undefined type'
9814
+ end
9815
+
9816
+ def to_hash
9817
+ raise 'Operation not supported for undefined type'
9818
+ end
9819
+
9820
+ end
9821
+
9647
9822
  # A subcatalog can be represented with just it's ID, or the entire model
9648
9823
  class ExpandableSubcatalog
9649
9824
 
@@ -10111,6 +10286,68 @@ module Io
10111
10286
 
10112
10287
  end
10113
10288
 
10289
+ # Configurations to support inline payment authentication experiences. Mobile to
10290
+ # be supported at a future date.
10291
+ class InlineActionConfiguration
10292
+
10293
+ module Types
10294
+ BROWSER_INLINE_ACTION_CONFIGURATION = 'browser_inline_action_configuration' unless defined?(BROWSER_INLINE_ACTION_CONFIGURATION)
10295
+ end
10296
+
10297
+ attr_reader :discriminator
10298
+
10299
+ def initialize(incoming={})
10300
+ opts = HttpClient::Helper.symbolize_keys(incoming)
10301
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'InlineActionConfiguration')
10302
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
10303
+ end
10304
+
10305
+ def subtype_to_hash
10306
+ raise 'Cannot serialize an instance of inline_action_configuration directly - must use one of the specific types: browser_inline_action_configuration'
10307
+ end
10308
+
10309
+ def to_hash
10310
+ subtype_to_hash.merge(:discriminator => @discriminator)
10311
+ end
10312
+
10313
+ def InlineActionConfiguration.from_json(hash)
10314
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
10315
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
10316
+ if discriminator.empty?
10317
+ raise "Union type[inline_action_configuration] requires a field named 'discriminator'"
10318
+ end
10319
+ case discriminator
10320
+ when Types::BROWSER_INLINE_ACTION_CONFIGURATION; BrowserInlineActionConfiguration.new(hash)
10321
+ else InlineActionConfigurationUndefinedType.new(:discriminator => discriminator)
10322
+ end
10323
+ end
10324
+
10325
+ end
10326
+
10327
+ class InlineActionConfigurationUndefinedType < InlineActionConfiguration
10328
+
10329
+ attr_reader :name
10330
+
10331
+ def initialize(incoming={})
10332
+ super(:discriminator => 'undefined_type')
10333
+ opts = HttpClient::Helper.symbolize_keys(incoming)
10334
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
10335
+ end
10336
+
10337
+ def subtype_to_hash
10338
+ raise 'Unable to serialize undefined type to json'
10339
+ end
10340
+
10341
+ def copy(incoming={})
10342
+ raise 'Operation not supported for undefined type'
10343
+ end
10344
+
10345
+ def to_hash
10346
+ raise 'Operation not supported for undefined type'
10347
+ end
10348
+
10349
+ end
10350
+
10114
10351
  class InputSpecificationLimitation
10115
10352
 
10116
10353
  module Types
@@ -11571,6 +11808,68 @@ module Io
11571
11808
 
11572
11809
  end
11573
11810
 
11811
+ class ReturnSource
11812
+
11813
+ module Types
11814
+ RETURN_SOURCE_FLOW = 'return_source_flow' unless defined?(RETURN_SOURCE_FLOW)
11815
+ RETURN_SOURCE_EXTERNAL_VENDOR = 'return_source_external_vendor' unless defined?(RETURN_SOURCE_EXTERNAL_VENDOR)
11816
+ end
11817
+
11818
+ attr_reader :discriminator
11819
+
11820
+ def initialize(incoming={})
11821
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11822
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ReturnSource')
11823
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
11824
+ end
11825
+
11826
+ def subtype_to_hash
11827
+ raise 'Cannot serialize an instance of return_source directly - must use one of the specific types: return_source_flow, return_source_external_vendor'
11828
+ end
11829
+
11830
+ def to_hash
11831
+ subtype_to_hash.merge(:discriminator => @discriminator)
11832
+ end
11833
+
11834
+ def ReturnSource.from_json(hash)
11835
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
11836
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
11837
+ if discriminator.empty?
11838
+ raise "Union type[return_source] requires a field named 'discriminator'"
11839
+ end
11840
+ case discriminator
11841
+ when Types::RETURN_SOURCE_FLOW; ReturnSourceFlow.new(hash)
11842
+ when Types::RETURN_SOURCE_EXTERNAL_VENDOR; ReturnSourceExternalVendor.new(hash)
11843
+ else ReturnSourceUndefinedType.new(:discriminator => discriminator)
11844
+ end
11845
+ end
11846
+
11847
+ end
11848
+
11849
+ class ReturnSourceUndefinedType < ReturnSource
11850
+
11851
+ attr_reader :name
11852
+
11853
+ def initialize(incoming={})
11854
+ super(:discriminator => 'undefined_type')
11855
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11856
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
11857
+ end
11858
+
11859
+ def subtype_to_hash
11860
+ raise 'Unable to serialize undefined type to json'
11861
+ end
11862
+
11863
+ def copy(incoming={})
11864
+ raise 'Operation not supported for undefined type'
11865
+ end
11866
+
11867
+ def to_hash
11868
+ raise 'Operation not supported for undefined type'
11869
+ end
11870
+
11871
+ end
11872
+
11574
11873
  class ServiceFee
11575
11874
 
11576
11875
  module Types
@@ -12676,7 +12975,7 @@ module Io
12676
12975
  end
12677
12976
 
12678
12977
  def AttributeDataType.ALL
12679
- @@all ||= [AttributeDataType.boolean, AttributeDataType.decimal, AttributeDataType.string, AttributeDataType.json_array]
12978
+ @@all ||= [AttributeDataType.boolean, AttributeDataType.integer, AttributeDataType.decimal, AttributeDataType.string, AttributeDataType.json_array]
12680
12979
  end
12681
12980
 
12682
12981
  # Boolean true/false data type
@@ -12684,6 +12983,11 @@ module Io
12684
12983
  @@_boolean ||= AttributeDataType.new('boolean')
12685
12984
  end
12686
12985
 
12986
+ # Value of the attribute must be an integer
12987
+ def AttributeDataType.integer
12988
+ @@_integer ||= AttributeDataType.new('integer')
12989
+ end
12990
+
12687
12991
  # Decimal datatype without size or precision restrictions. Commonly used for
12688
12992
  # currency values.
12689
12993
  def AttributeDataType.decimal
@@ -12731,7 +13035,7 @@ module Io
12731
13035
  end
12732
13036
 
12733
13037
  def AttributeIntent.ALL
12734
- @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet, AttributeIntent.eccn, AttributeIntent.returnable, AttributeIntent.searchable]
13038
+ @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet, AttributeIntent.eccn, AttributeIntent.returnable, AttributeIntent.searchable, AttributeIntent.barcode, AttributeIntent.min_days_to_ship, AttributeIntent.max_days_to_ship]
12735
13039
  end
12736
13040
 
12737
13041
  # A brand name of the item (for retailers that sell multiple brands)
@@ -12828,6 +13132,23 @@ module Io
12828
13132
  @@_searchable ||= AttributeIntent.new('searchable')
12829
13133
  end
12830
13134
 
13135
+ # The barcode of this item.
13136
+ def AttributeIntent.barcode
13137
+ @@_barcode ||= AttributeIntent.new('barcode')
13138
+ end
13139
+
13140
+ # Indicates a lead time to prepare an item for shipment. If specified, we will
13141
+ # include this lead time in the delivery window calculation
13142
+ def AttributeIntent.min_days_to_ship
13143
+ @@_min_days_to_ship ||= AttributeIntent.new('min_days_to_ship')
13144
+ end
13145
+
13146
+ # Indicates a lead time to prepare an item for shipment. If specified, we will
13147
+ # include this lead time in the delivery window calculation
13148
+ def AttributeIntent.max_days_to_ship
13149
+ @@_max_days_to_ship ||= AttributeIntent.new('max_days_to_ship')
13150
+ end
13151
+
12831
13152
  def to_hash
12832
13153
  value
12833
13154
  end
@@ -12921,7 +13242,7 @@ module Io
12921
13242
  end
12922
13243
 
12923
13244
  def AuthorizationDeclineCode.ALL
12924
- @@all ||= [AuthorizationDeclineCode.expired, AuthorizationDeclineCode.invalid_name, AuthorizationDeclineCode.invalid_number, AuthorizationDeclineCode.invalid_expiration, AuthorizationDeclineCode.invalid_address, AuthorizationDeclineCode.invalid_token_type, AuthorizationDeclineCode.invalid_token, AuthorizationDeclineCode.no_account, AuthorizationDeclineCode.avs, AuthorizationDeclineCode.cvv, AuthorizationDeclineCode.fraud, AuthorizationDeclineCode.duplicate, AuthorizationDeclineCode.not_supported, AuthorizationDeclineCode.unknown]
13245
+ @@all ||= [AuthorizationDeclineCode.expired, AuthorizationDeclineCode.invalid_name, AuthorizationDeclineCode.invalid_number, AuthorizationDeclineCode.invalid_expiration, AuthorizationDeclineCode.invalid_address, AuthorizationDeclineCode.invalid_token_type, AuthorizationDeclineCode.invalid_token, AuthorizationDeclineCode.no_account, AuthorizationDeclineCode.avs, AuthorizationDeclineCode.cvv, AuthorizationDeclineCode.fraud, AuthorizationDeclineCode.duplicate, AuthorizationDeclineCode.not_supported, AuthorizationDeclineCode.unknown, AuthorizationDeclineCode.online_payment_error]
12925
13246
  end
12926
13247
 
12927
13248
  # Payment method has expired
@@ -12995,6 +13316,11 @@ module Io
12995
13316
  @@_unknown ||= AuthorizationDeclineCode.new('unknown')
12996
13317
  end
12997
13318
 
13319
+ # Indicates an online payment error
13320
+ def AuthorizationDeclineCode.online_payment_error
13321
+ @@_online_payment_error ||= AuthorizationDeclineCode.new('online_payment_error')
13322
+ end
13323
+
12998
13324
  def to_hash
12999
13325
  value
13000
13326
  end
@@ -13326,6 +13652,48 @@ module Io
13326
13652
 
13327
13653
  end
13328
13654
 
13655
+ class B2bInvoiceType
13656
+
13657
+ attr_reader :value
13658
+
13659
+ def initialize(value)
13660
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
13661
+ end
13662
+
13663
+ # Returns the instance of B2bInvoiceType for this value, creating a new instance for an unknown value
13664
+ def B2bInvoiceType.apply(value)
13665
+ if value.instance_of?(B2bInvoiceType)
13666
+ value
13667
+ else
13668
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
13669
+ value.nil? ? nil : (from_string(value) || B2bInvoiceType.new(value))
13670
+ end
13671
+ end
13672
+
13673
+ # Returns the instance of B2bInvoiceType for this value, or nil if not found
13674
+ def B2bInvoiceType.from_string(value)
13675
+ HttpClient::Preconditions.assert_class('value', value, String)
13676
+ B2bInvoiceType.ALL.find { |v| v.value == value }
13677
+ end
13678
+
13679
+ def B2bInvoiceType.ALL
13680
+ @@all ||= [B2bInvoiceType.self_bill_invoice, B2bInvoiceType.invoice]
13681
+ end
13682
+
13683
+ def B2bInvoiceType.self_bill_invoice
13684
+ @@_self_bill_invoice ||= B2bInvoiceType.new('self_bill_invoice')
13685
+ end
13686
+
13687
+ def B2bInvoiceType.invoice
13688
+ @@_invoice ||= B2bInvoiceType.new('invoice')
13689
+ end
13690
+
13691
+ def to_hash
13692
+ value
13693
+ end
13694
+
13695
+ end
13696
+
13329
13697
  class Calendar
13330
13698
 
13331
13699
  attr_reader :value
@@ -14992,7 +15360,7 @@ module Io
14992
15360
  end
14993
15361
 
14994
15362
  def EventType.ALL
14995
- @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, EventType.attribute_upserted_v2, EventType.attribute_deleted_v2, EventType.catalog_upserted, EventType.catalog_deleted, EventType.subcatalog_upserted, EventType.subcatalog_deleted, EventType.catalog_item_upserted, EventType.catalog_item_deleted, EventType.catalog_item_upserted_v2, EventType.catalog_item_deleted_v2, EventType.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.b2b_invoice_upserted, EventType.b2b_invoice_deleted, EventType.b2b_credit_memo_upserted, EventType.b2b_credit_memo_deleted, EventType.consumer_invoice_upserted, EventType.consumer_invoice_deleted, EventType.credit_memo_upserted, EventType.credit_memo_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.rate_deleted_v3, EventType.rate_upserted_v3, EventType.customer_upserted, EventType.customer_deleted, EventType.customer_address_book_contact_upserted, EventType.customer_address_book_contact_deleted, EventType.email_notification_upserted, EventType.email_notification_deleted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.available_promotions_upserted_v2, EventType.available_promotions_deleted_v2, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_deleted_v2, EventType.experience_upserted_v2, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, EventType.experience_logistics_settings_upserted, EventType.experience_logistics_settings_deleted, EventType.item_margin_deleted, EventType.item_margin_upserted, EventType.item_sales_margin_deleted, EventType.item_sales_margin_upserted, EventType.label_format_deleted, EventType.label_format_upserted, EventType.order_deleted, EventType.order_upserted, EventType.order_deleted_v2, EventType.order_upserted_v2, EventType.order_identifier_deleted, EventType.order_identifier_upserted, EventType.order_identifier_deleted_v2, EventType.order_identifier_upserted_v2, EventType.order_identifier_upserted_v3, EventType.pricing_deleted, EventType.pricing_upserted, EventType.order_service_change_request, EventType.fraud_status_changed, EventType.center_upserted, EventType.center_deleted, EventType.shipping_configuration_upserted, EventType.shipping_configuration_deleted, EventType.tier_upserted_v2, EventType.tier_deleted_v2, EventType.shipping_lane_upserted, EventType.shipping_lane_deleted, EventType.shipping_configuration_item_availability_upserted, EventType.shipping_configuration_item_availability_deleted, EventType.shipping_configuration_item_shipping_pricing_upserted, EventType.shipping_configuration_item_shipping_pricing_deleted, EventType.hs6_code_upserted, EventType.hs6_code_deleted, EventType.hs10_code_upserted, EventType.hs10_code_deleted, EventType.item_origin_upserted, EventType.item_origin_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.label_deleted_v2, EventType.label_upserted_v2, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.checkout_optin_responses_upserted, EventType.checkout_optin_responses_deleted, EventType.browse_optin_responses_upserted, EventType.browse_optin_responses_deleted, EventType.order_placed, EventType.order_placed_v2, EventType.ready_to_fulfill, EventType.membership_upserted_v2, EventType.membership_deleted_v2, EventType.organization_upserted, EventType.organization_deleted, EventType.organization_upserted_v2, EventType.organization_deleted_v2, EventType.organization_short_id_upserted, EventType.organization_short_id_deleted, EventType.organization_default_configurations_upserted, EventType.organization_default_configurations_deleted, EventType.ecommerce_platform_upserted, EventType.ecommerce_platform_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted_v2, EventType.card_authorization_deleted_v2, EventType.online_authorization_upserted_v2, EventType.online_authorization_deleted_v2, EventType.capture_upserted_v2, EventType.capture_deleted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted_v2, EventType.refund_deleted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, EventType.reversal_deleted, EventType.capture_identifier_upserted, EventType.capture_identifier_deleted, EventType.refund_identifier_upserted, EventType.refund_identifier_deleted, EventType.virtual_card_capture_upserted, EventType.virtual_card_capture_deleted, EventType.virtual_card_refund_upserted, EventType.virtual_card_refund_deleted, EventType.price_book_upserted, EventType.price_book_deleted, EventType.price_book_item_upserted, EventType.price_book_item_deleted, EventType.organization_rates_published, EventType.ratecard_lane_upserted, EventType.ratecard_lane_deleted, EventType.ratecard_upserted, EventType.ratecard_deleted, EventType.return_upserted, EventType.return_deleted, EventType.shopify_localization_setting_upserted, EventType.shopify_localization_setting_deleted, EventType.tracking_label_event_upserted]
15363
+ @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, EventType.attribute_upserted_v2, EventType.attribute_deleted_v2, EventType.catalog_upserted, EventType.catalog_deleted, EventType.subcatalog_upserted, EventType.subcatalog_deleted, EventType.catalog_item_upserted, EventType.catalog_item_deleted, EventType.catalog_item_upserted_v2, EventType.catalog_item_deleted_v2, EventType.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.b2b_invoice_upserted, EventType.b2b_invoice_deleted, EventType.b2b_credit_memo_upserted, EventType.b2b_credit_memo_deleted, EventType.consumer_invoice_upserted, EventType.consumer_invoice_deleted, EventType.credit_memo_upserted, EventType.credit_memo_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.rate_deleted_v3, EventType.rate_upserted_v3, EventType.customer_upserted, EventType.customer_deleted, EventType.customer_address_book_contact_upserted, EventType.customer_address_book_contact_deleted, EventType.email_notification_upserted, EventType.email_notification_deleted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.available_promotions_upserted_v2, EventType.available_promotions_deleted_v2, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_deleted_v2, EventType.experience_upserted_v2, EventType.country_status_upserted, EventType.country_status_deleted, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, EventType.experience_logistics_settings_upserted, EventType.experience_logistics_settings_deleted, EventType.item_margin_deleted, EventType.item_margin_upserted, EventType.item_sales_margin_deleted, EventType.item_sales_margin_upserted, EventType.label_format_deleted, EventType.label_format_upserted, EventType.order_deleted, EventType.order_upserted, EventType.order_deleted_v2, EventType.order_upserted_v2, EventType.order_identifier_deleted, EventType.order_identifier_upserted, EventType.order_identifier_deleted_v2, EventType.order_identifier_upserted_v2, EventType.order_identifier_upserted_v3, EventType.pricing_deleted, EventType.pricing_upserted, EventType.order_service_change_request, EventType.fraud_status_changed, EventType.center_upserted, EventType.center_deleted, EventType.shipping_configuration_upserted, EventType.shipping_configuration_deleted, EventType.tier_upserted_v2, EventType.tier_deleted_v2, EventType.shipping_lane_upserted, EventType.shipping_lane_deleted, EventType.shipping_configuration_item_availability_upserted, EventType.shipping_configuration_item_availability_deleted, EventType.shipping_configuration_item_shipping_pricing_upserted, EventType.shipping_configuration_item_shipping_pricing_deleted, EventType.hs6_code_upserted, EventType.hs6_code_deleted, EventType.hs10_code_upserted, EventType.hs10_code_deleted, EventType.item_origin_upserted, EventType.item_origin_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.label_deleted_v2, EventType.label_upserted_v2, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.checkout_optin_responses_upserted, EventType.checkout_optin_responses_deleted, EventType.browse_optin_responses_upserted, EventType.browse_optin_responses_deleted, EventType.order_placed, EventType.order_placed_v2, EventType.ready_to_fulfill, EventType.membership_upserted_v2, EventType.membership_deleted_v2, EventType.organization_upserted, EventType.organization_deleted, EventType.organization_upserted_v2, EventType.organization_deleted_v2, EventType.organization_short_id_upserted, EventType.organization_short_id_deleted, EventType.organization_default_configurations_upserted, EventType.organization_default_configurations_deleted, EventType.ecommerce_platform_upserted, EventType.ecommerce_platform_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted_v2, EventType.card_authorization_deleted_v2, EventType.online_authorization_upserted_v2, EventType.online_authorization_deleted_v2, EventType.capture_upserted_v2, EventType.capture_deleted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted_v2, EventType.refund_deleted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, EventType.reversal_deleted, EventType.capture_identifier_upserted, EventType.capture_identifier_deleted, EventType.refund_identifier_upserted, EventType.refund_identifier_deleted, EventType.virtual_card_capture_upserted, EventType.virtual_card_capture_deleted, EventType.virtual_card_refund_upserted, EventType.virtual_card_refund_deleted, EventType.price_book_upserted, EventType.price_book_deleted, EventType.price_book_item_upserted, EventType.price_book_item_deleted, EventType.organization_rates_published, EventType.ratecard_lane_upserted, EventType.ratecard_lane_deleted, EventType.ratecard_upserted, EventType.ratecard_deleted, EventType.return_upserted, EventType.return_deleted, EventType.return_upserted_v2, EventType.return_deleted_v2, EventType.shopify_localization_setting_upserted, EventType.shopify_localization_setting_deleted, EventType.tracking_label_event_upserted]
14996
15364
  end
14997
15365
 
14998
15366
  def EventType.attribute_upserted
@@ -15175,6 +15543,14 @@ module Io
15175
15543
  @@_experience_upserted_v2 ||= EventType.new('experience_upserted_v2')
15176
15544
  end
15177
15545
 
15546
+ def EventType.country_status_upserted
15547
+ @@_country_status_upserted ||= EventType.new('country_status_upserted')
15548
+ end
15549
+
15550
+ def EventType.country_status_deleted
15551
+ @@_country_status_deleted ||= EventType.new('country_status_deleted')
15552
+ end
15553
+
15178
15554
  def EventType.experience_price_book_mapping_deleted
15179
15555
  @@_experience_price_book_mapping_deleted ||= EventType.new('experience_price_book_mapping_deleted')
15180
15556
  end
@@ -15619,6 +15995,14 @@ module Io
15619
15995
  @@_return_deleted ||= EventType.new('return_deleted')
15620
15996
  end
15621
15997
 
15998
+ def EventType.return_upserted_v2
15999
+ @@_return_upserted_v2 ||= EventType.new('return_upserted_v2')
16000
+ end
16001
+
16002
+ def EventType.return_deleted_v2
16003
+ @@_return_deleted_v2 ||= EventType.new('return_deleted_v2')
16004
+ end
16005
+
15622
16006
  def EventType.shopify_localization_setting_upserted
15623
16007
  @@_shopify_localization_setting_upserted ||= EventType.new('shopify_localization_setting_upserted')
15624
16008
  end
@@ -15775,6 +16159,48 @@ module Io
15775
16159
 
15776
16160
  end
15777
16161
 
16162
+ class ExperienceCountryStatus
16163
+
16164
+ attr_reader :value
16165
+
16166
+ def initialize(value)
16167
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
16168
+ end
16169
+
16170
+ # Returns the instance of ExperienceCountryStatus for this value, creating a new instance for an unknown value
16171
+ def ExperienceCountryStatus.apply(value)
16172
+ if value.instance_of?(ExperienceCountryStatus)
16173
+ value
16174
+ else
16175
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
16176
+ value.nil? ? nil : (from_string(value) || ExperienceCountryStatus.new(value))
16177
+ end
16178
+ end
16179
+
16180
+ # Returns the instance of ExperienceCountryStatus for this value, or nil if not found
16181
+ def ExperienceCountryStatus.from_string(value)
16182
+ HttpClient::Preconditions.assert_class('value', value, String)
16183
+ ExperienceCountryStatus.ALL.find { |v| v.value == value }
16184
+ end
16185
+
16186
+ def ExperienceCountryStatus.ALL
16187
+ @@all ||= [ExperienceCountryStatus.enabled, ExperienceCountryStatus.disabled]
16188
+ end
16189
+
16190
+ def ExperienceCountryStatus.enabled
16191
+ @@_enabled ||= ExperienceCountryStatus.new('enabled')
16192
+ end
16193
+
16194
+ def ExperienceCountryStatus.disabled
16195
+ @@_disabled ||= ExperienceCountryStatus.new('disabled')
16196
+ end
16197
+
16198
+ def to_hash
16199
+ value
16200
+ end
16201
+
16202
+ end
16203
+
15778
16204
  class ExperiencePaymentMethodTag < PaymentMethodTag
15779
16205
 
15780
16206
  attr_reader :value
@@ -18298,6 +18724,55 @@ module Io
18298
18724
 
18299
18725
  end
18300
18726
 
18727
+ class OrganizationStatus
18728
+
18729
+ attr_reader :value
18730
+
18731
+ def initialize(value)
18732
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
18733
+ end
18734
+
18735
+ # Returns the instance of OrganizationStatus for this value, creating a new instance for an unknown value
18736
+ def OrganizationStatus.apply(value)
18737
+ if value.instance_of?(OrganizationStatus)
18738
+ value
18739
+ else
18740
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
18741
+ value.nil? ? nil : (from_string(value) || OrganizationStatus.new(value))
18742
+ end
18743
+ end
18744
+
18745
+ # Returns the instance of OrganizationStatus for this value, or nil if not found
18746
+ def OrganizationStatus.from_string(value)
18747
+ HttpClient::Preconditions.assert_class('value', value, String)
18748
+ OrganizationStatus.ALL.find { |v| v.value == value }
18749
+ end
18750
+
18751
+ def OrganizationStatus.ALL
18752
+ @@all ||= [OrganizationStatus.active, OrganizationStatus.inactive, OrganizationStatus.deactivated]
18753
+ end
18754
+
18755
+ def OrganizationStatus.active
18756
+ @@_active ||= OrganizationStatus.new('active')
18757
+ end
18758
+
18759
+ # Determined by usage: ex: orders placed, experience updated, catalog items
18760
+ # updated, etc...
18761
+ def OrganizationStatus.inactive
18762
+ @@_inactive ||= OrganizationStatus.new('inactive')
18763
+ end
18764
+
18765
+ # Manually deactivated
18766
+ def OrganizationStatus.deactivated
18767
+ @@_deactivated ||= OrganizationStatus.new('deactivated')
18768
+ end
18769
+
18770
+ def to_hash
18771
+ value
18772
+ end
18773
+
18774
+ end
18775
+
18301
18776
  class PaymentErrorCode
18302
18777
 
18303
18778
  attr_reader :value
@@ -19458,6 +19933,112 @@ module Io
19458
19933
 
19459
19934
  end
19460
19935
 
19936
+ class ReturnTrackingStatus
19937
+
19938
+ attr_reader :value
19939
+
19940
+ def initialize(value)
19941
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
19942
+ end
19943
+
19944
+ # Returns the instance of ReturnTrackingStatus for this value, creating a new instance for an unknown value
19945
+ def ReturnTrackingStatus.apply(value)
19946
+ if value.instance_of?(ReturnTrackingStatus)
19947
+ value
19948
+ else
19949
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19950
+ value.nil? ? nil : (from_string(value) || ReturnTrackingStatus.new(value))
19951
+ end
19952
+ end
19953
+
19954
+ # Returns the instance of ReturnTrackingStatus for this value, or nil if not found
19955
+ def ReturnTrackingStatus.from_string(value)
19956
+ HttpClient::Preconditions.assert_class('value', value, String)
19957
+ ReturnTrackingStatus.ALL.find { |v| v.value == value }
19958
+ end
19959
+
19960
+ def ReturnTrackingStatus.ALL
19961
+ @@all ||= [ReturnTrackingStatus.awaiting_customs_clearance, ReturnTrackingStatus.cancel_requested, ReturnTrackingStatus.canceled, ReturnTrackingStatus.collection_attempt_failed, ReturnTrackingStatus.customs_clearance_completed, ReturnTrackingStatus.delivered_to_retailer, ReturnTrackingStatus.in_transit_to_local_hub, ReturnTrackingStatus.in_transit_to_retailer, ReturnTrackingStatus.parcel_added_to_pallet, ReturnTrackingStatus.parcel_delayed, ReturnTrackingStatus.parcel_extracted_from_pallet, ReturnTrackingStatus.parcel_lost, ReturnTrackingStatus.parcel_processed_by_retailer, ReturnTrackingStatus.parcel_under_investigation, ReturnTrackingStatus.processed_by_local_hub, ReturnTrackingStatus.received_at_local_hub, ReturnTrackingStatus.received_by_the_carrier, ReturnTrackingStatus.return_registered_online]
19962
+ end
19963
+
19964
+ def ReturnTrackingStatus.awaiting_customs_clearance
19965
+ @@_awaiting_customs_clearance ||= ReturnTrackingStatus.new('awaiting_customs_clearance')
19966
+ end
19967
+
19968
+ def ReturnTrackingStatus.cancel_requested
19969
+ @@_cancel_requested ||= ReturnTrackingStatus.new('cancel_requested')
19970
+ end
19971
+
19972
+ def ReturnTrackingStatus.canceled
19973
+ @@_canceled ||= ReturnTrackingStatus.new('canceled')
19974
+ end
19975
+
19976
+ def ReturnTrackingStatus.collection_attempt_failed
19977
+ @@_collection_attempt_failed ||= ReturnTrackingStatus.new('collection_attempt_failed')
19978
+ end
19979
+
19980
+ def ReturnTrackingStatus.customs_clearance_completed
19981
+ @@_customs_clearance_completed ||= ReturnTrackingStatus.new('customs_clearance_completed')
19982
+ end
19983
+
19984
+ def ReturnTrackingStatus.delivered_to_retailer
19985
+ @@_delivered_to_retailer ||= ReturnTrackingStatus.new('delivered_to_retailer')
19986
+ end
19987
+
19988
+ def ReturnTrackingStatus.in_transit_to_local_hub
19989
+ @@_in_transit_to_local_hub ||= ReturnTrackingStatus.new('in_transit_to_local_hub')
19990
+ end
19991
+
19992
+ def ReturnTrackingStatus.in_transit_to_retailer
19993
+ @@_in_transit_to_retailer ||= ReturnTrackingStatus.new('in_transit_to_retailer')
19994
+ end
19995
+
19996
+ def ReturnTrackingStatus.parcel_added_to_pallet
19997
+ @@_parcel_added_to_pallet ||= ReturnTrackingStatus.new('parcel_added_to_pallet')
19998
+ end
19999
+
20000
+ def ReturnTrackingStatus.parcel_delayed
20001
+ @@_parcel_delayed ||= ReturnTrackingStatus.new('parcel_delayed')
20002
+ end
20003
+
20004
+ def ReturnTrackingStatus.parcel_extracted_from_pallet
20005
+ @@_parcel_extracted_from_pallet ||= ReturnTrackingStatus.new('parcel_extracted_from_pallet')
20006
+ end
20007
+
20008
+ def ReturnTrackingStatus.parcel_lost
20009
+ @@_parcel_lost ||= ReturnTrackingStatus.new('parcel_lost')
20010
+ end
20011
+
20012
+ def ReturnTrackingStatus.parcel_processed_by_retailer
20013
+ @@_parcel_processed_by_retailer ||= ReturnTrackingStatus.new('parcel_processed_by_retailer')
20014
+ end
20015
+
20016
+ def ReturnTrackingStatus.parcel_under_investigation
20017
+ @@_parcel_under_investigation ||= ReturnTrackingStatus.new('parcel_under_investigation')
20018
+ end
20019
+
20020
+ def ReturnTrackingStatus.processed_by_local_hub
20021
+ @@_processed_by_local_hub ||= ReturnTrackingStatus.new('processed_by_local_hub')
20022
+ end
20023
+
20024
+ def ReturnTrackingStatus.received_at_local_hub
20025
+ @@_received_at_local_hub ||= ReturnTrackingStatus.new('received_at_local_hub')
20026
+ end
20027
+
20028
+ def ReturnTrackingStatus.received_by_the_carrier
20029
+ @@_received_by_the_carrier ||= ReturnTrackingStatus.new('received_by_the_carrier')
20030
+ end
20031
+
20032
+ def ReturnTrackingStatus.return_registered_online
20033
+ @@_return_registered_online ||= ReturnTrackingStatus.new('return_registered_online')
20034
+ end
20035
+
20036
+ def to_hash
20037
+ value
20038
+ end
20039
+
20040
+ end
20041
+
19461
20042
  class ReversalErrorCode
19462
20043
 
19463
20044
  attr_reader :value
@@ -20437,6 +21018,48 @@ module Io
20437
21018
 
20438
21019
  end
20439
21020
 
21021
+ class TaxReportType
21022
+
21023
+ attr_reader :value
21024
+
21025
+ def initialize(value)
21026
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
21027
+ end
21028
+
21029
+ # Returns the instance of TaxReportType for this value, creating a new instance for an unknown value
21030
+ def TaxReportType.apply(value)
21031
+ if value.instance_of?(TaxReportType)
21032
+ value
21033
+ else
21034
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
21035
+ value.nil? ? nil : (from_string(value) || TaxReportType.new(value))
21036
+ end
21037
+ end
21038
+
21039
+ # Returns the instance of TaxReportType for this value, or nil if not found
21040
+ def TaxReportType.from_string(value)
21041
+ HttpClient::Preconditions.assert_class('value', value, String)
21042
+ TaxReportType.ALL.find { |v| v.value == value }
21043
+ end
21044
+
21045
+ def TaxReportType.ALL
21046
+ @@all ||= [TaxReportType.consumer, TaxReportType.b2b]
21047
+ end
21048
+
21049
+ def TaxReportType.consumer
21050
+ @@_consumer ||= TaxReportType.new('consumer')
21051
+ end
21052
+
21053
+ def TaxReportType.b2b
21054
+ @@_b2b ||= TaxReportType.new('b2b')
21055
+ end
21056
+
21057
+ def to_hash
21058
+ value
21059
+ end
21060
+
21061
+ end
21062
+
20440
21063
  class TaxVerificationResult
20441
21064
 
20442
21065
  attr_reader :value
@@ -23513,15 +24136,12 @@ module Io
23513
24136
 
23514
24137
  class AvalaraTaxCsvSetting < TaxSetting
23515
24138
 
23516
- attr_reader :schedule, :timezone, :email_recipients
24139
+ attr_reader :reports
23517
24140
 
23518
24141
  def initialize(incoming={})
23519
24142
  super(:discriminator => TaxSetting::Types::AVALARA_TAX_CSV_SETTING)
23520
24143
  opts = HttpClient::Helper.symbolize_keys(incoming)
23521
- HttpClient::Preconditions.require_keys(opts, [:schedule, :timezone], 'AvalaraTaxCsvSetting')
23522
- @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::RepeatSchedule) ? x : ::Io::Flow::V0::Models::RepeatSchedule.from_json(x))
23523
- @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
23524
- @email_recipients = (x = opts.delete(:email_recipients); x.nil? ? nil : HttpClient::Preconditions.assert_class('email_recipients', x, Array).map { |v| HttpClient::Preconditions.assert_class('email_recipients', v, String) })
24144
+ @reports = (x = opts.delete(:reports); x.nil? ? nil : HttpClient::Preconditions.assert_class('reports', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TaxReport) ? x : ::Io::Flow::V0::Models::TaxReport.new(x)) })
23525
24145
  end
23526
24146
 
23527
24147
  def to_json
@@ -23534,9 +24154,7 @@ module Io
23534
24154
 
23535
24155
  def subtype_to_hash
23536
24156
  {
23537
- :schedule => schedule.to_hash,
23538
- :timezone => timezone,
23539
- :email_recipients => email_recipients.nil? ? nil : email_recipients
24157
+ :reports => reports.nil? ? nil : reports.map { |o| o.to_hash }
23540
24158
  }
23541
24159
  end
23542
24160
 
@@ -23612,7 +24230,7 @@ module Io
23612
24230
  # our clients
23613
24231
  class B2bCreditMemo
23614
24232
 
23615
- attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :invoice, :lines, :documents, :attributes
24233
+ attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :invoice, :lines, :documents, :attributes, :b2b_invoice_type
23616
24234
 
23617
24235
  def initialize(incoming={})
23618
24236
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -23628,6 +24246,7 @@ module Io
23628
24246
  @lines = HttpClient::Preconditions.assert_class('lines', opts.delete(:lines), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceLine) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceLine.from_json(x)) }
23629
24247
  @documents = HttpClient::Preconditions.assert_class('documents', opts.delete(:documents), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocument) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocument.new(x)) }
23630
24248
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
24249
+ @b2b_invoice_type = (x = (x = opts.delete(:b2b_invoice_type); x.nil? ? "self_bill_invoice" : x); x.is_a?(::Io::Flow::V0::Models::B2bInvoiceType) ? x : ::Io::Flow::V0::Models::B2bInvoiceType.apply(x))
23631
24250
  end
23632
24251
 
23633
24252
  def to_json
@@ -23650,7 +24269,8 @@ module Io
23650
24269
  :invoice => invoice.to_hash,
23651
24270
  :lines => lines.map { |o| o.to_hash },
23652
24271
  :documents => documents.map { |o| o.to_hash },
23653
- :attributes => attributes
24272
+ :attributes => attributes,
24273
+ :b2b_invoice_type => b2b_invoice_type.value
23654
24274
  }
23655
24275
  end
23656
24276
 
@@ -23726,7 +24346,7 @@ module Io
23726
24346
  # (e.g. Flow purchasing inventory to resell to a consumer).
23727
24347
  class B2bInvoice
23728
24348
 
23729
- attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes, :estimated_delivery_date
24349
+ attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes, :estimated_delivery_date, :b2b_invoice_type
23730
24350
 
23731
24351
  def initialize(incoming={})
23732
24352
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -23747,6 +24367,7 @@ module Io
23747
24367
  @documents = HttpClient::Preconditions.assert_class('documents', opts.delete(:documents), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocument) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocument.new(x)) }
23748
24368
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
23749
24369
  @estimated_delivery_date = (x = opts.delete(:estimated_delivery_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('estimated_delivery_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
24370
+ @b2b_invoice_type = (x = (x = opts.delete(:b2b_invoice_type); x.nil? ? "self_bill_invoice" : x); x.is_a?(::Io::Flow::V0::Models::B2bInvoiceType) ? x : ::Io::Flow::V0::Models::B2bInvoiceType.apply(x))
23750
24371
  end
23751
24372
 
23752
24373
  def to_json
@@ -23774,7 +24395,8 @@ module Io
23774
24395
  :lines => lines.map { |o| o.to_hash },
23775
24396
  :documents => documents.map { |o| o.to_hash },
23776
24397
  :attributes => attributes,
23777
- :estimated_delivery_date => estimated_delivery_date
24398
+ :estimated_delivery_date => estimated_delivery_date,
24399
+ :b2b_invoice_type => b2b_invoice_type.value
23778
24400
  }
23779
24401
  end
23780
24402
 
@@ -24082,6 +24704,37 @@ module Io
24082
24704
 
24083
24705
  end
24084
24706
 
24707
+ # Information to be passed to the payment processor about how to handle browser
24708
+ # inline authorization activities.
24709
+ class BrowserInlineActionConfiguration < InlineActionConfiguration
24710
+
24711
+ attr_reader :inline_notification_urls, :action_configuration
24712
+
24713
+ def initialize(incoming={})
24714
+ super(:discriminator => InlineActionConfiguration::Types::BROWSER_INLINE_ACTION_CONFIGURATION)
24715
+ opts = HttpClient::Helper.symbolize_keys(incoming)
24716
+ HttpClient::Preconditions.require_keys(opts, [:inline_notification_urls], 'BrowserInlineActionConfiguration')
24717
+ @inline_notification_urls = (x = opts.delete(:inline_notification_urls); x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x))
24718
+ @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserActionConfiguration) ? x : ::Io::Flow::V0::Models::BrowserActionConfiguration.from_json(x)))
24719
+ end
24720
+
24721
+ def to_json
24722
+ JSON.dump(to_hash)
24723
+ end
24724
+
24725
+ def copy(incoming={})
24726
+ BrowserInlineActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
24727
+ end
24728
+
24729
+ def subtype_to_hash
24730
+ {
24731
+ :inline_notification_urls => inline_notification_urls.to_hash,
24732
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
24733
+ }
24734
+ end
24735
+
24736
+ end
24737
+
24085
24738
  # Capture actually transfers funds. You can capture as many times as you'd like
24086
24739
  # up until the total amount of the authorization has been captured or the
24087
24740
  # authorization otherwise becomes unavailable (e.g. expires).
@@ -24480,7 +25133,7 @@ module Io
24480
25133
  # capture up to the amount of the authorization.
24481
25134
  class CardAuthorization < Authorization
24482
25135
 
24483
- attr_reader :id, :key, :merchant_of_record, :method, :card, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base
25136
+ attr_reader :id, :key, :merchant_of_record, :method, :card, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base, :processor
24484
25137
 
24485
25138
  def initialize(incoming={})
24486
25139
  super(:discriminator => Authorization::Types::CARD_AUTHORIZATION)
@@ -24504,6 +25157,7 @@ module Io
24504
25157
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
24505
25158
  @expires_at = (x = opts.delete(:expires_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
24506
25159
  @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
25160
+ @processor = (x = opts.delete(:processor); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandablePaymentProcessor) ? x : ::Io::Flow::V0::Models::ExpandablePaymentProcessor.from_json(x)))
24507
25161
  end
24508
25162
 
24509
25163
  def to_json
@@ -24533,7 +25187,8 @@ module Io
24533
25187
  :result => result.to_hash,
24534
25188
  :created_at => created_at,
24535
25189
  :expires_at => expires_at,
24536
- :base => base.nil? ? nil : base.to_hash
25190
+ :base => base.nil? ? nil : base.to_hash,
25191
+ :processor => processor.nil? ? nil : processor.to_hash
24537
25192
  }
24538
25193
  end
24539
25194
 
@@ -24608,6 +25263,33 @@ module Io
24608
25263
 
24609
25264
  end
24610
25265
 
25266
+ # Instructions to the card issuer to render challenges to the user
25267
+ class CardBrowserActionConfiguration < BrowserActionConfiguration
25268
+
25269
+ attr_reader :viewport
25270
+
25271
+ def initialize(incoming={})
25272
+ super(:discriminator => BrowserActionConfiguration::Types::CARD_BROWSER_ACTION_CONFIGURATION)
25273
+ opts = HttpClient::Helper.symbolize_keys(incoming)
25274
+ @viewport = (x = (x = opts.delete(:viewport); x.nil? ? "xxx_small" : x); x.is_a?(::Io::Flow::V0::Models::ThreedsTwoChallengeViewport) ? x : ::Io::Flow::V0::Models::ThreedsTwoChallengeViewport.apply(x))
25275
+ end
25276
+
25277
+ def to_json
25278
+ JSON.dump(to_hash)
25279
+ end
25280
+
25281
+ def copy(incoming={})
25282
+ CardBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
25283
+ end
25284
+
25285
+ def subtype_to_hash
25286
+ {
25287
+ :viewport => viewport.value
25288
+ }
25289
+ end
25290
+
25291
+ end
25292
+
24611
25293
  class CardDeleted < Event
24612
25294
 
24613
25295
  attr_reader :event_id, :timestamp, :organization, :id
@@ -24844,7 +25526,7 @@ module Io
24844
25526
  # Creates an authorization for a transaction from a card payment source.
24845
25527
  class CardPaymentSourceAuthorizationForm < AuthorizationForm
24846
25528
 
24847
- attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :action_configuration
25529
+ attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :inline_action_configuration
24848
25530
 
24849
25531
  def initialize(incoming={})
24850
25532
  super(:discriminator => AuthorizationForm::Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
@@ -24856,7 +25538,7 @@ module Io
24856
25538
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
24857
25539
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
24858
25540
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
24859
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
25541
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
24860
25542
  end
24861
25543
 
24862
25544
  def to_json
@@ -24875,7 +25557,7 @@ module Io
24875
25557
  :amount => amount.to_f.to_s,
24876
25558
  :currency => currency,
24877
25559
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
24878
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
25560
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
24879
25561
  }
24880
25562
  end
24881
25563
 
@@ -25248,16 +25930,15 @@ module Io
25248
25930
 
25249
25931
  class CatalogDeleted < Event
25250
25932
 
25251
- attr_reader :event_id, :timestamp, :organization, :catalog
25933
+ attr_reader :event_id, :timestamp, :organization
25252
25934
 
25253
25935
  def initialize(incoming={})
25254
25936
  super(:discriminator => Event::Types::CATALOG_DELETED)
25255
25937
  opts = HttpClient::Helper.symbolize_keys(incoming)
25256
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog], 'CatalogDeleted')
25938
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization], 'CatalogDeleted')
25257
25939
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25258
25940
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25259
25941
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25260
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25261
25942
  end
25262
25943
 
25263
25944
  def to_json
@@ -25272,8 +25953,7 @@ module Io
25272
25953
  {
25273
25954
  :event_id => event_id,
25274
25955
  :timestamp => timestamp,
25275
- :organization => organization,
25276
- :catalog => catalog
25956
+ :organization => organization
25277
25957
  }
25278
25958
  end
25279
25959
 
@@ -25281,17 +25961,16 @@ module Io
25281
25961
 
25282
25962
  class CatalogItemDeleted < Event
25283
25963
 
25284
- attr_reader :event_id, :timestamp, :organization, :number, :catalog
25964
+ attr_reader :event_id, :timestamp, :organization, :number
25285
25965
 
25286
25966
  def initialize(incoming={})
25287
25967
  super(:discriminator => Event::Types::CATALOG_ITEM_DELETED)
25288
25968
  opts = HttpClient::Helper.symbolize_keys(incoming)
25289
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog], 'CatalogItemDeleted')
25969
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number], 'CatalogItemDeleted')
25290
25970
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25291
25971
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25292
25972
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25293
25973
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
25294
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25295
25974
  end
25296
25975
 
25297
25976
  def to_json
@@ -25307,8 +25986,7 @@ module Io
25307
25986
  :event_id => event_id,
25308
25987
  :timestamp => timestamp,
25309
25988
  :organization => organization,
25310
- :number => number,
25311
- :catalog => catalog
25989
+ :number => number
25312
25990
  }
25313
25991
  end
25314
25992
 
@@ -25501,17 +26179,16 @@ module Io
25501
26179
 
25502
26180
  class CatalogItemUpserted < Event
25503
26181
 
25504
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :locale, :name, :currency, :price, :categories, :description, :attributes, :dimensions, :images
26182
+ attr_reader :event_id, :timestamp, :organization, :number, :locale, :name, :currency, :price, :categories, :description, :attributes, :dimensions, :images
25505
26183
 
25506
26184
  def initialize(incoming={})
25507
26185
  super(:discriminator => Event::Types::CATALOG_ITEM_UPSERTED)
25508
26186
  opts = HttpClient::Helper.symbolize_keys(incoming)
25509
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :locale, :name, :currency, :price, :categories, :attributes, :dimensions, :images], 'CatalogItemUpserted')
26187
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :locale, :name, :currency, :price, :categories, :attributes, :dimensions, :images], 'CatalogItemUpserted')
25510
26188
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25511
26189
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25512
26190
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25513
26191
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
25514
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25515
26192
  @locale = HttpClient::Preconditions.assert_class('locale', opts.delete(:locale), String)
25516
26193
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
25517
26194
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
@@ -25537,7 +26214,6 @@ module Io
25537
26214
  :timestamp => timestamp,
25538
26215
  :organization => organization,
25539
26216
  :number => number,
25540
- :catalog => catalog,
25541
26217
  :locale => locale,
25542
26218
  :name => name,
25543
26219
  :currency => currency,
@@ -25680,16 +26356,15 @@ module Io
25680
26356
 
25681
26357
  class CatalogUpserted < Event
25682
26358
 
25683
- attr_reader :event_id, :timestamp, :organization, :catalog
26359
+ attr_reader :event_id, :timestamp, :organization
25684
26360
 
25685
26361
  def initialize(incoming={})
25686
26362
  super(:discriminator => Event::Types::CATALOG_UPSERTED)
25687
26363
  opts = HttpClient::Helper.symbolize_keys(incoming)
25688
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog], 'CatalogUpserted')
26364
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization], 'CatalogUpserted')
25689
26365
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25690
26366
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25691
26367
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25692
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25693
26368
  end
25694
26369
 
25695
26370
  def to_json
@@ -25704,8 +26379,7 @@ module Io
25704
26379
  {
25705
26380
  :event_id => event_id,
25706
26381
  :timestamp => timestamp,
25707
- :organization => organization,
25708
- :catalog => catalog
26382
+ :organization => organization
25709
26383
  }
25710
26384
  end
25711
26385
 
@@ -27418,6 +28092,128 @@ module Io
27418
28092
 
27419
28093
  end
27420
28094
 
28095
+ class CountryStatus
28096
+
28097
+ attr_reader :id, :country, :status
28098
+
28099
+ def initialize(incoming={})
28100
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28101
+ HttpClient::Preconditions.require_keys(opts, [:id, :country, :status], 'CountryStatus')
28102
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
28103
+ @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
28104
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ExperienceCountryStatus) ? x : ::Io::Flow::V0::Models::ExperienceCountryStatus.apply(x))
28105
+ end
28106
+
28107
+ def to_json
28108
+ JSON.dump(to_hash)
28109
+ end
28110
+
28111
+ def copy(incoming={})
28112
+ CountryStatus.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28113
+ end
28114
+
28115
+ def to_hash
28116
+ {
28117
+ :id => id,
28118
+ :country => country,
28119
+ :status => status.value
28120
+ }
28121
+ end
28122
+
28123
+ end
28124
+
28125
+ class CountryStatusDeleted < Event
28126
+
28127
+ attr_reader :event_id, :timestamp, :organization, :country_status
28128
+
28129
+ def initialize(incoming={})
28130
+ super(:discriminator => Event::Types::COUNTRY_STATUS_DELETED)
28131
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28132
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :country_status], 'CountryStatusDeleted')
28133
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
28134
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
28135
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
28136
+ @country_status = (x = opts.delete(:country_status); x.is_a?(::Io::Flow::V0::Models::CountryStatus) ? x : ::Io::Flow::V0::Models::CountryStatus.new(x))
28137
+ end
28138
+
28139
+ def to_json
28140
+ JSON.dump(to_hash)
28141
+ end
28142
+
28143
+ def copy(incoming={})
28144
+ CountryStatusDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28145
+ end
28146
+
28147
+ def subtype_to_hash
28148
+ {
28149
+ :event_id => event_id,
28150
+ :timestamp => timestamp,
28151
+ :organization => organization,
28152
+ :country_status => country_status.to_hash
28153
+ }
28154
+ end
28155
+
28156
+ end
28157
+
28158
+ class CountryStatusForm
28159
+
28160
+ attr_reader :status
28161
+
28162
+ def initialize(incoming={})
28163
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28164
+ HttpClient::Preconditions.require_keys(opts, [:status], 'CountryStatusForm')
28165
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ExperienceCountryStatus) ? x : ::Io::Flow::V0::Models::ExperienceCountryStatus.apply(x))
28166
+ end
28167
+
28168
+ def to_json
28169
+ JSON.dump(to_hash)
28170
+ end
28171
+
28172
+ def copy(incoming={})
28173
+ CountryStatusForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28174
+ end
28175
+
28176
+ def to_hash
28177
+ {
28178
+ :status => status.value
28179
+ }
28180
+ end
28181
+
28182
+ end
28183
+
28184
+ class CountryStatusUpserted < Event
28185
+
28186
+ attr_reader :event_id, :timestamp, :organization, :country_status
28187
+
28188
+ def initialize(incoming={})
28189
+ super(:discriminator => Event::Types::COUNTRY_STATUS_UPSERTED)
28190
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28191
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :country_status], 'CountryStatusUpserted')
28192
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
28193
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
28194
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
28195
+ @country_status = (x = opts.delete(:country_status); x.is_a?(::Io::Flow::V0::Models::CountryStatus) ? x : ::Io::Flow::V0::Models::CountryStatus.new(x))
28196
+ end
28197
+
28198
+ def to_json
28199
+ JSON.dump(to_hash)
28200
+ end
28201
+
28202
+ def copy(incoming={})
28203
+ CountryStatusUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28204
+ end
28205
+
28206
+ def subtype_to_hash
28207
+ {
28208
+ :event_id => event_id,
28209
+ :timestamp => timestamp,
28210
+ :organization => organization,
28211
+ :country_status => country_status.to_hash
28212
+ }
28213
+ end
28214
+
28215
+ end
28216
+
27421
28217
  # The credit memo represents the details of a refund and the reasons for the
27422
28218
  # issuance of the refund.
27423
28219
  class CreditMemo
@@ -27834,23 +28630,20 @@ module Io
27834
28630
 
27835
28631
  end
27836
28632
 
27837
- # Represents the format used to export price book item documents
27838
- class CsvPriceBookItemExportRow
28633
+ class CsvPriceBookItemExportRowByItemNumber
27839
28634
 
27840
- attr_reader :price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :item_attributes, :starts_at, :ends_at
28635
+ attr_reader :item_number, :price_book_key, :price_book_item_key, :item_name, :amount, :item_attributes, :schedule
27841
28636
 
27842
28637
  def initialize(incoming={})
27843
28638
  opts = HttpClient::Helper.symbolize_keys(incoming)
27844
- HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
28639
+ HttpClient::Preconditions.require_keys(opts, [:item_number, :price_book_key, :price_book_item_key, :item_name, :amount, :schedule], 'CsvPriceBookItemExportRowByItemNumber')
28640
+ @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27845
28641
  @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
27846
28642
  @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
27847
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27848
- @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
27849
28643
  @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
27850
28644
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
27851
28645
  @item_attributes = (x = opts.delete(:item_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('item_attributes', d[1], String); h })
27852
- @starts_at = HttpClient::Preconditions.assert_class('starts_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:starts_at)), DateTime)
27853
- @ends_at = (x = opts.delete(:ends_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('ends_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
28646
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::PriceBookItemSchedule) ? x : ::Io::Flow::V0::Models::PriceBookItemSchedule.new(x))
27854
28647
  end
27855
28648
 
27856
28649
  def to_json
@@ -27858,20 +28651,56 @@ module Io
27858
28651
  end
27859
28652
 
27860
28653
  def copy(incoming={})
27861
- CsvPriceBookItemExportRow.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28654
+ CsvPriceBookItemExportRowByItemNumber.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27862
28655
  end
27863
28656
 
27864
28657
  def to_hash
27865
28658
  {
28659
+ :item_number => item_number,
27866
28660
  :price_book_key => price_book_key,
27867
28661
  :price_book_item_key => price_book_item_key,
27868
- :item_number => item_number,
28662
+ :item_name => item_name,
28663
+ :amount => amount.to_f.to_s,
28664
+ :item_attributes => item_attributes.nil? ? nil : item_attributes,
28665
+ :schedule => schedule.to_hash
28666
+ }
28667
+ end
28668
+
28669
+ end
28670
+
28671
+ class CsvPriceBookItemExportRowBySku
28672
+
28673
+ attr_reader :sku, :price_book_key, :price_book_item_key, :item_name, :amount, :item_attributes, :schedule
28674
+
28675
+ def initialize(incoming={})
28676
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28677
+ HttpClient::Preconditions.require_keys(opts, [:sku, :price_book_key, :price_book_item_key, :item_name, :amount, :schedule], 'CsvPriceBookItemExportRowBySku')
28678
+ @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
28679
+ @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
28680
+ @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
28681
+ @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
28682
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
28683
+ @item_attributes = (x = opts.delete(:item_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('item_attributes', d[1], String); h })
28684
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::PriceBookItemSchedule) ? x : ::Io::Flow::V0::Models::PriceBookItemSchedule.new(x))
28685
+ end
28686
+
28687
+ def to_json
28688
+ JSON.dump(to_hash)
28689
+ end
28690
+
28691
+ def copy(incoming={})
28692
+ CsvPriceBookItemExportRowBySku.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28693
+ end
28694
+
28695
+ def to_hash
28696
+ {
27869
28697
  :sku => sku,
28698
+ :price_book_key => price_book_key,
28699
+ :price_book_item_key => price_book_item_key,
27870
28700
  :item_name => item_name,
27871
28701
  :amount => amount.to_f.to_s,
27872
28702
  :item_attributes => item_attributes.nil? ? nil : item_attributes,
27873
- :starts_at => starts_at,
27874
- :ends_at => ends_at
28703
+ :schedule => schedule.to_hash
27875
28704
  }
27876
28705
  end
27877
28706
 
@@ -29751,7 +30580,7 @@ module Io
29751
30580
  # you can capture up to the amount of the authorization.
29752
30581
  class DirectAuthorizationForm < AuthorizationForm
29753
30582
 
29754
- attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :action_configuration
30583
+ attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :inline_action_configuration
29755
30584
 
29756
30585
  def initialize(incoming={})
29757
30586
  super(:discriminator => AuthorizationForm::Types::DIRECT_AUTHORIZATION_FORM)
@@ -29770,7 +30599,7 @@ module Io
29770
30599
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
29771
30600
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
29772
30601
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
29773
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
30602
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
29774
30603
  end
29775
30604
 
29776
30605
  def to_json
@@ -29796,7 +30625,7 @@ module Io
29796
30625
  :options => options.nil? ? nil : options.map { |o| o.value },
29797
30626
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
29798
30627
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
29799
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
30628
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
29800
30629
  }
29801
30630
  end
29802
30631
 
@@ -31323,7 +32152,7 @@ module Io
31323
32152
  # Experiences define a local experience for a given geographic region
31324
32153
  class ExperienceForm
31325
32154
 
31326
- attr_reader :region_id, :name, :delivered_duty, :country, :currency, :language, :key, :measurement_system, :subcatalog_id
32155
+ attr_reader :region_id, :name, :delivered_duty, :country, :currency, :language, :key, :position, :measurement_system, :subcatalog_id
31327
32156
 
31328
32157
  def initialize(incoming={})
31329
32158
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -31335,6 +32164,7 @@ module Io
31335
32164
  @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
31336
32165
  @language = (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
31337
32166
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
32167
+ @position = (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Integer))
31338
32168
  @measurement_system = (x = opts.delete(:measurement_system); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::MeasurementSystem) ? x : ::Io::Flow::V0::Models::MeasurementSystem.apply(x)))
31339
32169
  @subcatalog_id = (x = opts.delete(:subcatalog_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog_id', x, String))
31340
32170
  end
@@ -31356,6 +32186,7 @@ module Io
31356
32186
  :currency => currency,
31357
32187
  :language => language,
31358
32188
  :key => key,
32189
+ :position => position,
31359
32190
  :measurement_system => measurement_system.nil? ? nil : measurement_system.value,
31360
32191
  :subcatalog_id => subcatalog_id
31361
32192
  }
@@ -32763,7 +33594,7 @@ module Io
32763
33594
 
32764
33595
  end
32765
33596
 
32766
- # Rule to apply to enable white-listing and black-listing for an email address.
33597
+ # Rule to apply to enable allow-listing and deny-listing for an email address.
32767
33598
  class FraudEmailRule
32768
33599
 
32769
33600
  attr_reader :id, :email, :decision
@@ -33909,37 +34740,6 @@ module Io
33909
34740
 
33910
34741
  end
33911
34742
 
33912
- # Categories optimized for harmonization
33913
- class HarmonizedCategory
33914
-
33915
- attr_reader :id, :name, :parent
33916
-
33917
- def initialize(incoming={})
33918
- opts = HttpClient::Helper.symbolize_keys(incoming)
33919
- HttpClient::Preconditions.require_keys(opts, [:id, :name], 'HarmonizedCategory')
33920
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
33921
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
33922
- @parent = (x = opts.delete(:parent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::HarmonizedCategoryReference) ? x : ::Io::Flow::V0::Models::HarmonizedCategoryReference.new(x)))
33923
- end
33924
-
33925
- def to_json
33926
- JSON.dump(to_hash)
33927
- end
33928
-
33929
- def copy(incoming={})
33930
- HarmonizedCategory.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33931
- end
33932
-
33933
- def to_hash
33934
- {
33935
- :id => id,
33936
- :name => name,
33937
- :parent => parent.nil? ? nil : parent.to_hash
33938
- }
33939
- end
33940
-
33941
- end
33942
-
33943
34743
  class HarmonizedCategoryReference
33944
34744
 
33945
34745
  attr_reader :id
@@ -36042,7 +36842,7 @@ module Io
36042
36842
  # many clients, this will map to a Sku.
36043
36843
  class Item
36044
36844
 
36045
- attr_reader :id, :number, :locale, :name, :price, :categories, :description, :attributes, :dimensions, :images, :local
36845
+ attr_reader :id, :number, :locale, :name, :price, :categories, :description, :attributes, :dimensions, :images, :local, :created_at, :updated_at
36046
36846
 
36047
36847
  def initialize(incoming={})
36048
36848
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -36058,6 +36858,8 @@ module Io
36058
36858
  @dimensions = (x = opts.delete(:dimensions); x.is_a?(::Io::Flow::V0::Models::Dimensions) ? x : ::Io::Flow::V0::Models::Dimensions.new(x))
36059
36859
  @images = HttpClient::Preconditions.assert_class('images', (x = opts.delete(:images); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Image) ? x : ::Io::Flow::V0::Models::Image.new(x)) }
36060
36860
  @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Local) ? x : ::Io::Flow::V0::Models::Local.new(x)))
36861
+ @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
36862
+ @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
36061
36863
  end
36062
36864
 
36063
36865
  def to_json
@@ -36080,7 +36882,9 @@ module Io
36080
36882
  :attributes => attributes,
36081
36883
  :dimensions => dimensions.to_hash,
36082
36884
  :images => images.map { |o| o.to_hash },
36083
- :local => local.nil? ? nil : local.to_hash
36885
+ :local => local.nil? ? nil : local.to_hash,
36886
+ :created_at => created_at,
36887
+ :updated_at => updated_at
36084
36888
  }
36085
36889
  end
36086
36890
 
@@ -37564,6 +38368,39 @@ module Io
37564
38368
 
37565
38369
  end
37566
38370
 
38371
+ # Localized item attribute pricing information
38372
+ class LocalItemAttributePricing
38373
+
38374
+ attr_reader :pretax_price, :vat, :duty, :price
38375
+
38376
+ def initialize(incoming={})
38377
+ opts = HttpClient::Helper.symbolize_keys(incoming)
38378
+ HttpClient::Preconditions.require_keys(opts, [:pretax_price, :price], 'LocalItemAttributePricing')
38379
+ @pretax_price = (x = opts.delete(:pretax_price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
38380
+ @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemVat) ? x : ::Io::Flow::V0::Models::LocalizedItemVat.new(x)))
38381
+ @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemDuty) ? x : ::Io::Flow::V0::Models::LocalizedItemDuty.new(x)))
38382
+ @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::LocalizedItemPrice) ? x : ::Io::Flow::V0::Models::LocalizedItemPrice.new(x))
38383
+ end
38384
+
38385
+ def to_json
38386
+ JSON.dump(to_hash)
38387
+ end
38388
+
38389
+ def copy(incoming={})
38390
+ LocalItemAttributePricing.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
38391
+ end
38392
+
38393
+ def to_hash
38394
+ {
38395
+ :pretax_price => pretax_price.to_hash,
38396
+ :vat => vat.nil? ? nil : vat.to_hash,
38397
+ :duty => duty.nil? ? nil : duty.to_hash,
38398
+ :price => price.to_hash
38399
+ }
38400
+ end
38401
+
38402
+ end
38403
+
37567
38404
  class LocalItemDeleted < Event
37568
38405
 
37569
38406
  attr_reader :event_id, :timestamp, :organization, :local_item
@@ -37600,7 +38437,7 @@ module Io
37600
38437
  # Localized item pricing information
37601
38438
  class LocalItemPricing
37602
38439
 
37603
- attr_reader :price, :vat, :duty, :attributes
38440
+ attr_reader :price, :vat, :duty, :attributes, :price_attributes
37604
38441
 
37605
38442
  def initialize(incoming={})
37606
38443
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -37609,6 +38446,7 @@ module Io
37609
38446
  @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemVat) ? x : ::Io::Flow::V0::Models::LocalizedItemVat.new(x)))
37610
38447
  @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemDuty) ? x : ::Io::Flow::V0::Models::LocalizedItemDuty.new(x)))
37611
38448
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = (x = d[1]; x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x)); h }
38449
+ @price_attributes = (x = opts.delete(:price_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('price_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = (x = d[1]; x.is_a?(::Io::Flow::V0::Models::LocalItemAttributePricing) ? x : ::Io::Flow::V0::Models::LocalItemAttributePricing.new(x)); h })
37612
38450
  end
37613
38451
 
37614
38452
  def to_json
@@ -37624,7 +38462,8 @@ module Io
37624
38462
  :price => price.to_hash,
37625
38463
  :vat => vat.nil? ? nil : vat.to_hash,
37626
38464
  :duty => duty.nil? ? nil : duty.to_hash,
37627
- :attributes => attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
38465
+ :attributes => attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash },
38466
+ :price_attributes => price_attributes.nil? ? nil : price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
37628
38467
  }
37629
38468
  end
37630
38469
 
@@ -38795,7 +39634,7 @@ module Io
38795
39634
  # you can capture up to the amount of the authorization
38796
39635
  class MerchantOfRecordAuthorizationForm < AuthorizationForm
38797
39636
 
38798
- attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :action_configuration
39637
+ attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :inline_action_configuration
38799
39638
 
38800
39639
  def initialize(incoming={})
38801
39640
  super(:discriminator => AuthorizationForm::Types::MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
@@ -38812,7 +39651,7 @@ module Io
38812
39651
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
38813
39652
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
38814
39653
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
38815
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
39654
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
38816
39655
  end
38817
39656
 
38818
39657
  def to_json
@@ -38836,7 +39675,7 @@ module Io
38836
39675
  :options => options.nil? ? nil : options.map { |o| o.value },
38837
39676
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
38838
39677
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
38839
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
39678
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
38840
39679
  }
38841
39680
  end
38842
39681
 
@@ -39286,7 +40125,7 @@ module Io
39286
40125
 
39287
40126
  class OnlineAuthorization < Authorization
39288
40127
 
39289
- attr_reader :id, :key, :method, :merchant_of_record, :details, :payment, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base
40128
+ attr_reader :id, :key, :method, :merchant_of_record, :details, :payment, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base, :processor
39290
40129
 
39291
40130
  def initialize(incoming={})
39292
40131
  super(:discriminator => Authorization::Types::ONLINE_AUTHORIZATION)
@@ -39311,6 +40150,7 @@ module Io
39311
40150
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
39312
40151
  @expires_at = (x = opts.delete(:expires_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
39313
40152
  @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
40153
+ @processor = (x = opts.delete(:processor); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandablePaymentProcessor) ? x : ::Io::Flow::V0::Models::ExpandablePaymentProcessor.from_json(x)))
39314
40154
  end
39315
40155
 
39316
40156
  def to_json
@@ -39341,7 +40181,8 @@ module Io
39341
40181
  :result => result.to_hash,
39342
40182
  :created_at => created_at,
39343
40183
  :expires_at => expires_at,
39344
- :base => base.nil? ? nil : base.to_hash
40184
+ :base => base.nil? ? nil : base.to_hash,
40185
+ :processor => processor.nil? ? nil : processor.to_hash
39345
40186
  }
39346
40187
  end
39347
40188
 
@@ -41758,7 +42599,7 @@ module Io
41758
42599
  # currently operating in.
41759
42600
  class Organization < ExpandableOrganization
41760
42601
 
41761
- attr_reader :id, :name, :environment, :parent, :defaults, :created_at
42602
+ attr_reader :id, :name, :environment, :parent, :defaults, :created_at, :status
41762
42603
 
41763
42604
  def initialize(incoming={})
41764
42605
  super(:discriminator => ExpandableOrganization::Types::ORGANIZATION)
@@ -41770,6 +42611,7 @@ module Io
41770
42611
  @parent = (x = opts.delete(:parent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x)))
41771
42612
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
41772
42613
  @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
42614
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
41773
42615
  end
41774
42616
 
41775
42617
  def to_json
@@ -41787,7 +42629,8 @@ module Io
41787
42629
  :environment => environment.value,
41788
42630
  :parent => parent.nil? ? nil : parent.to_hash,
41789
42631
  :defaults => defaults.nil? ? nil : defaults.to_hash,
41790
- :created_at => created_at
42632
+ :created_at => created_at,
42633
+ :status => status.value
41791
42634
  }
41792
42635
  end
41793
42636
 
@@ -42191,7 +43034,7 @@ module Io
42191
43034
  # Either id or name is required.
42192
43035
  class OrganizationForm
42193
43036
 
42194
- attr_reader :id, :name, :environment, :parent_id, :defaults
43037
+ attr_reader :id, :name, :environment, :parent_id, :defaults, :status
42195
43038
 
42196
43039
  def initialize(incoming={})
42197
43040
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -42200,6 +43043,7 @@ module Io
42200
43043
  @environment = (x = (x = opts.delete(:environment); x.nil? ? "production" : x); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
42201
43044
  @parent_id = (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String))
42202
43045
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
43046
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
42203
43047
  end
42204
43048
 
42205
43049
  def to_json
@@ -42216,7 +43060,8 @@ module Io
42216
43060
  :name => name,
42217
43061
  :environment => environment.value,
42218
43062
  :parent_id => parent_id,
42219
- :defaults => defaults.nil? ? nil : defaults.to_hash
43063
+ :defaults => defaults.nil? ? nil : defaults.to_hash,
43064
+ :status => status.value
42220
43065
  }
42221
43066
  end
42222
43067
 
@@ -42225,7 +43070,7 @@ module Io
42225
43070
  # Data required to upsert an organization.
42226
43071
  class OrganizationPutForm
42227
43072
 
42228
- attr_reader :name, :environment, :parent_id, :defaults
43073
+ attr_reader :name, :environment, :parent_id, :defaults, :status
42229
43074
 
42230
43075
  def initialize(incoming={})
42231
43076
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -42233,6 +43078,7 @@ module Io
42233
43078
  @environment = (x = opts.delete(:environment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x)))
42234
43079
  @parent_id = (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String))
42235
43080
  @defaults = (x = opts.delete(:defaults); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrganizationDefaults) ? x : ::Io::Flow::V0::Models::OrganizationDefaults.new(x)))
43081
+ @status = (x = (x = opts.delete(:status); x.nil? ? "active" : x); x.is_a?(::Io::Flow::V0::Models::OrganizationStatus) ? x : ::Io::Flow::V0::Models::OrganizationStatus.apply(x))
42236
43082
  end
42237
43083
 
42238
43084
  def to_json
@@ -42248,7 +43094,8 @@ module Io
42248
43094
  :name => name,
42249
43095
  :environment => environment.nil? ? nil : environment.value,
42250
43096
  :parent_id => parent_id,
42251
- :defaults => defaults.nil? ? nil : defaults.to_hash
43097
+ :defaults => defaults.nil? ? nil : defaults.to_hash,
43098
+ :status => status.value
42252
43099
  }
42253
43100
  end
42254
43101
 
@@ -42527,13 +43374,14 @@ module Io
42527
43374
 
42528
43375
  class OrganizationSummary
42529
43376
 
42530
- attr_reader :id, :name
43377
+ attr_reader :id, :name, :environment
42531
43378
 
42532
43379
  def initialize(incoming={})
42533
43380
  opts = HttpClient::Helper.symbolize_keys(incoming)
42534
- HttpClient::Preconditions.require_keys(opts, [:id, :name], 'OrganizationSummary')
43381
+ HttpClient::Preconditions.require_keys(opts, [:id, :name, :environment], 'OrganizationSummary')
42535
43382
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42536
43383
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
43384
+ @environment = (x = opts.delete(:environment); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
42537
43385
  end
42538
43386
 
42539
43387
  def to_json
@@ -42547,7 +43395,8 @@ module Io
42547
43395
  def to_hash
42548
43396
  {
42549
43397
  :id => id,
42550
- :name => name
43398
+ :name => name,
43399
+ :environment => environment.value
42551
43400
  }
42552
43401
  end
42553
43402
 
@@ -43491,6 +44340,155 @@ module Io
43491
44340
 
43492
44341
  end
43493
44342
 
44343
+ # Information about which payment processor performed the transaction and how it
44344
+ # can be tracked in their system
44345
+ class PaymentProcessor < ExpandablePaymentProcessor
44346
+
44347
+ attr_reader :processor, :operation_identifier, :account
44348
+
44349
+ def initialize(incoming={})
44350
+ super(:discriminator => ExpandablePaymentProcessor::Types::PAYMENT_PROCESSOR)
44351
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44352
+ HttpClient::Preconditions.require_keys(opts, [:processor], 'PaymentProcessor')
44353
+ @processor = HttpClient::Preconditions.assert_class('processor', opts.delete(:processor), String)
44354
+ @operation_identifier = (x = opts.delete(:operation_identifier); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorIdentifier) ? x : ::Io::Flow::V0::Models::PaymentProcessorIdentifier.new(x)))
44355
+ @account = (x = opts.delete(:account); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorAccount) ? x : ::Io::Flow::V0::Models::PaymentProcessorAccount.new(x)))
44356
+ end
44357
+
44358
+ def to_json
44359
+ JSON.dump(to_hash)
44360
+ end
44361
+
44362
+ def copy(incoming={})
44363
+ PaymentProcessor.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44364
+ end
44365
+
44366
+ def subtype_to_hash
44367
+ {
44368
+ :processor => processor,
44369
+ :operation_identifier => operation_identifier.nil? ? nil : operation_identifier.to_hash,
44370
+ :account => account.nil? ? nil : account.to_hash
44371
+ }
44372
+ end
44373
+
44374
+ end
44375
+
44376
+ # Information about an account with a payment processor
44377
+ class PaymentProcessorAccount
44378
+
44379
+ attr_reader :organization, :key, :identifier, :parent_account
44380
+
44381
+ def initialize(incoming={})
44382
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44383
+ HttpClient::Preconditions.require_keys(opts, [:organization, :key, :identifier], 'PaymentProcessorAccount')
44384
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
44385
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
44386
+ @identifier = (x = opts.delete(:identifier); x.is_a?(::Io::Flow::V0::Models::PaymentProcessorIdentifier) ? x : ::Io::Flow::V0::Models::PaymentProcessorIdentifier.new(x))
44387
+ @parent_account = (x = opts.delete(:parent_account); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorAccountReference) ? x : ::Io::Flow::V0::Models::PaymentProcessorAccountReference.new(x)))
44388
+ end
44389
+
44390
+ def to_json
44391
+ JSON.dump(to_hash)
44392
+ end
44393
+
44394
+ def copy(incoming={})
44395
+ PaymentProcessorAccount.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44396
+ end
44397
+
44398
+ def to_hash
44399
+ {
44400
+ :organization => organization,
44401
+ :key => key,
44402
+ :identifier => identifier.to_hash,
44403
+ :parent_account => parent_account.nil? ? nil : parent_account.to_hash
44404
+ }
44405
+ end
44406
+
44407
+ end
44408
+
44409
+ class PaymentProcessorAccountReference
44410
+
44411
+ attr_reader :organization, :key
44412
+
44413
+ def initialize(incoming={})
44414
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44415
+ HttpClient::Preconditions.require_keys(opts, [:organization, :key], 'PaymentProcessorAccountReference')
44416
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
44417
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
44418
+ end
44419
+
44420
+ def to_json
44421
+ JSON.dump(to_hash)
44422
+ end
44423
+
44424
+ def copy(incoming={})
44425
+ PaymentProcessorAccountReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44426
+ end
44427
+
44428
+ def to_hash
44429
+ {
44430
+ :organization => organization,
44431
+ :key => key
44432
+ }
44433
+ end
44434
+
44435
+ end
44436
+
44437
+ class PaymentProcessorIdentifier
44438
+
44439
+ attr_reader :id, :label
44440
+
44441
+ def initialize(incoming={})
44442
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44443
+ HttpClient::Preconditions.require_keys(opts, [:id, :label], 'PaymentProcessorIdentifier')
44444
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
44445
+ @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
44446
+ end
44447
+
44448
+ def to_json
44449
+ JSON.dump(to_hash)
44450
+ end
44451
+
44452
+ def copy(incoming={})
44453
+ PaymentProcessorIdentifier.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44454
+ end
44455
+
44456
+ def to_hash
44457
+ {
44458
+ :id => id,
44459
+ :label => label
44460
+ }
44461
+ end
44462
+
44463
+ end
44464
+
44465
+ class PaymentProcessorReference < ExpandablePaymentProcessor
44466
+
44467
+ attr_reader :processor
44468
+
44469
+ def initialize(incoming={})
44470
+ super(:discriminator => ExpandablePaymentProcessor::Types::PAYMENT_PROCESSOR_REFERENCE)
44471
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44472
+ HttpClient::Preconditions.require_keys(opts, [:processor], 'PaymentProcessorReference')
44473
+ @processor = HttpClient::Preconditions.assert_class('processor', opts.delete(:processor), String)
44474
+ end
44475
+
44476
+ def to_json
44477
+ JSON.dump(to_hash)
44478
+ end
44479
+
44480
+ def copy(incoming={})
44481
+ PaymentProcessorReference.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44482
+ end
44483
+
44484
+ def subtype_to_hash
44485
+ {
44486
+ :processor => processor
44487
+ }
44488
+ end
44489
+
44490
+ end
44491
+
43494
44492
  class PaymentReference
43495
44493
 
43496
44494
  attr_reader :id
@@ -44208,6 +45206,32 @@ module Io
44208
45206
 
44209
45207
  end
44210
45208
 
45209
+ class PriceBookItemExportOptions
45210
+
45211
+ attr_reader :available_identifiers
45212
+
45213
+ def initialize(incoming={})
45214
+ opts = HttpClient::Helper.symbolize_keys(incoming)
45215
+ HttpClient::Preconditions.require_keys(opts, [:available_identifiers], 'PriceBookItemExportOptions')
45216
+ @available_identifiers = HttpClient::Preconditions.assert_class('available_identifiers', opts.delete(:available_identifiers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ItemIdentifier) ? x : ::Io::Flow::V0::Models::ItemIdentifier.apply(x)) }
45217
+ end
45218
+
45219
+ def to_json
45220
+ JSON.dump(to_hash)
45221
+ end
45222
+
45223
+ def copy(incoming={})
45224
+ PriceBookItemExportOptions.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
45225
+ end
45226
+
45227
+ def to_hash
45228
+ {
45229
+ :available_identifiers => available_identifiers.map { |o| o.value }
45230
+ }
45231
+ end
45232
+
45233
+ end
45234
+
44211
45235
  # Defines the filters that can be applied when requesting a price book item data
44212
45236
  # export
44213
45237
  class PriceBookItemExportType < ExportType
@@ -47835,15 +48859,23 @@ module Io
47835
48859
 
47836
48860
  class Return
47837
48861
 
47838
- attr_reader :id, :key, :items, :labels
48862
+ attr_reader :id, :key, :order, :service, :items, :labels, :origin, :destination, :source, :tracking_status, :tracking_status_timestamp, :carrier_tracking_number
47839
48863
 
47840
48864
  def initialize(incoming={})
47841
48865
  opts = HttpClient::Helper.symbolize_keys(incoming)
47842
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :items, :labels], 'Return')
48866
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :service, :items, :origin, :destination, :source], 'Return')
47843
48867
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
47844
48868
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
48869
+ @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnOrderReference) ? x : ::Io::Flow::V0::Models::ReturnOrderReference.new(x)))
48870
+ @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
47845
48871
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReturnLineItem) ? x : ::Io::Flow::V0::Models::ReturnLineItem.new(x)) }
47846
- @labels = HttpClient::Preconditions.assert_class('labels', opts.delete(:labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) }
48872
+ @labels = (x = opts.delete(:labels); x.nil? ? nil : HttpClient::Preconditions.assert_class('labels', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) })
48873
+ @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48874
+ @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48875
+ @source = (x = opts.delete(:source); x.is_a?(::Io::Flow::V0::Models::ReturnSource) ? x : ::Io::Flow::V0::Models::ReturnSource.from_json(x))
48876
+ @tracking_status = (x = opts.delete(:tracking_status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnTrackingStatus) ? x : ::Io::Flow::V0::Models::ReturnTrackingStatus.apply(x)))
48877
+ @tracking_status_timestamp = (x = opts.delete(:tracking_status_timestamp); x.nil? ? nil : HttpClient::Preconditions.assert_class('tracking_status_timestamp', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
48878
+ @carrier_tracking_number = (x = opts.delete(:carrier_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number', x, String))
47847
48879
  end
47848
48880
 
47849
48881
  def to_json
@@ -47858,8 +48890,16 @@ module Io
47858
48890
  {
47859
48891
  :id => id,
47860
48892
  :key => key,
48893
+ :order => order.nil? ? nil : order.to_hash,
48894
+ :service => service.to_hash,
47861
48895
  :items => items.map { |o| o.to_hash },
47862
- :labels => labels.map { |o| o.to_hash }
48896
+ :labels => labels.nil? ? nil : labels.map { |o| o.to_hash },
48897
+ :origin => origin.to_hash,
48898
+ :destination => destination.to_hash,
48899
+ :source => source.to_hash,
48900
+ :tracking_status => tracking_status.nil? ? nil : tracking_status.value,
48901
+ :tracking_status_timestamp => tracking_status_timestamp,
48902
+ :carrier_tracking_number => carrier_tracking_number
47863
48903
  }
47864
48904
  end
47865
48905
 
@@ -47896,9 +48936,42 @@ module Io
47896
48936
 
47897
48937
  end
47898
48938
 
48939
+ class ReturnDeletedV2 < Event
48940
+
48941
+ attr_reader :event_id, :timestamp, :organization, :return_
48942
+
48943
+ def initialize(incoming={})
48944
+ super(:discriminator => Event::Types::RETURN_DELETED_V2)
48945
+ opts = HttpClient::Helper.symbolize_keys(incoming)
48946
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :return_], 'ReturnDeletedV2')
48947
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
48948
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
48949
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
48950
+ @return_ = (x = opts.delete(:return); x.is_a?(::Io::Flow::V0::Models::Return) ? x : ::Io::Flow::V0::Models::Return.new(x))
48951
+ end
48952
+
48953
+ def to_json
48954
+ JSON.dump(to_hash)
48955
+ end
48956
+
48957
+ def copy(incoming={})
48958
+ ReturnDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
48959
+ end
48960
+
48961
+ def subtype_to_hash
48962
+ {
48963
+ :event_id => event_id,
48964
+ :timestamp => timestamp,
48965
+ :organization => organization,
48966
+ :return => return_.to_hash
48967
+ }
48968
+ end
48969
+
48970
+ end
48971
+
47899
48972
  class ReturnForm
47900
48973
 
47901
- attr_reader :items, :tier_id, :order_number, :service, :destination, :key, :origin, :center_key
48974
+ attr_reader :items, :tier_id, :order_number, :service, :destination, :key, :origin, :center_key, :source, :tracking_status, :tracking_status_timestamp, :carrier_tracking_number
47902
48975
 
47903
48976
  def initialize(incoming={})
47904
48977
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -47911,6 +48984,10 @@ module Io
47911
48984
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
47912
48985
  @origin = (x = opts.delete(:origin); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x)))
47913
48986
  @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
48987
+ @source = (x = opts.delete(:source); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnSource) ? x : ::Io::Flow::V0::Models::ReturnSource.from_json(x)))
48988
+ @tracking_status = (x = opts.delete(:tracking_status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnTrackingStatus) ? x : ::Io::Flow::V0::Models::ReturnTrackingStatus.apply(x)))
48989
+ @tracking_status_timestamp = (x = opts.delete(:tracking_status_timestamp); x.nil? ? nil : HttpClient::Preconditions.assert_class('tracking_status_timestamp', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
48990
+ @carrier_tracking_number = (x = opts.delete(:carrier_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number', x, String))
47914
48991
  end
47915
48992
 
47916
48993
  def to_json
@@ -47930,7 +49007,11 @@ module Io
47930
49007
  :destination => destination.nil? ? nil : destination.to_hash,
47931
49008
  :key => key,
47932
49009
  :origin => origin.nil? ? nil : origin.to_hash,
47933
- :center_key => center_key
49010
+ :center_key => center_key,
49011
+ :source => source.nil? ? nil : source.to_hash,
49012
+ :tracking_status => tracking_status.nil? ? nil : tracking_status.value,
49013
+ :tracking_status_timestamp => tracking_status_timestamp,
49014
+ :carrier_tracking_number => carrier_tracking_number
47934
49015
  }
47935
49016
  end
47936
49017
 
@@ -47964,7 +49045,7 @@ module Io
47964
49045
 
47965
49046
  class ReturnLineItem
47966
49047
 
47967
- attr_reader :item_number, :order_number, :quantity, :reason, :notes
49048
+ attr_reader :item_number, :order_number, :quantity, :reason, :notes, :attributes
47968
49049
 
47969
49050
  def initialize(incoming={})
47970
49051
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -47974,6 +49055,7 @@ module Io
47974
49055
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
47975
49056
  @reason = (x = opts.delete(:reason); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnReason) ? x : ::Io::Flow::V0::Models::ReturnReason.new(x)))
47976
49057
  @notes = (x = opts.delete(:notes); x.nil? ? nil : HttpClient::Preconditions.assert_class('notes', x, String))
49058
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
47977
49059
  end
47978
49060
 
47979
49061
  def to_json
@@ -47990,7 +49072,8 @@ module Io
47990
49072
  :order_number => order_number,
47991
49073
  :quantity => quantity,
47992
49074
  :reason => reason.nil? ? nil : reason.to_hash,
47993
- :notes => notes
49075
+ :notes => notes,
49076
+ :attributes => attributes.nil? ? nil : attributes
47994
49077
  }
47995
49078
  end
47996
49079
 
@@ -48051,12 +49134,11 @@ module Io
48051
49134
 
48052
49135
  class ReturnReason
48053
49136
 
48054
- attr_reader :key, :name
49137
+ attr_reader :name
48055
49138
 
48056
49139
  def initialize(incoming={})
48057
49140
  opts = HttpClient::Helper.symbolize_keys(incoming)
48058
- HttpClient::Preconditions.require_keys(opts, [:key, :name], 'ReturnReason')
48059
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
49141
+ HttpClient::Preconditions.require_keys(opts, [:name], 'ReturnReason')
48060
49142
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
48061
49143
  end
48062
49144
 
@@ -48070,7 +49152,6 @@ module Io
48070
49152
 
48071
49153
  def to_hash
48072
49154
  {
48073
- :key => key,
48074
49155
  :name => name
48075
49156
  }
48076
49157
  end
@@ -48079,11 +49160,10 @@ module Io
48079
49160
 
48080
49161
  class ReturnReasonForm
48081
49162
 
48082
- attr_reader :key, :name
49163
+ attr_reader :name
48083
49164
 
48084
49165
  def initialize(incoming={})
48085
49166
  opts = HttpClient::Helper.symbolize_keys(incoming)
48086
- @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
48087
49167
  @name = (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String))
48088
49168
  end
48089
49169
 
@@ -48097,7 +49177,6 @@ module Io
48097
49177
 
48098
49178
  def to_hash
48099
49179
  {
48100
- :key => key,
48101
49180
  :name => name
48102
49181
  }
48103
49182
  end
@@ -48129,6 +49208,59 @@ module Io
48129
49208
 
48130
49209
  end
48131
49210
 
49211
+ class ReturnSourceExternalVendor < ReturnSource
49212
+
49213
+ attr_reader :key
49214
+
49215
+ def initialize(incoming={})
49216
+ super(:discriminator => ReturnSource::Types::RETURN_SOURCE_EXTERNAL_VENDOR)
49217
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49218
+ HttpClient::Preconditions.require_keys(opts, [:key], 'ReturnSourceExternalVendor')
49219
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
49220
+ end
49221
+
49222
+ def to_json
49223
+ JSON.dump(to_hash)
49224
+ end
49225
+
49226
+ def copy(incoming={})
49227
+ ReturnSourceExternalVendor.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49228
+ end
49229
+
49230
+ def subtype_to_hash
49231
+ {
49232
+ :key => key
49233
+ }
49234
+ end
49235
+
49236
+ end
49237
+
49238
+ class ReturnSourceFlow < ReturnSource
49239
+
49240
+ attr_reader :attributes
49241
+
49242
+ def initialize(incoming={})
49243
+ super(:discriminator => ReturnSource::Types::RETURN_SOURCE_FLOW)
49244
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49245
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
49246
+ end
49247
+
49248
+ def to_json
49249
+ JSON.dump(to_hash)
49250
+ end
49251
+
49252
+ def copy(incoming={})
49253
+ ReturnSourceFlow.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49254
+ end
49255
+
49256
+ def subtype_to_hash
49257
+ {
49258
+ :attributes => attributes.nil? ? nil : attributes
49259
+ }
49260
+ end
49261
+
49262
+ end
49263
+
48132
49264
  class ReturnUpserted < Event
48133
49265
 
48134
49266
  attr_reader :event_id, :timestamp, :id, :organization, :destination, :items, :key, :labels, :service, :origin
@@ -48136,7 +49268,7 @@ module Io
48136
49268
  def initialize(incoming={})
48137
49269
  super(:discriminator => Event::Types::RETURN_UPSERTED)
48138
49270
  opts = HttpClient::Helper.symbolize_keys(incoming)
48139
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :destination, :items, :key, :labels, :service, :origin], 'ReturnUpserted')
49271
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :destination, :items, :key, :service, :origin], 'ReturnUpserted')
48140
49272
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
48141
49273
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
48142
49274
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
@@ -48144,7 +49276,7 @@ module Io
48144
49276
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48145
49277
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReturnLineItem) ? x : ::Io::Flow::V0::Models::ReturnLineItem.new(x)) }
48146
49278
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
48147
- @labels = HttpClient::Preconditions.assert_class('labels', opts.delete(:labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) }
49279
+ @labels = (x = opts.delete(:labels); x.nil? ? nil : HttpClient::Preconditions.assert_class('labels', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) })
48148
49280
  @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
48149
49281
  @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48150
49282
  end
@@ -48166,7 +49298,7 @@ module Io
48166
49298
  :destination => destination.to_hash,
48167
49299
  :items => items.map { |o| o.to_hash },
48168
49300
  :key => key,
48169
- :labels => labels.map { |o| o.to_hash },
49301
+ :labels => labels.nil? ? nil : labels.map { |o| o.to_hash },
48170
49302
  :service => service,
48171
49303
  :origin => origin.to_hash
48172
49304
  }
@@ -48174,6 +49306,39 @@ module Io
48174
49306
 
48175
49307
  end
48176
49308
 
49309
+ class ReturnUpsertedV2 < Event
49310
+
49311
+ attr_reader :event_id, :timestamp, :organization, :return_
49312
+
49313
+ def initialize(incoming={})
49314
+ super(:discriminator => Event::Types::RETURN_UPSERTED_V2)
49315
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49316
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :return_], 'ReturnUpsertedV2')
49317
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
49318
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
49319
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
49320
+ @return_ = (x = opts.delete(:return); x.is_a?(::Io::Flow::V0::Models::Return) ? x : ::Io::Flow::V0::Models::Return.new(x))
49321
+ end
49322
+
49323
+ def to_json
49324
+ JSON.dump(to_hash)
49325
+ end
49326
+
49327
+ def copy(incoming={})
49328
+ ReturnUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49329
+ end
49330
+
49331
+ def subtype_to_hash
49332
+ {
49333
+ :event_id => event_id,
49334
+ :timestamp => timestamp,
49335
+ :organization => organization,
49336
+ :return => return_.to_hash
49337
+ }
49338
+ end
49339
+
49340
+ end
49341
+
48177
49342
  class ReturnVersion
48178
49343
 
48179
49344
  attr_reader :id, :timestamp, :type, :return_
@@ -49755,7 +50920,7 @@ module Io
49755
50920
  # shipper to transport a package from a given origin to destination
49756
50921
  class ShippingLabel
49757
50922
 
49758
- attr_reader :id, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :return_, :order, :package, :order_identifier, :fulfillment_key, :shipment_recipient
50923
+ attr_reader :id, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :return_, :order, :package, :order_identifier, :fulfillment_key, :shipment_recipient, :created_at, :updated_at
49759
50924
 
49760
50925
  def initialize(incoming={})
49761
50926
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -49779,6 +50944,8 @@ module Io
49779
50944
  @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
49780
50945
  @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
49781
50946
  @shipment_recipient = (x = opts.delete(:shipment_recipient); x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(x))
50947
+ @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
50948
+ @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
49782
50949
  end
49783
50950
 
49784
50951
  def to_json
@@ -49809,7 +50976,9 @@ module Io
49809
50976
  :package => package.nil? ? nil : package.to_hash,
49810
50977
  :order_identifier => order_identifier,
49811
50978
  :fulfillment_key => fulfillment_key,
49812
- :shipment_recipient => shipment_recipient.value
50979
+ :shipment_recipient => shipment_recipient.value,
50980
+ :created_at => created_at,
50981
+ :updated_at => updated_at
49813
50982
  }
49814
50983
  end
49815
50984
 
@@ -51237,12 +52406,13 @@ module Io
51237
52406
  # Model to represent romanized order detail metafield
51238
52407
  class ShopifyOrderRomanizationMetafield
51239
52408
 
51240
- attr_reader :destination
52409
+ attr_reader :destination, :billing
51241
52410
 
51242
52411
  def initialize(incoming={})
51243
52412
  opts = HttpClient::Helper.symbolize_keys(incoming)
51244
52413
  HttpClient::Preconditions.require_keys(opts, [:destination], 'ShopifyOrderRomanizationMetafield')
51245
52414
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x))
52415
+ @billing = (x = opts.delete(:billing); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BillingAddress) ? x : ::Io::Flow::V0::Models::BillingAddress.new(x)))
51246
52416
  end
51247
52417
 
51248
52418
  def to_json
@@ -51255,7 +52425,8 @@ module Io
51255
52425
 
51256
52426
  def to_hash
51257
52427
  {
51258
- :destination => destination.to_hash
52428
+ :destination => destination.to_hash,
52429
+ :billing => billing.nil? ? nil : billing.to_hash
51259
52430
  }
51260
52431
  end
51261
52432
 
@@ -51756,8 +52927,8 @@ module Io
51756
52927
 
51757
52928
  end
51758
52929
 
51759
- # A configuration with custom query to select a subset of master catalog items
51760
- # for a localized experience
52930
+ # A configuration with custom query to select a subset of the catalog items for
52931
+ # a localized experience
51761
52932
  class Subcatalog < ExpandableSubcatalog
51762
52933
 
51763
52934
  attr_reader :id, :catalog, :settings
@@ -51791,16 +52962,15 @@ module Io
51791
52962
 
51792
52963
  class SubcatalogDeleted < Event
51793
52964
 
51794
- attr_reader :event_id, :timestamp, :organization, :catalog, :subcatalog_id
52965
+ attr_reader :event_id, :timestamp, :organization, :subcatalog_id
51795
52966
 
51796
52967
  def initialize(incoming={})
51797
52968
  super(:discriminator => Event::Types::SUBCATALOG_DELETED)
51798
52969
  opts = HttpClient::Helper.symbolize_keys(incoming)
51799
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog, :subcatalog_id], 'SubcatalogDeleted')
52970
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :subcatalog_id], 'SubcatalogDeleted')
51800
52971
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
51801
52972
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
51802
52973
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
51803
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
51804
52974
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
51805
52975
  end
51806
52976
 
@@ -51817,7 +52987,6 @@ module Io
51817
52987
  :event_id => event_id,
51818
52988
  :timestamp => timestamp,
51819
52989
  :organization => organization,
51820
- :catalog => catalog,
51821
52990
  :subcatalog_id => subcatalog_id
51822
52991
  }
51823
52992
  end
@@ -51882,17 +53051,16 @@ module Io
51882
53051
 
51883
53052
  class SubcatalogItemDeleted < Event
51884
53053
 
51885
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id
53054
+ attr_reader :event_id, :timestamp, :organization, :number, :subcatalog_id
51886
53055
 
51887
53056
  def initialize(incoming={})
51888
53057
  super(:discriminator => Event::Types::SUBCATALOG_ITEM_DELETED)
51889
53058
  opts = HttpClient::Helper.symbolize_keys(incoming)
51890
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id], 'SubcatalogItemDeleted')
53059
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :subcatalog_id], 'SubcatalogItemDeleted')
51891
53060
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
51892
53061
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
51893
53062
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
51894
53063
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
51895
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
51896
53064
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
51897
53065
  end
51898
53066
 
@@ -51910,7 +53078,6 @@ module Io
51910
53078
  :timestamp => timestamp,
51911
53079
  :organization => organization,
51912
53080
  :number => number,
51913
- :catalog => catalog,
51914
53081
  :subcatalog_id => subcatalog_id
51915
53082
  }
51916
53083
  end
@@ -51919,17 +53086,16 @@ module Io
51919
53086
 
51920
53087
  class SubcatalogItemUpserted < Event
51921
53088
 
51922
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id, :status
53089
+ attr_reader :event_id, :timestamp, :organization, :number, :subcatalog_id, :status
51923
53090
 
51924
53091
  def initialize(incoming={})
51925
53092
  super(:discriminator => Event::Types::SUBCATALOG_ITEM_UPSERTED)
51926
53093
  opts = HttpClient::Helper.symbolize_keys(incoming)
51927
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id, :status], 'SubcatalogItemUpserted')
53094
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :subcatalog_id, :status], 'SubcatalogItemUpserted')
51928
53095
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
51929
53096
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
51930
53097
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
51931
53098
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
51932
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
51933
53099
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
51934
53100
  @status = HttpClient::Preconditions.assert_class('status', opts.delete(:status), String)
51935
53101
  end
@@ -51948,7 +53114,6 @@ module Io
51948
53114
  :timestamp => timestamp,
51949
53115
  :organization => organization,
51950
53116
  :number => number,
51951
- :catalog => catalog,
51952
53117
  :subcatalog_id => subcatalog_id,
51953
53118
  :status => status
51954
53119
  }
@@ -52103,16 +53268,15 @@ module Io
52103
53268
 
52104
53269
  class SubcatalogUpserted < Event
52105
53270
 
52106
- attr_reader :event_id, :timestamp, :organization, :catalog, :subcatalog_id
53271
+ attr_reader :event_id, :timestamp, :organization, :subcatalog_id
52107
53272
 
52108
53273
  def initialize(incoming={})
52109
53274
  super(:discriminator => Event::Types::SUBCATALOG_UPSERTED)
52110
53275
  opts = HttpClient::Helper.symbolize_keys(incoming)
52111
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog, :subcatalog_id], 'SubcatalogUpserted')
53276
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :subcatalog_id], 'SubcatalogUpserted')
52112
53277
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
52113
53278
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
52114
53279
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
52115
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
52116
53280
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
52117
53281
  end
52118
53282
 
@@ -52129,7 +53293,6 @@ module Io
52129
53293
  :event_id => event_id,
52130
53294
  :timestamp => timestamp,
52131
53295
  :organization => organization,
52132
- :catalog => catalog,
52133
53296
  :subcatalog_id => subcatalog_id
52134
53297
  }
52135
53298
  end
@@ -52771,6 +53934,38 @@ module Io
52771
53934
 
52772
53935
  end
52773
53936
 
53937
+ class TaxReport
53938
+
53939
+ attr_reader :schedule, :timezone, :types, :email_recipients
53940
+
53941
+ def initialize(incoming={})
53942
+ opts = HttpClient::Helper.symbolize_keys(incoming)
53943
+ HttpClient::Preconditions.require_keys(opts, [:schedule, :timezone], 'TaxReport')
53944
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::RepeatSchedule) ? x : ::Io::Flow::V0::Models::RepeatSchedule.from_json(x))
53945
+ @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
53946
+ @types = HttpClient::Preconditions.assert_class('types', (x = opts.delete(:types); x.nil? ? ["consumer","b2b"] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TaxReportType) ? x : ::Io::Flow::V0::Models::TaxReportType.apply(x)) }
53947
+ @email_recipients = (x = opts.delete(:email_recipients); x.nil? ? nil : HttpClient::Preconditions.assert_class('email_recipients', x, Array).map { |v| HttpClient::Preconditions.assert_class('email_recipients', v, String) })
53948
+ end
53949
+
53950
+ def to_json
53951
+ JSON.dump(to_hash)
53952
+ end
53953
+
53954
+ def copy(incoming={})
53955
+ TaxReport.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53956
+ end
53957
+
53958
+ def to_hash
53959
+ {
53960
+ :schedule => schedule.to_hash,
53961
+ :timezone => timezone,
53962
+ :types => types.map { |o| o.value },
53963
+ :email_recipients => email_recipients.nil? ? nil : email_recipients
53964
+ }
53965
+ end
53966
+
53967
+ end
53968
+
52774
53969
  # Represents the results from 3D Secure, if applied to an authorization
52775
53970
  class ThreeDSecure
52776
53971
 
@@ -52862,33 +54057,6 @@ module Io
52862
54057
 
52863
54058
  end
52864
54059
 
52865
- # Instructions to the card issuer to render challenges to the user
52866
- class ThreedsTwoBrowserActionConfiguration < ActionConfiguration
52867
-
52868
- attr_reader :viewport
52869
-
52870
- def initialize(incoming={})
52871
- super(:discriminator => ActionConfiguration::Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
52872
- opts = HttpClient::Helper.symbolize_keys(incoming)
52873
- @viewport = (x = (x = opts.delete(:viewport); x.nil? ? "xxx_small" : x); x.is_a?(::Io::Flow::V0::Models::ThreedsTwoChallengeViewport) ? x : ::Io::Flow::V0::Models::ThreedsTwoChallengeViewport.apply(x))
52874
- end
52875
-
52876
- def to_json
52877
- JSON.dump(to_hash)
52878
- end
52879
-
52880
- def copy(incoming={})
52881
- ThreedsTwoBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
52882
- end
52883
-
52884
- def subtype_to_hash
52885
- {
52886
- :viewport => viewport.value
52887
- }
52888
- end
52889
-
52890
- end
52891
-
52892
54060
  # Data that must be passed to the 3DS Client to help the issuer ACS render a
52893
54061
  # challenge for the user.
52894
54062
  class ThreedsTwoChallengeRequest < ThreedsChallengeAction