flowcommerce 0.2.79 → 0.2.80

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: fcdecf45f008c493b629807d3a1fcc1d2c34cee5b07ad56bb96daa7dfca866b4
4
- data.tar.gz: 52ded6ba70753c3bf75a662a0cbd973aaf53d1c318ecf533df46481c7ee3dd1a
3
+ metadata.gz: c15848ac0c9fda083a1e8b1fbf823292a05e35543a26d4badc1bdee9372fa264
4
+ data.tar.gz: 245f87a1fae87cb21a6c2669d109eda64669eaf8343b465b924e81b74b3a0df3
5
5
  SHA512:
6
- metadata.gz: 8f17f6fd58972e87fcff0fbc9a0383580be2c3281b2859ef1d2a51f9d4eff6486cfd884f3df5453a1c25d6bc09cee24cd830f7142857a444358c50b744818748
7
- data.tar.gz: c2ae70244b5fdce759b531fcef03615c0c2d8c6f89534bbe11684679c6e994473f6428394f176ce04222ed52257f45d9f82a03ac7d141a57fe15002c152af6bd
6
+ metadata.gz: 35b9f5a72493d0f3e5fe34839acb03a5894aebd63660c13095974c100cf78fb8a3dd70c23501cfbcb87ad9d13e105397b2ba24dcef083a974cf24fcd70005451
7
+ data.tar.gz: 01ade8ed9b9cc798d402291a9d5530e7173c3bf96fc1fd19e3d3c8ffc8b70bc4756a69587b9ae7db0ce4308602c0375e8c6ee07fa8f5d2b691dd67b5113e1b01
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.8.74
3
- # apibuilder 0.14.93 app.apibuilder.io/flow/api/latest/ruby_client
2
+ # Service version: 0.9.10
3
+ # apibuilder 0.15.6 app.apibuilder.io/flow/api/latest/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,8 +25,8 @@ module Io
25
25
 
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
- USER_AGENT = 'apibuilder 0.14.93 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.8.74' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apibuilder 0.15.6 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.9.10' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -92,6 +92,10 @@ module Io
92
92
  @credit_payments ||= ::Io::Flow::V0::Clients::CreditPayments.new(self)
93
93
  end
94
94
 
95
+ def discount_rule_settings
96
+ @discount_rule_settings ||= ::Io::Flow::V0::Clients::DiscountRuleSettings.new(self)
97
+ end
98
+
95
99
  def experiences
96
100
  @experiences ||= ::Io::Flow::V0::Clients::Experiences.new(self)
97
101
  end
@@ -176,18 +180,6 @@ module Io
176
180
  @subcatalog_items ||= ::Io::Flow::V0::Clients::SubcatalogItems.new(self)
177
181
  end
178
182
 
179
- def subcatalog_queries
180
- @subcatalog_queries ||= ::Io::Flow::V0::Clients::SubcatalogQueries.new(self)
181
- end
182
-
183
- def targetings
184
- @targetings ||= ::Io::Flow::V0::Clients::Targetings.new(self)
185
- end
186
-
187
- def targeting_items
188
- @targeting_items ||= ::Io::Flow::V0::Clients::TargetingItems.new(self)
189
- end
190
-
191
183
  def organization_currency_settings
192
184
  @organization_currency_settings ||= ::Io::Flow::V0::Clients::OrganizationCurrencySettings.new(self)
193
185
  end
@@ -312,10 +304,6 @@ module Io
312
304
  @returns ||= ::Io::Flow::V0::Clients::Returns.new(self)
313
305
  end
314
306
 
315
- def serials
316
- @serials ||= ::Io::Flow::V0::Clients::Serials.new(self)
317
- end
318
-
319
307
  def shipping_configurations
320
308
  @shipping_configurations ||= ::Io::Flow::V0::Clients::ShippingConfigurations.new(self)
321
309
  end
@@ -412,6 +400,10 @@ module Io
412
400
  @regions ||= ::Io::Flow::V0::Clients::Regions.new(self)
413
401
  end
414
402
 
403
+ def abandoned_order_settings
404
+ @abandoned_order_settings ||= ::Io::Flow::V0::Clients::AbandonedOrderSettings.new(self)
405
+ end
406
+
415
407
  def b2b_credit_memos
416
408
  @b2b_credit_memos ||= ::Io::Flow::V0::Clients::B2bCreditMemos.new(self)
417
409
  end
@@ -460,6 +452,10 @@ module Io
460
452
  @customer_bundles ||= ::Io::Flow::V0::Clients::CustomerBundles.new(self)
461
453
  end
462
454
 
455
+ def customer_purge_settings
456
+ @customer_purge_settings ||= ::Io::Flow::V0::Clients::CustomerPurgeSettings.new(self)
457
+ end
458
+
463
459
  def customer_tokens
464
460
  @customer_tokens ||= ::Io::Flow::V0::Clients::CustomerTokens.new(self)
465
461
  end
@@ -704,6 +700,14 @@ module Io
704
700
  ::Io::Flow::V0::Models::Attribute.new(r)
705
701
  end
706
702
 
703
+ # Create or update a batch of attributes
704
+ def put(organization, attribute_forms)
705
+ HttpClient::Preconditions.assert_class('organization', organization, String)
706
+ HttpClient::Preconditions.assert_class('attribute_forms', attribute_forms, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AttributeForm) ? x : ::Io::Flow::V0::Models::AttributeForm.new(x)) }
707
+ r = @client.request("/#{CGI.escape(organization)}/attributes").with_json(attribute_forms.map { |o| o.to_hash }.to_json).put
708
+ r.map { |x| ::Io::Flow::V0::Models::Attribute.new(x) }
709
+ end
710
+
707
711
  # Provides visibility into recent changes of each object, including deletion
708
712
  def get_versions(organization, incoming={})
709
713
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -962,6 +966,57 @@ module Io
962
966
 
963
967
  end
964
968
 
969
+ class DiscountRuleSettings
970
+
971
+ def initialize(client)
972
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
973
+ end
974
+
975
+ def get(organization, incoming={})
976
+ HttpClient::Preconditions.assert_class('organization', organization, String)
977
+ opts = HttpClient::Helper.symbolize_keys(incoming)
978
+ query = {
979
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
980
+ :status => (x = opts.delete(:status); x.nil? ? nil : HttpClient::Preconditions.assert_class('status', x, Array).map { |v| HttpClient::Preconditions.assert_class('status', v, String) }),
981
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
982
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
983
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
984
+ }.delete_if { |k, v| v.nil? }
985
+ r = @client.request("/#{CGI.escape(organization)}/discount/rule/settings").with_query(query).get
986
+ r.map { |x| ::Io::Flow::V0::Models::DiscountRuleSettings.new(x) }
987
+ end
988
+
989
+ def post(organization, discount_rule_settings_form)
990
+ HttpClient::Preconditions.assert_class('organization', organization, String)
991
+ (x = discount_rule_settings_form; x.is_a?(::Io::Flow::V0::Models::DiscountRuleSettingsForm) ? x : ::Io::Flow::V0::Models::DiscountRuleSettingsForm.new(x))
992
+ r = @client.request("/#{CGI.escape(organization)}/discount/rule/settings").with_json(discount_rule_settings_form.to_json).post
993
+ ::Io::Flow::V0::Models::DiscountRuleSettings.new(r)
994
+ end
995
+
996
+ def get_by_id(organization, id)
997
+ HttpClient::Preconditions.assert_class('organization', organization, String)
998
+ HttpClient::Preconditions.assert_class('id', id, String)
999
+ r = @client.request("/#{CGI.escape(organization)}/discount/rule/settings/#{CGI.escape(id)}").get
1000
+ ::Io::Flow::V0::Models::DiscountRuleSettings.new(r)
1001
+ end
1002
+
1003
+ def put_by_id(organization, id, discount_rule_settings_form)
1004
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1005
+ HttpClient::Preconditions.assert_class('id', id, String)
1006
+ (x = discount_rule_settings_form; x.is_a?(::Io::Flow::V0::Models::DiscountRuleSettingsForm) ? x : ::Io::Flow::V0::Models::DiscountRuleSettingsForm.new(x))
1007
+ r = @client.request("/#{CGI.escape(organization)}/discount/rule/settings/#{CGI.escape(id)}").with_json(discount_rule_settings_form.to_json).put
1008
+ ::Io::Flow::V0::Models::DiscountRuleSettings.new(r)
1009
+ end
1010
+
1011
+ def delete_by_id(organization, id)
1012
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1013
+ HttpClient::Preconditions.assert_class('id', id, String)
1014
+ r = @client.request("/#{CGI.escape(organization)}/discount/rule/settings/#{CGI.escape(id)}").delete
1015
+ nil
1016
+ end
1017
+
1018
+ end
1019
+
965
1020
  class Experiences
966
1021
 
967
1022
  def initialize(client)
@@ -1200,10 +1255,7 @@ module Io
1200
1255
  :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 }),
1201
1256
  :tags => (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| HttpClient::Preconditions.assert_class('tags', v, String) }),
1202
1257
  :amount => (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', x, String)),
1203
- :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1204
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1205
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1206
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "display_position" : x), String)
1258
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
1207
1259
  }.delete_if { |k, v| v.nil? }
1208
1260
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/payment/method/rules").with_query(query).get
1209
1261
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
@@ -1682,6 +1734,22 @@ module Io
1682
1734
  ::Io::Flow::V0::Models::Order.new(r)
1683
1735
  end
1684
1736
 
1737
+ # Submits an order. You will get a validation error if the order has already
1738
+ # expired (and a new quote could not be automatically recreated for a lower or
1739
+ # same price). This method is idempotent - submitting an order a second time
1740
+ # has no effect.
1741
+ def post_submissions(organization, order_with_discounts_form, incoming={})
1742
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1743
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1744
+ query = {
1745
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1746
+ :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String))
1747
+ }.delete_if { |k, v| v.nil? }
1748
+ (x = order_with_discounts_form; x.is_a?(::Io::Flow::V0::Models::OrderWithDiscountsForm) ? x : ::Io::Flow::V0::Models::OrderWithDiscountsForm.new(x))
1749
+ r = @client.request("/#{CGI.escape(organization)}/orders/submissions").with_query(query).with_json(order_with_discounts_form.to_json).post
1750
+ ::Io::Flow::V0::Models::Order.new(r)
1751
+ end
1752
+
1685
1753
  # Provides visibility into recent changes of each order, including deletion
1686
1754
  def get_versions(organization, incoming={})
1687
1755
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -2352,6 +2420,19 @@ module Io
2352
2420
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
2353
2421
  end
2354
2422
 
2423
+ # Provides payment method rules for all experiences for an organization
2424
+ def get_payment_and_method_and_rules_and_batch(organization, incoming={})
2425
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2426
+ opts = HttpClient::Helper.symbolize_keys(incoming)
2427
+ query = {
2428
+ :experiences => (x = opts.delete(:experiences); x.nil? ? nil : HttpClient::Preconditions.assert_class('experiences', x, Array).map { |v| HttpClient::Preconditions.assert_class('experiences', v, String) }),
2429
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2430
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
2431
+ }.delete_if { |k, v| v.nil? }
2432
+ r = @client.request("/#{CGI.escape(organization)}/payment/method/rules/batch").with_query(query).get
2433
+ r.map { |x| ::Io::Flow::V0::Models::ExperiencePaymentMethodRule.new(x) }
2434
+ end
2435
+
2355
2436
  end
2356
2437
 
2357
2438
  class PriceBooks
@@ -2554,135 +2635,6 @@ module Io
2554
2635
  ::Io::Flow::V0::Models::SubcatalogSettings.new(r)
2555
2636
  end
2556
2637
 
2557
- # Search exclusions. Always paginated.
2558
- def get_exclusions_by_subcatalog_id(organization, subcatalog_id, incoming={})
2559
- HttpClient::Preconditions.assert_class('organization', organization, String)
2560
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2561
- opts = HttpClient::Helper.symbolize_keys(incoming)
2562
- query = {
2563
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2564
- :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
2565
- :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),
2567
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String)
2568
- }.delete_if { |k, v| v.nil? }
2569
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/exclusions").with_query(query).get
2570
- r.map { |x| ::Io::Flow::V0::Models::Item.new(x) }
2571
- end
2572
-
2573
- # Returns information about a specific exclusion by catalog item number.
2574
- def get_exclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2575
- HttpClient::Preconditions.assert_class('organization', organization, String)
2576
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2577
- HttpClient::Preconditions.assert_class('number', number, String)
2578
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/exclusions/#{CGI.escape(number)}").get
2579
- ::Io::Flow::V0::Models::Item.new(r)
2580
- end
2581
-
2582
- # Add exclusion
2583
- def put_exclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2584
- HttpClient::Preconditions.assert_class('organization', organization, String)
2585
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2586
- HttpClient::Preconditions.assert_class('number', number, String)
2587
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/exclusions/#{CGI.escape(number)}").put
2588
- ::Io::Flow::V0::Models::Item.new(r)
2589
- end
2590
-
2591
- # Delete an exclusion with this catalog item number
2592
- def delete_exclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2593
- HttpClient::Preconditions.assert_class('organization', organization, String)
2594
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2595
- HttpClient::Preconditions.assert_class('number', number, String)
2596
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/exclusions/#{CGI.escape(number)}").delete
2597
- nil
2598
- end
2599
-
2600
- # Search inclusions. Always paginated.
2601
- def get_inclusions_by_subcatalog_id(organization, subcatalog_id, incoming={})
2602
- HttpClient::Preconditions.assert_class('organization', organization, String)
2603
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2604
- opts = HttpClient::Helper.symbolize_keys(incoming)
2605
- query = {
2606
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2607
- :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
2608
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2609
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2610
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String)
2611
- }.delete_if { |k, v| v.nil? }
2612
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/inclusions").with_query(query).get
2613
- r.map { |x| ::Io::Flow::V0::Models::Item.new(x) }
2614
- end
2615
-
2616
- # Returns information about a specific inclusion by catalog item number.
2617
- def get_inclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2618
- HttpClient::Preconditions.assert_class('organization', organization, String)
2619
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2620
- HttpClient::Preconditions.assert_class('number', number, String)
2621
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/inclusions/#{CGI.escape(number)}").get
2622
- ::Io::Flow::V0::Models::Item.new(r)
2623
- end
2624
-
2625
- # Add inclusion
2626
- def put_inclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2627
- HttpClient::Preconditions.assert_class('organization', organization, String)
2628
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2629
- HttpClient::Preconditions.assert_class('number', number, String)
2630
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/inclusions/#{CGI.escape(number)}").put
2631
- ::Io::Flow::V0::Models::Item.new(r)
2632
- end
2633
-
2634
- # Delete an inclusion with this catalog item number
2635
- def delete_inclusions_by_subcatalog_id_and_number(organization, subcatalog_id, number)
2636
- HttpClient::Preconditions.assert_class('organization', organization, String)
2637
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2638
- HttpClient::Preconditions.assert_class('number', number, String)
2639
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/inclusions/#{CGI.escape(number)}").delete
2640
- nil
2641
- end
2642
-
2643
- # Search queries. Always paginated.
2644
- def get_queries_by_subcatalog_id(organization, subcatalog_id, incoming={})
2645
- HttpClient::Preconditions.assert_class('organization', organization, String)
2646
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2647
- opts = HttpClient::Helper.symbolize_keys(incoming)
2648
- query = {
2649
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2650
- :type => (x = opts.delete(:type); x.nil? ? nil : HttpClient::Preconditions.assert_class('type', x, Array).map { |v| HttpClient::Preconditions.assert_class('type', v, String) }),
2651
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2652
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2653
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2654
- }.delete_if { |k, v| v.nil? }
2655
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/queries").with_query(query).get
2656
- r.map { |x| ::Io::Flow::V0::Models::SubcatalogQuery.new(x) }
2657
- end
2658
-
2659
- # Add query
2660
- def post_queries_by_subcatalog_id(organization, subcatalog_id, subcatalog_query_form)
2661
- HttpClient::Preconditions.assert_class('organization', organization, String)
2662
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2663
- (x = subcatalog_query_form; x.is_a?(::Io::Flow::V0::Models::SubcatalogQueryForm) ? x : ::Io::Flow::V0::Models::SubcatalogQueryForm.new(x))
2664
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/queries").with_json(subcatalog_query_form.to_json).post
2665
- ::Io::Flow::V0::Models::SubcatalogQuery.new(r)
2666
- end
2667
-
2668
- # Returns information about a specific query.
2669
- def get_queries_by_subcatalog_id_and_id(organization, subcatalog_id, id)
2670
- HttpClient::Preconditions.assert_class('organization', organization, String)
2671
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2672
- HttpClient::Preconditions.assert_class('id', id, String)
2673
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/queries/#{CGI.escape(id)}").get
2674
- ::Io::Flow::V0::Models::SubcatalogQuery.new(r)
2675
- end
2676
-
2677
- # Delete a query with this id
2678
- def delete_queries_by_subcatalog_id_and_id(organization, subcatalog_id, id)
2679
- HttpClient::Preconditions.assert_class('organization', organization, String)
2680
- HttpClient::Preconditions.assert_class('subcatalog_id', subcatalog_id, String)
2681
- HttpClient::Preconditions.assert_class('id', id, String)
2682
- r = @client.request("/#{CGI.escape(organization)}/catalog/subcatalogs/#{CGI.escape(subcatalog_id)}/queries/#{CGI.escape(id)}").delete
2683
- nil
2684
- end
2685
-
2686
2638
  # Get statistics for the specified subcatalog
2687
2639
  def get_statistics_by_subcatalog_id(organization, subcatalog_id)
2688
2640
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -2743,95 +2695,6 @@ module Io
2743
2695
 
2744
2696
  end
2745
2697
 
2746
- class SubcatalogQueries
2747
-
2748
- def initialize(client)
2749
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2750
- end
2751
-
2752
- def post_validations(organization, values)
2753
- HttpClient::Preconditions.assert_class('organization', organization, String)
2754
- HttpClient::Preconditions.assert_class('strings', strings, Array).map { |v| HttpClient::Preconditions.assert_class('strings', v, String) }
2755
- r = @client.request("/#{CGI.escape(organization)}/query/validations").with_json(strings.to_json).post
2756
- ::Io::Flow::V0::Models::SubcatalogQueryValidation.new(r)
2757
- end
2758
-
2759
- end
2760
-
2761
- class Targetings
2762
-
2763
- def initialize(client)
2764
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2765
- end
2766
-
2767
- def get(organization, incoming={})
2768
- HttpClient::Preconditions.assert_class('organization', organization, String)
2769
- opts = HttpClient::Helper.symbolize_keys(incoming)
2770
- query = {
2771
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2772
- :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
2773
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2774
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2775
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2776
- }.delete_if { |k, v| v.nil? }
2777
- r = @client.request("/#{CGI.escape(organization)}/catalog/targetings").with_query(query).get
2778
- r.map { |x| ::Io::Flow::V0::Models::Targeting.new(x) }
2779
- end
2780
-
2781
- def post(organization, targeting_form)
2782
- HttpClient::Preconditions.assert_class('organization', organization, String)
2783
- (x = targeting_form; x.is_a?(::Io::Flow::V0::Models::TargetingForm) ? x : ::Io::Flow::V0::Models::TargetingForm.new(x))
2784
- r = @client.request("/#{CGI.escape(organization)}/catalog/targetings").with_json(targeting_form.to_json).post
2785
- ::Io::Flow::V0::Models::Targeting.new(r)
2786
- end
2787
-
2788
- def get_by_key(organization, key)
2789
- HttpClient::Preconditions.assert_class('organization', organization, String)
2790
- HttpClient::Preconditions.assert_class('key', key, String)
2791
- r = @client.request("/#{CGI.escape(organization)}/catalog/targetings/#{CGI.escape(key)}").get
2792
- ::Io::Flow::V0::Models::Targeting.new(r)
2793
- end
2794
-
2795
- def put_by_key(organization, key, targeting_form)
2796
- HttpClient::Preconditions.assert_class('organization', organization, String)
2797
- HttpClient::Preconditions.assert_class('key', key, String)
2798
- (x = targeting_form; x.is_a?(::Io::Flow::V0::Models::TargetingForm) ? x : ::Io::Flow::V0::Models::TargetingForm.new(x))
2799
- r = @client.request("/#{CGI.escape(organization)}/catalog/targetings/#{CGI.escape(key)}").with_json(targeting_form.to_json).put
2800
- ::Io::Flow::V0::Models::Targeting.new(r)
2801
- end
2802
-
2803
- def delete_by_key(organization, key)
2804
- HttpClient::Preconditions.assert_class('organization', organization, String)
2805
- HttpClient::Preconditions.assert_class('key', key, String)
2806
- r = @client.request("/#{CGI.escape(organization)}/catalog/targetings/#{CGI.escape(key)}").delete
2807
- nil
2808
- end
2809
-
2810
- end
2811
-
2812
- class TargetingItems
2813
-
2814
- def initialize(client)
2815
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2816
- end
2817
-
2818
- def get(organization, incoming={})
2819
- HttpClient::Preconditions.assert_class('organization', organization, String)
2820
- opts = HttpClient::Helper.symbolize_keys(incoming)
2821
- query = {
2822
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2823
- :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String)),
2824
- :item_number => (x = opts.delete(:item_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_number', x, Array).map { |v| HttpClient::Preconditions.assert_class('item_number', v, String) }),
2825
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2826
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2827
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2828
- }.delete_if { |k, v| v.nil? }
2829
- r = @client.request("/#{CGI.escape(organization)}/catalog/targeting-items").with_query(query).get
2830
- r.map { |x| ::Io::Flow::V0::Models::TargetingItem.new(x) }
2831
- end
2832
-
2833
- end
2834
-
2835
2698
  class OrganizationCurrencySettings
2836
2699
 
2837
2700
  def initialize(client)
@@ -3841,12 +3704,28 @@ module Io
3841
3704
  :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
3842
3705
  :latitude => (x = opts.delete(:latitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('latitude', x, String)),
3843
3706
  :longitude => (x = opts.delete(:longitude); x.nil? ? nil : HttpClient::Preconditions.assert_class('longitude', x, String)),
3844
- :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String))
3707
+ :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String)),
3708
+ :item_number => (x = opts.delete(:item_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_number', x, Array).map { |v| HttpClient::Preconditions.assert_class('item_number', v, String) }),
3709
+ :min_lead_days => (x = opts.delete(:min_lead_days); x.nil? ? nil : HttpClient::Preconditions.assert_class('min_lead_days', x, Integer)),
3710
+ :max_lead_days => (x = opts.delete(:max_lead_days); x.nil? ? nil : HttpClient::Preconditions.assert_class('max_lead_days', x, Integer))
3845
3711
  }.delete_if { |k, v| v.nil? }
3846
3712
  r = @client.request("/#{CGI.escape(organization)}/delivery-windows/summary").with_query(query).get
3847
3713
  ::Io::Flow::V0::Models::DeliveryWindow.new(r)
3848
3714
  end
3849
3715
 
3716
+ # Endpoint to request all delivery windows across multiple destinations.
3717
+ def get_summary_and_all(organization, incoming={})
3718
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3719
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3720
+ query = {
3721
+ :destination => (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, Array).map { |v| HttpClient::Preconditions.assert_class('destination', v, String) }),
3722
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3723
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
3724
+ }.delete_if { |k, v| v.nil? }
3725
+ r = @client.request("/#{CGI.escape(organization)}/delivery-windows/summary/all").with_query(query).get
3726
+ r.map { |x| ::Io::Flow::V0::Models::DeliveryWindowSummary.new(x) }
3727
+ end
3728
+
3850
3729
  end
3851
3730
 
3852
3731
  class DimensionEstimates
@@ -4403,84 +4282,6 @@ module Io
4403
4282
 
4404
4283
  end
4405
4284
 
4406
- class Serials
4407
-
4408
- def initialize(client)
4409
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
4410
- end
4411
-
4412
- def get(organization, incoming={})
4413
- HttpClient::Preconditions.assert_class('organization', organization, String)
4414
- opts = HttpClient::Helper.symbolize_keys(incoming)
4415
- query = {
4416
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
4417
- :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
4418
- :status => (x = opts.delete(:status); x.nil? ? nil : HttpClient::Preconditions.assert_class('status', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::SerialStatus) ? x : ::Io::Flow::V0::Models::SerialStatus.apply(x)).value }),
4419
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4420
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4421
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
4422
- }.delete_if { |k, v| v.nil? }
4423
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials").with_query(query).get
4424
- r.map { |x| ::Io::Flow::V0::Models::Serial.new(x) }
4425
- end
4426
-
4427
- def post(organization, serial_form)
4428
- HttpClient::Preconditions.assert_class('organization', organization, String)
4429
- (x = serial_form; x.is_a?(::Io::Flow::V0::Models::SerialForm) ? x : ::Io::Flow::V0::Models::SerialForm.new(x))
4430
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials").with_json(serial_form.to_json).post
4431
- ::Io::Flow::V0::Models::Serial.new(r)
4432
- end
4433
-
4434
- def get_prices_by_aggregate(organization, aggregate, incoming={})
4435
- HttpClient::Preconditions.assert_class('organization', organization, String)
4436
- (x = aggregate; x.is_a?(::Io::Flow::V0::Models::Aggregate) ? x : ::Io::Flow::V0::Models::Aggregate.apply(x))
4437
- opts = HttpClient::Helper.symbolize_keys(incoming)
4438
- query = {
4439
- :item_number => HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), Array).map { |v| HttpClient::Preconditions.assert_class('item_number', v, String) }
4440
- }.delete_if { |k, v| v.nil? }
4441
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials/prices/#{aggregate.value}").with_query(query).get
4442
- r.map { |x| ::Io::Flow::V0::Models::Serial.new(x) }
4443
- end
4444
-
4445
- # Provides visibility into recent changes of each object, including deletion
4446
- def get_versions(organization, incoming={})
4447
- HttpClient::Preconditions.assert_class('organization', organization, String)
4448
- opts = HttpClient::Helper.symbolize_keys(incoming)
4449
- query = {
4450
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
4451
- :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
4452
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4453
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4454
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
4455
- }.delete_if { |k, v| v.nil? }
4456
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials/versions").with_query(query).get
4457
- r.map { |x| ::Io::Flow::V0::Models::SerialVersion.new(x) }
4458
- end
4459
-
4460
- def get_by_number(organization, number)
4461
- HttpClient::Preconditions.assert_class('organization', organization, String)
4462
- HttpClient::Preconditions.assert_class('number', number, String)
4463
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials/#{CGI.escape(number)}").get
4464
- ::Io::Flow::V0::Models::Serial.new(r)
4465
- end
4466
-
4467
- def put_by_number(organization, number, serial_form)
4468
- HttpClient::Preconditions.assert_class('organization', organization, String)
4469
- HttpClient::Preconditions.assert_class('number', number, String)
4470
- (x = serial_form; x.is_a?(::Io::Flow::V0::Models::SerialForm) ? x : ::Io::Flow::V0::Models::SerialForm.new(x))
4471
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials/#{CGI.escape(number)}").with_json(serial_form.to_json).put
4472
- ::Io::Flow::V0::Models::Serial.new(r)
4473
- end
4474
-
4475
- def delete_by_number(organization, number)
4476
- HttpClient::Preconditions.assert_class('organization', organization, String)
4477
- HttpClient::Preconditions.assert_class('number', number, String)
4478
- r = @client.request("/#{CGI.escape(organization)}/inventory/serials/#{CGI.escape(number)}").delete
4479
- nil
4480
- end
4481
-
4482
- end
4483
-
4484
4285
  class ShippingConfigurations
4485
4286
 
4486
4287
  def initialize(client)
@@ -5371,6 +5172,54 @@ module Io
5371
5172
 
5372
5173
  end
5373
5174
 
5175
+ class AbandonedOrderSettings
5176
+
5177
+ def initialize(client)
5178
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
5179
+ end
5180
+
5181
+ def get(organization)
5182
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5183
+ r = @client.request("/#{CGI.escape(organization)}/marketing/abandoned/order/settings").get
5184
+ ::Io::Flow::V0::Models::AbandonedOrderSettings.new(r)
5185
+ end
5186
+
5187
+ def post(organization, incoming={})
5188
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5189
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5190
+ query = {
5191
+ :delay_time => HttpClient::Preconditions.assert_class('delay_time', (x = opts.delete(:delay_time); x.nil? ? 30 : x), Integer),
5192
+ :delay_unit => (x = (x = opts.delete(:delay_unit); x.nil? ? "minute" : x); x.is_a?(::Io::Flow::V0::Models::UnitOfTime) ? x : ::Io::Flow::V0::Models::UnitOfTime.apply(x)).value,
5193
+ :frequency_time => HttpClient::Preconditions.assert_class('frequency_time', (x = opts.delete(:frequency_time); x.nil? ? 24 : x), Integer),
5194
+ :frequency_unit => (x = (x = opts.delete(:frequency_unit); x.nil? ? "hour" : x); x.is_a?(::Io::Flow::V0::Models::UnitOfTime) ? x : ::Io::Flow::V0::Models::UnitOfTime.apply(x)).value,
5195
+ :status => (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::AbandonedOrderSettingStatus) ? x : ::Io::Flow::V0::Models::AbandonedOrderSettingStatus.apply(x)).value
5196
+ }.delete_if { |k, v| v.nil? }
5197
+ r = @client.request("/#{CGI.escape(organization)}/marketing/abandoned/order/settings").with_query(query).post
5198
+ ::Io::Flow::V0::Models::AbandonedOrderSettings.new(r)
5199
+ end
5200
+
5201
+ def put(organization, incoming={})
5202
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5203
+ opts = HttpClient::Helper.symbolize_keys(incoming)
5204
+ query = {
5205
+ :delay_time => HttpClient::Preconditions.assert_class('delay_time', opts.delete(:delay_time), Integer),
5206
+ :delay_unit => (x = opts.delete(:delay_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfTime) ? x : ::Io::Flow::V0::Models::UnitOfTime.apply(x)).value,
5207
+ :frequency_time => HttpClient::Preconditions.assert_class('frequency_time', opts.delete(:frequency_time), Integer),
5208
+ :frequency_unit => (x = opts.delete(:frequency_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfTime) ? x : ::Io::Flow::V0::Models::UnitOfTime.apply(x)).value,
5209
+ :status => (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::AbandonedOrderSettingStatus) ? x : ::Io::Flow::V0::Models::AbandonedOrderSettingStatus.apply(x)).value
5210
+ }.delete_if { |k, v| v.nil? }
5211
+ r = @client.request("/#{CGI.escape(organization)}/marketing/abandoned/order/settings").with_query(query).put
5212
+ ::Io::Flow::V0::Models::AbandonedOrderSettings.new(r)
5213
+ end
5214
+
5215
+ def delete(organization)
5216
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5217
+ r = @client.request("/#{CGI.escape(organization)}/marketing/abandoned/order/settings").delete
5218
+ nil
5219
+ end
5220
+
5221
+ end
5222
+
5374
5223
  class B2bCreditMemos
5375
5224
 
5376
5225
  def initialize(client)
@@ -5663,6 +5512,14 @@ module Io
5663
5512
  ::Io::Flow::V0::Models::Customer.new(r)
5664
5513
  end
5665
5514
 
5515
+ # Returns information about a specific customer.
5516
+ def get_customer_by_client_token(organization, client_token)
5517
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5518
+ HttpClient::Preconditions.assert_class('client_token', client_token, String)
5519
+ r = @client.request("/#{CGI.escape(organization)}/customers/#{CGI.escape(client_token)}/customer").get
5520
+ ::Io::Flow::V0::Models::Customer.new(r)
5521
+ end
5522
+
5666
5523
  # Returns information about a specific customer.
5667
5524
  def get_by_number(organization, number)
5668
5525
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -5784,6 +5641,33 @@ module Io
5784
5641
 
5785
5642
  end
5786
5643
 
5644
+ class CustomerPurgeSettings
5645
+
5646
+ def initialize(client)
5647
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
5648
+ end
5649
+
5650
+ def get(organization)
5651
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5652
+ r = @client.request("/#{CGI.escape(organization)}/customer/purge/settings").get
5653
+ ::Io::Flow::V0::Models::CustomerPurgeSettings.new(r)
5654
+ end
5655
+
5656
+ def put(organization, customer_purge_settings_form)
5657
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5658
+ (x = customer_purge_settings_form; x.is_a?(::Io::Flow::V0::Models::CustomerPurgeSettingsForm) ? x : ::Io::Flow::V0::Models::CustomerPurgeSettingsForm.new(x))
5659
+ r = @client.request("/#{CGI.escape(organization)}/customer/purge/settings").with_json(customer_purge_settings_form.to_json).put
5660
+ ::Io::Flow::V0::Models::CustomerPurgeSettings.new(r)
5661
+ end
5662
+
5663
+ def delete(organization)
5664
+ HttpClient::Preconditions.assert_class('organization', organization, String)
5665
+ r = @client.request("/#{CGI.escape(organization)}/customer/purge/settings").delete
5666
+ nil
5667
+ end
5668
+
5669
+ end
5670
+
5787
5671
  class CustomerTokens
5788
5672
 
5789
5673
  def initialize(client)
@@ -7647,6 +7531,8 @@ module Io
7647
7531
  ACH_AUTHORIZATION_FORM = 'ach_authorization_form' unless defined?(ACH_AUTHORIZATION_FORM)
7648
7532
  # Enables authorizations via card payment source.
7649
7533
  CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM = 'card_payment_source_authorization_form' unless defined?(CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
7534
+ # Enables authorization via an online payment (e.g. CryptoPay)
7535
+ ONLINE_PAYMENT_AUTHORIZATION_FORM = 'online_payment_authorization_form' unless defined?(ONLINE_PAYMENT_AUTHORIZATION_FORM)
7650
7536
  end
7651
7537
 
7652
7538
  attr_reader :discriminator
@@ -7658,7 +7544,7 @@ module Io
7658
7544
  end
7659
7545
 
7660
7546
  def subtype_to_hash
7661
- raise 'Cannot serialize an instance of authorization_form directly - must use one of the specific types: authorization_copy_form, direct_authorization_form, merchant_of_record_authorization_form, paypal_authorization_form, redirect_authorization_form, inline_authorization_form, ach_authorization_form, card_payment_source_authorization_form'
7547
+ raise 'Cannot serialize an instance of authorization_form directly - must use one of the specific types: authorization_copy_form, direct_authorization_form, merchant_of_record_authorization_form, paypal_authorization_form, redirect_authorization_form, inline_authorization_form, ach_authorization_form, card_payment_source_authorization_form, online_payment_authorization_form'
7662
7548
  end
7663
7549
 
7664
7550
  def to_hash
@@ -7680,6 +7566,7 @@ module Io
7680
7566
  when Types::INLINE_AUTHORIZATION_FORM; InlineAuthorizationForm.new(hash)
7681
7567
  when Types::ACH_AUTHORIZATION_FORM; AchAuthorizationForm.new(hash)
7682
7568
  when Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM; CardPaymentSourceAuthorizationForm.new(hash)
7569
+ when Types::ONLINE_PAYMENT_AUTHORIZATION_FORM; OnlinePaymentAuthorizationForm.new(hash)
7683
7570
  else AuthorizationFormUndefinedType.new(:discriminator => discriminator)
7684
7571
  end
7685
7572
  end
@@ -8406,6 +8293,66 @@ module Io
8406
8293
 
8407
8294
  end
8408
8295
 
8296
+ class DiscountRuleEntitlement
8297
+
8298
+ module Types
8299
+ DISCOUNT_RULE_SUBSIDY_ENTITLEMENT = 'subsidy' unless defined?(DISCOUNT_RULE_SUBSIDY_ENTITLEMENT)
8300
+ end
8301
+
8302
+ attr_reader :discriminator
8303
+
8304
+ def initialize(incoming={})
8305
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8306
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'DiscountRuleEntitlement')
8307
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8308
+ end
8309
+
8310
+ def subtype_to_hash
8311
+ raise 'Cannot serialize an instance of discount_rule_entitlement directly - must use one of the specific types: discount_rule_subsidy_entitlement'
8312
+ end
8313
+
8314
+ def to_hash
8315
+ subtype_to_hash.merge(:discriminator => @discriminator)
8316
+ end
8317
+
8318
+ def DiscountRuleEntitlement.from_json(hash)
8319
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
8320
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8321
+ if discriminator.empty?
8322
+ raise "Union type[discount_rule_entitlement] requires a field named 'discriminator'"
8323
+ end
8324
+ case discriminator
8325
+ when Types::DISCOUNT_RULE_SUBSIDY_ENTITLEMENT; DiscountRuleSubsidyEntitlement.new(hash)
8326
+ else DiscountRuleEntitlementUndefinedType.new(:discriminator => discriminator)
8327
+ end
8328
+ end
8329
+
8330
+ end
8331
+
8332
+ class DiscountRuleEntitlementUndefinedType < DiscountRuleEntitlement
8333
+
8334
+ attr_reader :name
8335
+
8336
+ def initialize(incoming={})
8337
+ super(:discriminator => 'undefined_type')
8338
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8339
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
8340
+ end
8341
+
8342
+ def subtype_to_hash
8343
+ raise 'Unable to serialize undefined type to json'
8344
+ end
8345
+
8346
+ def copy(incoming={})
8347
+ raise 'Operation not supported for undefined type'
8348
+ end
8349
+
8350
+ def to_hash
8351
+ raise 'Operation not supported for undefined type'
8352
+ end
8353
+
8354
+ end
8355
+
8409
8356
  class Document
8410
8357
 
8411
8358
  module Types
@@ -8472,6 +8419,7 @@ module Io
8472
8419
 
8473
8420
  module Types
8474
8421
  EMAIL_NOTIFICATION_DATA_REFUND = 'refund' unless defined?(EMAIL_NOTIFICATION_DATA_REFUND)
8422
+ EMAIL_NOTIFICATION_ABANDONED_ORDER = 'abandoned_order' unless defined?(EMAIL_NOTIFICATION_ABANDONED_ORDER)
8475
8423
  end
8476
8424
 
8477
8425
  attr_reader :discriminator
@@ -8483,7 +8431,7 @@ module Io
8483
8431
  end
8484
8432
 
8485
8433
  def subtype_to_hash
8486
- raise 'Cannot serialize an instance of email_notification_data directly - must use one of the specific types: email_notification_data_refund'
8434
+ raise 'Cannot serialize an instance of email_notification_data directly - must use one of the specific types: email_notification_data_refund, email_notification_abandoned_order'
8487
8435
  end
8488
8436
 
8489
8437
  def to_hash
@@ -8498,6 +8446,7 @@ module Io
8498
8446
  end
8499
8447
  case discriminator
8500
8448
  when Types::EMAIL_NOTIFICATION_DATA_REFUND; EmailNotificationDataRefund.new(hash)
8449
+ when Types::EMAIL_NOTIFICATION_ABANDONED_ORDER; EmailNotificationAbandonedOrder.new(hash)
8501
8450
  else EmailNotificationDataUndefinedType.new(:discriminator => discriminator)
8502
8451
  end
8503
8452
  end
@@ -8621,11 +8570,11 @@ module Io
8621
8570
  FULLY_HARMONIZED_ITEM_UPSERTED = 'fully_harmonized_item_upserted' unless defined?(FULLY_HARMONIZED_ITEM_UPSERTED)
8622
8571
  RULE_UPSERTED = 'rule_upserted' unless defined?(RULE_UPSERTED)
8623
8572
  RULE_DELETED = 'rule_deleted' unless defined?(RULE_DELETED)
8624
- SERIAL_UPSERTED = 'serial_upserted' unless defined?(SERIAL_UPSERTED)
8625
- SERIAL_DELETED = 'serial_deleted' unless defined?(SERIAL_DELETED)
8626
8573
  SNAPSHOT_UPSERTED = 'snapshot_upserted' unless defined?(SNAPSHOT_UPSERTED)
8627
8574
  SNAPSHOT_DELETED = 'snapshot_deleted' unless defined?(SNAPSHOT_DELETED)
8628
8575
  LABEL_UPSERTED = 'label_upserted' unless defined?(LABEL_UPSERTED)
8576
+ LABEL_DELETED_V2 = 'label_deleted_v2' unless defined?(LABEL_DELETED_V2)
8577
+ LABEL_UPSERTED_V2 = 'label_upserted_v2' unless defined?(LABEL_UPSERTED_V2)
8629
8578
  NOTIFICATION_UPSERTED = 'notification_upserted' unless defined?(NOTIFICATION_UPSERTED)
8630
8579
  NOTIFICATION_DELETED = 'notification_deleted' unless defined?(NOTIFICATION_DELETED)
8631
8580
  MANIFESTED_LABEL_UPSERTED = 'manifested_label_upserted' unless defined?(MANIFESTED_LABEL_UPSERTED)
@@ -8692,10 +8641,6 @@ module Io
8692
8641
  RETURN_DELETED = 'return_deleted' unless defined?(RETURN_DELETED)
8693
8642
  SHOPIFY_LOCALIZATION_SETTING_UPSERTED = 'shopify_localization_setting_upserted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_UPSERTED)
8694
8643
  SHOPIFY_LOCALIZATION_SETTING_DELETED = 'shopify_localization_setting_deleted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_DELETED)
8695
- TARGETING_ITEM_UPSERTED = 'targeting_item_upserted' unless defined?(TARGETING_ITEM_UPSERTED)
8696
- TARGETING_ITEM_UPSERTED_V2 = 'targeting_item_upserted_v2' unless defined?(TARGETING_ITEM_UPSERTED_V2)
8697
- TARGETING_ITEM_DELETED = 'targeting_item_deleted' unless defined?(TARGETING_ITEM_DELETED)
8698
- TARGETING_ITEM_DELETED_V3 = 'targeting_item_deleted_v3' unless defined?(TARGETING_ITEM_DELETED_V3)
8699
8644
  TRACKING_LABEL_EVENT_UPSERTED = 'tracking_label_event_upserted' unless defined?(TRACKING_LABEL_EVENT_UPSERTED)
8700
8645
  end
8701
8646
 
@@ -8708,7 +8653,7 @@ module Io
8708
8653
  end
8709
8654
 
8710
8655
  def subtype_to_hash
8711
- 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, serial_upserted, serial_deleted, snapshot_upserted, snapshot_deleted, label_upserted, 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, targeting_item_upserted, targeting_item_upserted_v2, targeting_item_deleted, targeting_item_deleted_v3, tracking_label_event_upserted'
8656
+ 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'
8712
8657
  end
8713
8658
 
8714
8659
  def to_hash
@@ -8812,11 +8757,11 @@ module Io
8812
8757
  when Types::FULLY_HARMONIZED_ITEM_UPSERTED; FullyHarmonizedItemUpserted.new(hash)
8813
8758
  when Types::RULE_UPSERTED; RuleUpserted.new(hash)
8814
8759
  when Types::RULE_DELETED; RuleDeleted.new(hash)
8815
- when Types::SERIAL_UPSERTED; SerialUpserted.new(hash)
8816
- when Types::SERIAL_DELETED; SerialDeleted.new(hash)
8817
8760
  when Types::SNAPSHOT_UPSERTED; SnapshotUpserted.new(hash)
8818
8761
  when Types::SNAPSHOT_DELETED; SnapshotDeleted.new(hash)
8819
8762
  when Types::LABEL_UPSERTED; LabelUpserted.new(hash)
8763
+ when Types::LABEL_DELETED_V2; LabelDeletedV2.new(hash)
8764
+ when Types::LABEL_UPSERTED_V2; LabelUpsertedV2.new(hash)
8820
8765
  when Types::NOTIFICATION_UPSERTED; NotificationUpserted.new(hash)
8821
8766
  when Types::NOTIFICATION_DELETED; NotificationDeleted.new(hash)
8822
8767
  when Types::MANIFESTED_LABEL_UPSERTED; ManifestedLabelUpserted.new(hash)
@@ -8880,10 +8825,6 @@ module Io
8880
8825
  when Types::RETURN_DELETED; ReturnDeleted.new(hash)
8881
8826
  when Types::SHOPIFY_LOCALIZATION_SETTING_UPSERTED; ShopifyLocalizationSettingUpserted.new(hash)
8882
8827
  when Types::SHOPIFY_LOCALIZATION_SETTING_DELETED; ShopifyLocalizationSettingDeleted.new(hash)
8883
- when Types::TARGETING_ITEM_UPSERTED; TargetingItemUpserted.new(hash)
8884
- when Types::TARGETING_ITEM_UPSERTED_V2; TargetingItemUpsertedV2.new(hash)
8885
- when Types::TARGETING_ITEM_DELETED; TargetingItemDeleted.new(hash)
8886
- when Types::TARGETING_ITEM_DELETED_V3; TargetingItemDeletedV3.new(hash)
8887
8828
  when Types::TRACKING_LABEL_EVENT_UPSERTED; TrackingLabelEventUpserted.new(hash)
8888
8829
  else EventUndefinedType.new(:discriminator => discriminator)
8889
8830
  end
@@ -9436,6 +9377,7 @@ module Io
9436
9377
  SOLIDUS_PRODUCT_EXPORT_TYPE = 'solidus_product_export_type' unless defined?(SOLIDUS_PRODUCT_EXPORT_TYPE)
9437
9378
  SOLIDUS_VARIANT_EXPORT_TYPE = 'solidus_variant_export_type' unless defined?(SOLIDUS_VARIANT_EXPORT_TYPE)
9438
9379
  LOCALIZED_ITEM_PRICES_EXPORT_TYPE = 'localized_item_prices_export_type' unless defined?(LOCALIZED_ITEM_PRICES_EXPORT_TYPE)
9380
+ MARKETING_FEEDS_EXPORT_TYPE = 'marketing_feeds_export_type' unless defined?(MARKETING_FEEDS_EXPORT_TYPE)
9439
9381
  end
9440
9382
 
9441
9383
  attr_reader :discriminator
@@ -9447,7 +9389,7 @@ module Io
9447
9389
  end
9448
9390
 
9449
9391
  def subtype_to_hash
9450
- raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, analytics_export_type, catalog_item_export_type, experience_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, unharmonized_item_export_type, harmonization_landed_cost_export_type, order_export_type, price_book_item_export_type, solidus_product_export_type, solidus_variant_export_type, localized_item_prices_export_type'
9392
+ raise 'Cannot serialize an instance of export_type directly - must use one of the specific types: account_transactions_export_type, account_orders_export_type, analytics_export_type, catalog_item_export_type, experience_export_type, harmonization_overview_export_type, harmonization_hs6_export_type, harmonization_hs10_export_type, unharmonized_item_export_type, harmonization_landed_cost_export_type, order_export_type, price_book_item_export_type, solidus_product_export_type, solidus_variant_export_type, localized_item_prices_export_type, marketing_feeds_export_type'
9451
9393
  end
9452
9394
 
9453
9395
  def to_hash
@@ -9476,6 +9418,7 @@ module Io
9476
9418
  when Types::SOLIDUS_PRODUCT_EXPORT_TYPE; SolidusProductExportType.new(hash)
9477
9419
  when Types::SOLIDUS_VARIANT_EXPORT_TYPE; SolidusVariantExportType.new(hash)
9478
9420
  when Types::LOCALIZED_ITEM_PRICES_EXPORT_TYPE; LocalizedItemPricesExportType.new(hash)
9421
+ when Types::MARKETING_FEEDS_EXPORT_TYPE; MarketingFeedsExportType.new(hash)
9479
9422
  else ExportTypeUndefinedType.new(:discriminator => discriminator)
9480
9423
  end
9481
9424
  end
@@ -9959,6 +9902,7 @@ module Io
9959
9902
  class OnlineAuthorizationDetails
9960
9903
 
9961
9904
  module Types
9905
+ CRYPTOPAY_AUTHORIZATION_DETAILS = 'cryptopay_authorization_details' unless defined?(CRYPTOPAY_AUTHORIZATION_DETAILS)
9962
9906
  PAYPAL_AUTHORIZATION_DETAILS = 'paypal_authorization_details' unless defined?(PAYPAL_AUTHORIZATION_DETAILS)
9963
9907
  REDIRECT_AUTHORIZATION_DETAILS = 'redirect_authorization_details' unless defined?(REDIRECT_AUTHORIZATION_DETAILS)
9964
9908
  INLINE_AUTHORIZATION_DETAILS = 'inline_authorization_details' unless defined?(INLINE_AUTHORIZATION_DETAILS)
@@ -9973,7 +9917,7 @@ module Io
9973
9917
  end
9974
9918
 
9975
9919
  def subtype_to_hash
9976
- raise 'Cannot serialize an instance of online_authorization_details directly - must use one of the specific types: paypal_authorization_details, redirect_authorization_details, inline_authorization_details'
9920
+ raise 'Cannot serialize an instance of online_authorization_details directly - must use one of the specific types: cryptopay_authorization_details, paypal_authorization_details, redirect_authorization_details, inline_authorization_details'
9977
9921
  end
9978
9922
 
9979
9923
  def to_hash
@@ -9987,6 +9931,7 @@ module Io
9987
9931
  raise "Union type[online_authorization_details] requires a field named 'discriminator'"
9988
9932
  end
9989
9933
  case discriminator
9934
+ when Types::CRYPTOPAY_AUTHORIZATION_DETAILS; CryptopayAuthorizationDetails.new(hash)
9990
9935
  when Types::PAYPAL_AUTHORIZATION_DETAILS; PaypalAuthorizationDetails.new(hash)
9991
9936
  when Types::REDIRECT_AUTHORIZATION_DETAILS; RedirectAuthorizationDetails.new(hash)
9992
9937
  when Types::INLINE_AUTHORIZATION_DETAILS; InlineAuthorizationDetails.new(hash)
@@ -10273,6 +10218,7 @@ module Io
10273
10218
 
10274
10219
  module Types
10275
10220
  PAYMENT_PAYPAL = 'payment_paypal' unless defined?(PAYMENT_PAYPAL)
10221
+ PAYMENT_CRYPTOPAY = 'payment_cryptopay' unless defined?(PAYMENT_CRYPTOPAY)
10276
10222
  end
10277
10223
 
10278
10224
  attr_reader :discriminator
@@ -10284,7 +10230,7 @@ module Io
10284
10230
  end
10285
10231
 
10286
10232
  def subtype_to_hash
10287
- raise 'Cannot serialize an instance of payment directly - must use one of the specific types: payment_paypal'
10233
+ raise 'Cannot serialize an instance of payment directly - must use one of the specific types: payment_paypal, payment_cryptopay'
10288
10234
  end
10289
10235
 
10290
10236
  def to_hash
@@ -10299,6 +10245,7 @@ module Io
10299
10245
  end
10300
10246
  case discriminator
10301
10247
  when Types::PAYMENT_PAYPAL; PaymentPaypal.new(hash)
10248
+ when Types::PAYMENT_CRYPTOPAY; PaymentCryptopay.new(hash)
10302
10249
  else PaymentUndefinedType.new(:discriminator => discriminator)
10303
10250
  end
10304
10251
  end
@@ -11014,6 +10961,7 @@ module Io
11014
10961
  RETURN_PACKAGE_RATECARD_FEE = 'return_package_ratecard_fee' unless defined?(RETURN_PACKAGE_RATECARD_FEE)
11015
10962
  CROSSDOCK_RATECARD_FEE = 'crossdock_ratecard_fee' unless defined?(CROSSDOCK_RATECARD_FEE)
11016
10963
  REMOTE_AREA_RATECARD_FEE = 'remote_area_ratecard_fee' unless defined?(REMOTE_AREA_RATECARD_FEE)
10964
+ EMERGENCY_SITUATION_SURCHARGE_RATECARD_FEE = 'emergency_situation_surcharge_ratecard_fee' unless defined?(EMERGENCY_SITUATION_SURCHARGE_RATECARD_FEE)
11017
10965
  end
11018
10966
 
11019
10967
  attr_reader :discriminator
@@ -11025,7 +10973,7 @@ module Io
11025
10973
  end
11026
10974
 
11027
10975
  def subtype_to_hash
11028
- raise 'Cannot serialize an instance of ratecard_fee directly - must use one of the specific types: ddp_ratecard_fee, fuel_surcharge_ratecard_fee, oversized_shipment_ratecard_fee, return_package_ratecard_fee, crossdock_ratecard_fee, remote_area_ratecard_fee'
10976
+ raise 'Cannot serialize an instance of ratecard_fee directly - must use one of the specific types: ddp_ratecard_fee, fuel_surcharge_ratecard_fee, oversized_shipment_ratecard_fee, return_package_ratecard_fee, crossdock_ratecard_fee, remote_area_ratecard_fee, emergency_situation_surcharge_ratecard_fee'
11029
10977
  end
11030
10978
 
11031
10979
  def to_hash
@@ -11045,6 +10993,7 @@ module Io
11045
10993
  when Types::RETURN_PACKAGE_RATECARD_FEE; ReturnPackageRatecardFee.new(hash)
11046
10994
  when Types::CROSSDOCK_RATECARD_FEE; CrossdockRatecardFee.new(hash)
11047
10995
  when Types::REMOTE_AREA_RATECARD_FEE; RemoteAreaRatecardFee.new(hash)
10996
+ when Types::EMERGENCY_SITUATION_SURCHARGE_RATECARD_FEE; EmergencySituationSurchargeRatecardFee.new(hash)
11048
10997
  else RatecardFeeUndefinedType.new(:discriminator => discriminator)
11049
10998
  end
11050
10999
  end
@@ -11214,6 +11163,7 @@ module Io
11214
11163
  module Types
11215
11164
  FUEL_SURCHARGE_SERVICE_FEE = 'fuel_surcharge_service_fee' unless defined?(FUEL_SURCHARGE_SERVICE_FEE)
11216
11165
  REMOTE_AREA_SERVICE_FEE = 'remote_area_service_fee' unless defined?(REMOTE_AREA_SERVICE_FEE)
11166
+ EMERGENCY_SITUATION_SURCHARGE_SERVICE_FEE = 'emergency_situation_surcharge_service_fee' unless defined?(EMERGENCY_SITUATION_SURCHARGE_SERVICE_FEE)
11217
11167
  end
11218
11168
 
11219
11169
  attr_reader :discriminator
@@ -11225,7 +11175,7 @@ module Io
11225
11175
  end
11226
11176
 
11227
11177
  def subtype_to_hash
11228
- raise 'Cannot serialize an instance of service_fee directly - must use one of the specific types: fuel_surcharge_service_fee, remote_area_service_fee'
11178
+ raise 'Cannot serialize an instance of service_fee directly - must use one of the specific types: fuel_surcharge_service_fee, remote_area_service_fee, emergency_situation_surcharge_service_fee'
11229
11179
  end
11230
11180
 
11231
11181
  def to_hash
@@ -11241,6 +11191,7 @@ module Io
11241
11191
  case discriminator
11242
11192
  when Types::FUEL_SURCHARGE_SERVICE_FEE; FuelSurchargeServiceFee.new(hash)
11243
11193
  when Types::REMOTE_AREA_SERVICE_FEE; RemoteAreaServiceFee.new(hash)
11194
+ when Types::EMERGENCY_SITUATION_SURCHARGE_SERVICE_FEE; EmergencySituationSurchargeServiceFee.new(hash)
11244
11195
  else ServiceFeeUndefinedType.new(:discriminator => discriminator)
11245
11196
  end
11246
11197
  end
@@ -11959,6 +11910,48 @@ module Io
11959
11910
 
11960
11911
  end
11961
11912
 
11913
+ class AbandonedOrderSettingStatus
11914
+
11915
+ attr_reader :value
11916
+
11917
+ def initialize(value)
11918
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
11919
+ end
11920
+
11921
+ # Returns the instance of AbandonedOrderSettingStatus for this value, creating a new instance for an unknown value
11922
+ def AbandonedOrderSettingStatus.apply(value)
11923
+ if value.instance_of?(AbandonedOrderSettingStatus)
11924
+ value
11925
+ else
11926
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
11927
+ value.nil? ? nil : (from_string(value) || AbandonedOrderSettingStatus.new(value))
11928
+ end
11929
+ end
11930
+
11931
+ # Returns the instance of AbandonedOrderSettingStatus for this value, or nil if not found
11932
+ def AbandonedOrderSettingStatus.from_string(value)
11933
+ HttpClient::Preconditions.assert_class('value', value, String)
11934
+ AbandonedOrderSettingStatus.ALL.find { |v| v.value == value }
11935
+ end
11936
+
11937
+ def AbandonedOrderSettingStatus.ALL
11938
+ @@all ||= [AbandonedOrderSettingStatus.active, AbandonedOrderSettingStatus.inactive]
11939
+ end
11940
+
11941
+ def AbandonedOrderSettingStatus.active
11942
+ @@_active ||= AbandonedOrderSettingStatus.new('active')
11943
+ end
11944
+
11945
+ def AbandonedOrderSettingStatus.inactive
11946
+ @@_inactive ||= AbandonedOrderSettingStatus.new('inactive')
11947
+ end
11948
+
11949
+ def to_hash
11950
+ value
11951
+ end
11952
+
11953
+ end
11954
+
11962
11955
  class AdjustmentReasonKey
11963
11956
 
11964
11957
  attr_reader :value
@@ -12127,7 +12120,7 @@ module Io
12127
12120
  end
12128
12121
 
12129
12122
  def AttributeIntent.ALL
12130
- @@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.excluded_regions, AttributeIntent.facet]
12123
+ @@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]
12131
12124
  end
12132
12125
 
12133
12126
  # A brand name of the item (for retailers that sell multiple brands)
@@ -12197,12 +12190,6 @@ module Io
12197
12190
  @@_mpn ||= AttributeIntent.new('mpn')
12198
12191
  end
12199
12192
 
12200
- # A space separated list of the regions (as defined in
12201
- # https://api.flow.io/reference/regions) where the item must be excluded.
12202
- def AttributeIntent.excluded_regions
12203
- @@_excluded_regions ||= AttributeIntent.new('excluded_regions')
12204
- end
12205
-
12206
12193
  # Identifies a facet.
12207
12194
  def AttributeIntent.facet
12208
12195
  @@_facet ||= AttributeIntent.new('facet')
@@ -13818,7 +13805,7 @@ module Io
13818
13805
  end
13819
13806
 
13820
13807
  def DeliveryOptionCostDetailComponentKey.ALL
13821
- @@all ||= [DeliveryOptionCostDetailComponentKey.ratecard_base_cost, DeliveryOptionCostDetailComponentKey.ratecard_ddp_fee, DeliveryOptionCostDetailComponentKey.ratecard_fuel_surcharge, DeliveryOptionCostDetailComponentKey.ratecard_oversized_shipment_fee, DeliveryOptionCostDetailComponentKey.ratecard_rural_shipment_fee, DeliveryOptionCostDetailComponentKey.center_commercial_invoice_fee, DeliveryOptionCostDetailComponentKey.center_inbound_carton_fee, DeliveryOptionCostDetailComponentKey.center_outbound_carton_fee]
13808
+ @@all ||= [DeliveryOptionCostDetailComponentKey.ratecard_base_cost, DeliveryOptionCostDetailComponentKey.ratecard_ddp_fee, DeliveryOptionCostDetailComponentKey.ratecard_fuel_surcharge, DeliveryOptionCostDetailComponentKey.ratecard_oversized_shipment_fee, DeliveryOptionCostDetailComponentKey.ratecard_rural_shipment_fee, DeliveryOptionCostDetailComponentKey.ratecard_emergency_situation_surcharge_fee, DeliveryOptionCostDetailComponentKey.center_commercial_invoice_fee, DeliveryOptionCostDetailComponentKey.center_inbound_carton_fee, DeliveryOptionCostDetailComponentKey.center_outbound_carton_fee]
13822
13809
  end
13823
13810
 
13824
13811
  def DeliveryOptionCostDetailComponentKey.ratecard_base_cost
@@ -13841,6 +13828,10 @@ module Io
13841
13828
  @@_ratecard_rural_shipment_fee ||= DeliveryOptionCostDetailComponentKey.new('ratecard_rural_shipment_fee')
13842
13829
  end
13843
13830
 
13831
+ def DeliveryOptionCostDetailComponentKey.ratecard_emergency_situation_surcharge_fee
13832
+ @@_ratecard_emergency_situation_surcharge_fee ||= DeliveryOptionCostDetailComponentKey.new('ratecard_emergency_situation_surcharge_fee')
13833
+ end
13834
+
13844
13835
  def DeliveryOptionCostDetailComponentKey.center_commercial_invoice_fee
13845
13836
  @@_center_commercial_invoice_fee ||= DeliveryOptionCostDetailComponentKey.new('center_commercial_invoice_fee')
13846
13837
  end
@@ -14046,6 +14037,96 @@ module Io
14046
14037
 
14047
14038
  end
14048
14039
 
14040
+ class DiscountRuleStatus
14041
+
14042
+ attr_reader :value
14043
+
14044
+ def initialize(value)
14045
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
14046
+ end
14047
+
14048
+ # Returns the instance of DiscountRuleStatus for this value, creating a new instance for an unknown value
14049
+ def DiscountRuleStatus.apply(value)
14050
+ if value.instance_of?(DiscountRuleStatus)
14051
+ value
14052
+ else
14053
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
14054
+ value.nil? ? nil : (from_string(value) || DiscountRuleStatus.new(value))
14055
+ end
14056
+ end
14057
+
14058
+ # Returns the instance of DiscountRuleStatus for this value, or nil if not found
14059
+ def DiscountRuleStatus.from_string(value)
14060
+ HttpClient::Preconditions.assert_class('value', value, String)
14061
+ DiscountRuleStatus.ALL.find { |v| v.value == value }
14062
+ end
14063
+
14064
+ def DiscountRuleStatus.ALL
14065
+ @@all ||= [DiscountRuleStatus.active, DiscountRuleStatus.scheduled, DiscountRuleStatus.expired]
14066
+ end
14067
+
14068
+ def DiscountRuleStatus.active
14069
+ @@_active ||= DiscountRuleStatus.new('active')
14070
+ end
14071
+
14072
+ def DiscountRuleStatus.scheduled
14073
+ @@_scheduled ||= DiscountRuleStatus.new('scheduled')
14074
+ end
14075
+
14076
+ def DiscountRuleStatus.expired
14077
+ @@_expired ||= DiscountRuleStatus.new('expired')
14078
+ end
14079
+
14080
+ def to_hash
14081
+ value
14082
+ end
14083
+
14084
+ end
14085
+
14086
+ class DiscountRuleSubsidyTarget
14087
+
14088
+ attr_reader :value
14089
+
14090
+ def initialize(value)
14091
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
14092
+ end
14093
+
14094
+ # Returns the instance of DiscountRuleSubsidyTarget for this value, creating a new instance for an unknown value
14095
+ def DiscountRuleSubsidyTarget.apply(value)
14096
+ if value.instance_of?(DiscountRuleSubsidyTarget)
14097
+ value
14098
+ else
14099
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
14100
+ value.nil? ? nil : (from_string(value) || DiscountRuleSubsidyTarget.new(value))
14101
+ end
14102
+ end
14103
+
14104
+ # Returns the instance of DiscountRuleSubsidyTarget for this value, or nil if not found
14105
+ def DiscountRuleSubsidyTarget.from_string(value)
14106
+ HttpClient::Preconditions.assert_class('value', value, String)
14107
+ DiscountRuleSubsidyTarget.ALL.find { |v| v.value == value }
14108
+ end
14109
+
14110
+ def DiscountRuleSubsidyTarget.ALL
14111
+ @@all ||= [DiscountRuleSubsidyTarget.vat, DiscountRuleSubsidyTarget.duty]
14112
+ end
14113
+
14114
+ # VAT subsidy
14115
+ def DiscountRuleSubsidyTarget.vat
14116
+ @@_vat ||= DiscountRuleSubsidyTarget.new('vat')
14117
+ end
14118
+
14119
+ # Duty subsidy
14120
+ def DiscountRuleSubsidyTarget.duty
14121
+ @@_duty ||= DiscountRuleSubsidyTarget.new('duty')
14122
+ end
14123
+
14124
+ def to_hash
14125
+ value
14126
+ end
14127
+
14128
+ end
14129
+
14049
14130
  class DiscountTarget
14050
14131
 
14051
14132
  attr_reader :value
@@ -14273,7 +14354,7 @@ module Io
14273
14354
  end
14274
14355
 
14275
14356
  def EventType.ALL
14276
- @@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.serial_upserted, EventType.serial_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, 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.targeting_item_upserted, EventType.targeting_item_upserted_v2, EventType.targeting_item_deleted, EventType.targeting_item_deleted_v3, EventType.tracking_label_event_upserted]
14357
+ @@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]
14277
14358
  end
14278
14359
 
14279
14360
  def EventType.attribute_upserted
@@ -14636,14 +14717,6 @@ module Io
14636
14717
  @@_rule_deleted ||= EventType.new('rule_deleted')
14637
14718
  end
14638
14719
 
14639
- def EventType.serial_upserted
14640
- @@_serial_upserted ||= EventType.new('serial_upserted')
14641
- end
14642
-
14643
- def EventType.serial_deleted
14644
- @@_serial_deleted ||= EventType.new('serial_deleted')
14645
- end
14646
-
14647
14720
  def EventType.snapshot_upserted
14648
14721
  @@_snapshot_upserted ||= EventType.new('snapshot_upserted')
14649
14722
  end
@@ -14656,6 +14729,14 @@ module Io
14656
14729
  @@_label_upserted ||= EventType.new('label_upserted')
14657
14730
  end
14658
14731
 
14732
+ def EventType.label_deleted_v2
14733
+ @@_label_deleted_v2 ||= EventType.new('label_deleted_v2')
14734
+ end
14735
+
14736
+ def EventType.label_upserted_v2
14737
+ @@_label_upserted_v2 ||= EventType.new('label_upserted_v2')
14738
+ end
14739
+
14659
14740
  def EventType.notification_upserted
14660
14741
  @@_notification_upserted ||= EventType.new('notification_upserted')
14661
14742
  end
@@ -14908,22 +14989,6 @@ module Io
14908
14989
  @@_shopify_localization_setting_deleted ||= EventType.new('shopify_localization_setting_deleted')
14909
14990
  end
14910
14991
 
14911
- def EventType.targeting_item_upserted
14912
- @@_targeting_item_upserted ||= EventType.new('targeting_item_upserted')
14913
- end
14914
-
14915
- def EventType.targeting_item_upserted_v2
14916
- @@_targeting_item_upserted_v2 ||= EventType.new('targeting_item_upserted_v2')
14917
- end
14918
-
14919
- def EventType.targeting_item_deleted
14920
- @@_targeting_item_deleted ||= EventType.new('targeting_item_deleted')
14921
- end
14922
-
14923
- def EventType.targeting_item_deleted_v3
14924
- @@_targeting_item_deleted_v3 ||= EventType.new('targeting_item_deleted_v3')
14925
- end
14926
-
14927
14992
  def EventType.tracking_label_event_upserted
14928
14993
  @@_tracking_label_event_upserted ||= EventType.new('tracking_label_event_upserted')
14929
14994
  end
@@ -15905,7 +15970,7 @@ module Io
15905
15970
  end
15906
15971
 
15907
15972
  def ImportType.ALL
15908
- @@all ||= [ImportType.catalog_items, ImportType.customs_descriptions, ImportType.customs_description_tariffs, ImportType.experiences_with_settings, ImportType.harmonization_codes, ImportType.item_form_overlays, ImportType.price_book_items, ImportType.price_book_items_query, ImportType.ratecard_lanes, ImportType.order_service_changes]
15973
+ @@all ||= [ImportType.catalog_items, ImportType.customs_descriptions, ImportType.customs_description_tariffs, ImportType.experiences_with_settings, ImportType.harmonization_codes, ImportType.item_prices, ImportType.item_form_overlays, ImportType.price_book_items, ImportType.price_book_items_query, ImportType.ratecard_lanes, ImportType.order_service_changes]
15909
15974
  end
15910
15975
 
15911
15976
  # Provides bulk upsert of items into an organization's catalog.
@@ -15934,6 +15999,13 @@ module Io
15934
15999
  @@_harmonization_codes ||= ImportType.new('harmonization_codes')
15935
16000
  end
15936
16001
 
16002
+ # Provides bulk upsert of item pricing into an organization's catalog, updating
16003
+ # only the prices and associated price attributes while preserving all other
16004
+ # item information.
16005
+ def ImportType.item_prices
16006
+ @@_item_prices ||= ImportType.new('item_prices')
16007
+ end
16008
+
15937
16009
  # Item form overlays allow you to upload additional catalog item information
15938
16010
  # that will be applied to each catalog item, even if you later modify the item.
15939
16011
  # You can think of this import as providing catalog item data that will be
@@ -17190,7 +17262,7 @@ module Io
17190
17262
  end
17191
17263
 
17192
17264
  def OrderPriceDetailComponentKey.ALL
17193
- @@all ||= [OrderPriceDetailComponentKey.adjustment, OrderPriceDetailComponentKey.vat_deminimis, OrderPriceDetailComponentKey.duty_deminimis, OrderPriceDetailComponentKey.duties_item_price, OrderPriceDetailComponentKey.duties_freight, OrderPriceDetailComponentKey.duties_insurance, OrderPriceDetailComponentKey.vat_item_price, OrderPriceDetailComponentKey.vat_freight, OrderPriceDetailComponentKey.vat_insurance, OrderPriceDetailComponentKey.vat_duties_item_price, OrderPriceDetailComponentKey.vat_duties_freight, OrderPriceDetailComponentKey.vat_duties_insurance, OrderPriceDetailComponentKey.item_price, OrderPriceDetailComponentKey.item_discount, OrderPriceDetailComponentKey.rounding, OrderPriceDetailComponentKey.insurance, OrderPriceDetailComponentKey.shipping, OrderPriceDetailComponentKey.order_discount, OrderPriceDetailComponentKey.subtotal_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_vat_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_duty_percent_sales_margin, OrderPriceDetailComponentKey.vat_subsidy, OrderPriceDetailComponentKey.duty_subsidy, OrderPriceDetailComponentKey.remote_area_surcharge, OrderPriceDetailComponentKey.fuel_surcharge]
17265
+ @@all ||= [OrderPriceDetailComponentKey.adjustment, OrderPriceDetailComponentKey.vat_deminimis, OrderPriceDetailComponentKey.duty_deminimis, OrderPriceDetailComponentKey.duties_item_price, OrderPriceDetailComponentKey.duties_freight, OrderPriceDetailComponentKey.duties_insurance, OrderPriceDetailComponentKey.vat_item_price, OrderPriceDetailComponentKey.vat_freight, OrderPriceDetailComponentKey.vat_insurance, OrderPriceDetailComponentKey.vat_duties_item_price, OrderPriceDetailComponentKey.vat_duties_freight, OrderPriceDetailComponentKey.vat_duties_insurance, OrderPriceDetailComponentKey.item_price, OrderPriceDetailComponentKey.item_discount, OrderPriceDetailComponentKey.rounding, OrderPriceDetailComponentKey.insurance, OrderPriceDetailComponentKey.shipping, OrderPriceDetailComponentKey.order_discount, OrderPriceDetailComponentKey.subtotal_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_vat_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_duty_percent_sales_margin, OrderPriceDetailComponentKey.vat_subsidy, OrderPriceDetailComponentKey.duty_subsidy, OrderPriceDetailComponentKey.remote_area_surcharge, OrderPriceDetailComponentKey.fuel_surcharge, OrderPriceDetailComponentKey.emergency_situation_surcharge]
17194
17266
  end
17195
17267
 
17196
17268
  # A general purpose adjustment applied to the order.
@@ -17330,6 +17402,12 @@ module Io
17330
17402
  @@_fuel_surcharge ||= OrderPriceDetailComponentKey.new('fuel_surcharge')
17331
17403
  end
17332
17404
 
17405
+ # Surcharge applied to a shipment during emergency circumstances, such as
17406
+ # covid19.
17407
+ def OrderPriceDetailComponentKey.emergency_situation_surcharge
17408
+ @@_emergency_situation_surcharge ||= OrderPriceDetailComponentKey.new('emergency_situation_surcharge')
17409
+ end
17410
+
17333
17411
  def to_hash
17334
17412
  value
17335
17413
  end
@@ -18373,50 +18451,6 @@ module Io
18373
18451
 
18374
18452
  end
18375
18453
 
18376
- class QueryType
18377
-
18378
- attr_reader :value
18379
-
18380
- def initialize(value)
18381
- @value = HttpClient::Preconditions.assert_class('value', value, String)
18382
- end
18383
-
18384
- # Returns the instance of QueryType for this value, creating a new instance for an unknown value
18385
- def QueryType.apply(value)
18386
- if value.instance_of?(QueryType)
18387
- value
18388
- else
18389
- HttpClient::Preconditions.assert_class_or_nil('value', value, String)
18390
- value.nil? ? nil : (from_string(value) || QueryType.new(value))
18391
- end
18392
- end
18393
-
18394
- # Returns the instance of QueryType for this value, or nil if not found
18395
- def QueryType.from_string(value)
18396
- HttpClient::Preconditions.assert_class('value', value, String)
18397
- QueryType.ALL.find { |v| v.value == value }
18398
- end
18399
-
18400
- def QueryType.ALL
18401
- @@all ||= [QueryType.exclusion, QueryType.inclusion]
18402
- end
18403
-
18404
- # Exclude items satisfied by the associated query
18405
- def QueryType.exclusion
18406
- @@_exclusion ||= QueryType.new('exclusion')
18407
- end
18408
-
18409
- # Include items satisfied by the associated query
18410
- def QueryType.inclusion
18411
- @@_inclusion ||= QueryType.new('inclusion')
18412
- end
18413
-
18414
- def to_hash
18415
- value
18416
- end
18417
-
18418
- end
18419
-
18420
18454
  class QuoteErrorCode
18421
18455
 
18422
18456
  attr_reader :value
@@ -19011,52 +19045,6 @@ module Io
19011
19045
 
19012
19046
  end
19013
19047
 
19014
- class SerialStatus
19015
-
19016
- attr_reader :value
19017
-
19018
- def initialize(value)
19019
- @value = HttpClient::Preconditions.assert_class('value', value, String)
19020
- end
19021
-
19022
- # Returns the instance of SerialStatus for this value, creating a new instance for an unknown value
19023
- def SerialStatus.apply(value)
19024
- if value.instance_of?(SerialStatus)
19025
- value
19026
- else
19027
- HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19028
- value.nil? ? nil : (from_string(value) || SerialStatus.new(value))
19029
- end
19030
- end
19031
-
19032
- # Returns the instance of SerialStatus for this value, or nil if not found
19033
- def SerialStatus.from_string(value)
19034
- HttpClient::Preconditions.assert_class('value', value, String)
19035
- SerialStatus.ALL.find { |v| v.value == value }
19036
- end
19037
-
19038
- def SerialStatus.ALL
19039
- @@all ||= [SerialStatus.available, SerialStatus.reserved, SerialStatus.sold]
19040
- end
19041
-
19042
- def SerialStatus.available
19043
- @@_available ||= SerialStatus.new('available')
19044
- end
19045
-
19046
- def SerialStatus.reserved
19047
- @@_reserved ||= SerialStatus.new('reserved')
19048
- end
19049
-
19050
- def SerialStatus.sold
19051
- @@_sold ||= SerialStatus.new('sold')
19052
- end
19053
-
19054
- def to_hash
19055
- value
19056
- end
19057
-
19058
- end
19059
-
19060
19048
  class ShipmentIntegrationType
19061
19049
 
19062
19050
  attr_reader :value
@@ -19747,6 +19735,51 @@ module Io
19747
19735
 
19748
19736
  end
19749
19737
 
19738
+ class TierAvailability
19739
+
19740
+ attr_reader :value
19741
+
19742
+ def initialize(value)
19743
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
19744
+ end
19745
+
19746
+ # Returns the instance of TierAvailability for this value, creating a new instance for an unknown value
19747
+ def TierAvailability.apply(value)
19748
+ if value.instance_of?(TierAvailability)
19749
+ value
19750
+ else
19751
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19752
+ value.nil? ? nil : (from_string(value) || TierAvailability.new(value))
19753
+ end
19754
+ end
19755
+
19756
+ # Returns the instance of TierAvailability for this value, or nil if not found
19757
+ def TierAvailability.from_string(value)
19758
+ HttpClient::Preconditions.assert_class('value', value, String)
19759
+ TierAvailability.ALL.find { |v| v.value == value }
19760
+ end
19761
+
19762
+ def TierAvailability.ALL
19763
+ @@all ||= [TierAvailability.always, TierAvailability.backup]
19764
+ end
19765
+
19766
+ # The tier will always be considered to be offered for a customer order shipment
19767
+ def TierAvailability.always
19768
+ @@_always ||= TierAvailability.new('always')
19769
+ end
19770
+
19771
+ # Indicates that a tier should only be offered as a shipping option when
19772
+ # `always` tiers are not available
19773
+ def TierAvailability.backup
19774
+ @@_backup ||= TierAvailability.new('backup')
19775
+ end
19776
+
19777
+ def to_hash
19778
+ value
19779
+ end
19780
+
19781
+ end
19782
+
19750
19783
  class TierEstimateType
19751
19784
 
19752
19785
  attr_reader :value
@@ -20463,6 +20496,62 @@ module Io
20463
20496
 
20464
20497
  end
20465
20498
 
20499
+ class AbandonedOrderEmailSettings
20500
+
20501
+ attr_reader :delay, :frequency
20502
+
20503
+ def initialize(incoming={})
20504
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20505
+ HttpClient::Preconditions.require_keys(opts, [:delay, :frequency], 'AbandonedOrderEmailSettings')
20506
+ @delay = (x = opts.delete(:delay); x.is_a?(::Io::Flow::V0::Models::Duration) ? x : ::Io::Flow::V0::Models::Duration.new(x))
20507
+ @frequency = (x = opts.delete(:frequency); x.is_a?(::Io::Flow::V0::Models::Duration) ? x : ::Io::Flow::V0::Models::Duration.new(x))
20508
+ end
20509
+
20510
+ def to_json
20511
+ JSON.dump(to_hash)
20512
+ end
20513
+
20514
+ def copy(incoming={})
20515
+ AbandonedOrderEmailSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20516
+ end
20517
+
20518
+ def to_hash
20519
+ {
20520
+ :delay => delay.to_hash,
20521
+ :frequency => frequency.to_hash
20522
+ }
20523
+ end
20524
+
20525
+ end
20526
+
20527
+ class AbandonedOrderSettings
20528
+
20529
+ attr_reader :email_settings, :status
20530
+
20531
+ def initialize(incoming={})
20532
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20533
+ HttpClient::Preconditions.require_keys(opts, [:email_settings, :status], 'AbandonedOrderSettings')
20534
+ @email_settings = (x = opts.delete(:email_settings); x.is_a?(::Io::Flow::V0::Models::AbandonedOrderEmailSettings) ? x : ::Io::Flow::V0::Models::AbandonedOrderEmailSettings.new(x))
20535
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::AbandonedOrderSettingStatus) ? x : ::Io::Flow::V0::Models::AbandonedOrderSettingStatus.apply(x))
20536
+ end
20537
+
20538
+ def to_json
20539
+ JSON.dump(to_hash)
20540
+ end
20541
+
20542
+ def copy(incoming={})
20543
+ AbandonedOrderSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20544
+ end
20545
+
20546
+ def to_hash
20547
+ {
20548
+ :email_settings => email_settings.to_hash,
20549
+ :status => status.value
20550
+ }
20551
+ end
20552
+
20553
+ end
20554
+
20466
20555
  class AccountOrdersExportType < ExportType
20467
20556
 
20468
20557
  attr_reader :statement_id, :transaction_summary_id, :transaction_created_from, :transaction_created_to, :transaction_created_on_or_after, :transaction_created_after, :transaction_created_on_or_before, :transaction_created_before, :transaction_posted_from, :transaction_posted_to, :transaction_posted_on_or_after, :transaction_posted_after, :transaction_posted_on_or_before, :transaction_posted_before
@@ -22648,7 +22737,7 @@ module Io
22648
22737
  # (e.g. Flow purchasing inventory to resell to a consumer).
22649
22738
  class B2bInvoice
22650
22739
 
22651
- attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes
22740
+ attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes, :estimated_delivery_date
22652
22741
 
22653
22742
  def initialize(incoming={})
22654
22743
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -22668,6 +22757,7 @@ module Io
22668
22757
  @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)) }
22669
22758
  @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)) }
22670
22759
  @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 }
22760
+ @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))
22671
22761
  end
22672
22762
 
22673
22763
  def to_json
@@ -22694,7 +22784,8 @@ module Io
22694
22784
  :tax => tax.to_hash,
22695
22785
  :lines => lines.map { |o| o.to_hash },
22696
22786
  :documents => documents.map { |o| o.to_hash },
22697
- :attributes => attributes
22787
+ :attributes => attributes,
22788
+ :estimated_delivery_date => estimated_delivery_date
22698
22789
  }
22699
22790
  end
22700
22791
 
@@ -25451,7 +25542,7 @@ module Io
25451
25542
  # order. This may represent either the full order or a partial fulfillment.
25452
25543
  class ConsumerInvoice
25453
25544
 
25454
- attr_reader :id, :number, :status, :date, :key, :order, :entity, :payments, :center, :destination, :billing_address, :lines, :documents, :attributes, :tax_registration, :customer_type
25545
+ attr_reader :id, :number, :status, :date, :key, :order, :entity, :payments, :center, :destination, :billing_address, :lines, :documents, :attributes, :tax_registration, :customer_type, :estimated_delivery_date
25455
25546
 
25456
25547
  def initialize(incoming={})
25457
25548
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -25472,6 +25563,7 @@ module Io
25472
25563
  @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 }
25473
25564
  @tax_registration = (x = opts.delete(:tax_registration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TaxRegistration) ? x : ::Io::Flow::V0::Models::TaxRegistration.new(x)))
25474
25565
  @customer_type = (x = opts.delete(:customer_type); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceCustomerType) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceCustomerType.apply(x)))
25566
+ @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))
25475
25567
  end
25476
25568
 
25477
25569
  def to_json
@@ -25499,7 +25591,8 @@ module Io
25499
25591
  :documents => documents.map { |o| o.to_hash },
25500
25592
  :attributes => attributes,
25501
25593
  :tax_registration => tax_registration.nil? ? nil : tax_registration.to_hash,
25502
- :customer_type => customer_type.nil? ? nil : customer_type.value
25594
+ :customer_type => customer_type.nil? ? nil : customer_type.value,
25595
+ :estimated_delivery_date => estimated_delivery_date
25503
25596
  }
25504
25597
  end
25505
25598
 
@@ -26064,6 +26157,86 @@ module Io
26064
26157
 
26065
26158
  end
26066
26159
 
26160
+ class Context
26161
+
26162
+ attr_reader :id, :experiments
26163
+
26164
+ def initialize(incoming={})
26165
+ opts = HttpClient::Helper.symbolize_keys(incoming)
26166
+ HttpClient::Preconditions.require_keys(opts, [:id, :experiments], 'Context')
26167
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
26168
+ @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Experiment) ? x : ::Io::Flow::V0::Models::Experiment.new(x)) }
26169
+ end
26170
+
26171
+ def to_json
26172
+ JSON.dump(to_hash)
26173
+ end
26174
+
26175
+ def copy(incoming={})
26176
+ Context.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
26177
+ end
26178
+
26179
+ def to_hash
26180
+ {
26181
+ :id => id,
26182
+ :experiments => experiments.map { |o| o.to_hash }
26183
+ }
26184
+ end
26185
+
26186
+ end
26187
+
26188
+ class ContextForm
26189
+
26190
+ attr_reader :experiments
26191
+
26192
+ def initialize(incoming={})
26193
+ opts = HttpClient::Helper.symbolize_keys(incoming)
26194
+ HttpClient::Preconditions.require_keys(opts, [:experiments], 'ContextForm')
26195
+ @experiments = HttpClient::Preconditions.assert_class('experiments', opts.delete(:experiments), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Experiment) ? x : ::Io::Flow::V0::Models::Experiment.new(x)) }
26196
+ end
26197
+
26198
+ def to_json
26199
+ JSON.dump(to_hash)
26200
+ end
26201
+
26202
+ def copy(incoming={})
26203
+ ContextForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
26204
+ end
26205
+
26206
+ def to_hash
26207
+ {
26208
+ :experiments => experiments.map { |o| o.to_hash }
26209
+ }
26210
+ end
26211
+
26212
+ end
26213
+
26214
+ class ContextReference
26215
+
26216
+ attr_reader :id
26217
+
26218
+ def initialize(incoming={})
26219
+ opts = HttpClient::Helper.symbolize_keys(incoming)
26220
+ HttpClient::Preconditions.require_keys(opts, [:id], 'ContextReference')
26221
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
26222
+ end
26223
+
26224
+ def to_json
26225
+ JSON.dump(to_hash)
26226
+ end
26227
+
26228
+ def copy(incoming={})
26229
+ ContextReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
26230
+ end
26231
+
26232
+ def to_hash
26233
+ {
26234
+ :id => id
26235
+ }
26236
+ end
26237
+
26238
+ end
26239
+
26067
26240
  # ISO 3166 country codes. Note Flow APIs will accept either the 2 or 3 character
26068
26241
  # country code, but internally we normalize data and store as the 3 character,
26069
26242
  # upper case ISO code. See https://api.flow.io/reference/countries
@@ -26638,6 +26811,34 @@ module Io
26638
26811
 
26639
26812
  end
26640
26813
 
26814
+ # Represents online payment
26815
+ class CryptopayAuthorizationDetails < OnlineAuthorizationDetails
26816
+
26817
+ attr_reader :payment_id
26818
+
26819
+ def initialize(incoming={})
26820
+ super(:discriminator => OnlineAuthorizationDetails::Types::CRYPTOPAY_AUTHORIZATION_DETAILS)
26821
+ opts = HttpClient::Helper.symbolize_keys(incoming)
26822
+ HttpClient::Preconditions.require_keys(opts, [:payment_id], 'CryptopayAuthorizationDetails')
26823
+ @payment_id = HttpClient::Preconditions.assert_class('payment_id', opts.delete(:payment_id), String)
26824
+ end
26825
+
26826
+ def to_json
26827
+ JSON.dump(to_hash)
26828
+ end
26829
+
26830
+ def copy(incoming={})
26831
+ CryptopayAuthorizationDetails.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
26832
+ end
26833
+
26834
+ def subtype_to_hash
26835
+ {
26836
+ :payment_id => payment_id
26837
+ }
26838
+ end
26839
+
26840
+ end
26841
+
26641
26842
  # Represents the format used to export price book item documents
26642
26843
  class CsvPriceBookItemExportRow
26643
26844
 
@@ -27300,6 +27501,66 @@ module Io
27300
27501
 
27301
27502
  end
27302
27503
 
27504
+ # Represent settings for when to purge customer data
27505
+ class CustomerPurgeSettings
27506
+
27507
+ attr_reader :id, :days_until_purge_unused, :days_until_purge_used
27508
+
27509
+ def initialize(incoming={})
27510
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27511
+ HttpClient::Preconditions.require_keys(opts, [:id, :days_until_purge_unused, :days_until_purge_used], 'CustomerPurgeSettings')
27512
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
27513
+ @days_until_purge_unused = HttpClient::Preconditions.assert_class('days_until_purge_unused', opts.delete(:days_until_purge_unused), Integer)
27514
+ @days_until_purge_used = HttpClient::Preconditions.assert_class('days_until_purge_used', opts.delete(:days_until_purge_used), Integer)
27515
+ end
27516
+
27517
+ def to_json
27518
+ JSON.dump(to_hash)
27519
+ end
27520
+
27521
+ def copy(incoming={})
27522
+ CustomerPurgeSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27523
+ end
27524
+
27525
+ def to_hash
27526
+ {
27527
+ :id => id,
27528
+ :days_until_purge_unused => days_until_purge_unused,
27529
+ :days_until_purge_used => days_until_purge_used
27530
+ }
27531
+ end
27532
+
27533
+ end
27534
+
27535
+ # Represent settings for when to purge customer data
27536
+ class CustomerPurgeSettingsForm
27537
+
27538
+ attr_reader :days_until_purge_unused, :days_until_purge_used
27539
+
27540
+ def initialize(incoming={})
27541
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27542
+ HttpClient::Preconditions.require_keys(opts, [:days_until_purge_unused, :days_until_purge_used], 'CustomerPurgeSettingsForm')
27543
+ @days_until_purge_unused = HttpClient::Preconditions.assert_class('days_until_purge_unused', opts.delete(:days_until_purge_unused), Integer)
27544
+ @days_until_purge_used = HttpClient::Preconditions.assert_class('days_until_purge_used', opts.delete(:days_until_purge_used), Integer)
27545
+ end
27546
+
27547
+ def to_json
27548
+ JSON.dump(to_hash)
27549
+ end
27550
+
27551
+ def copy(incoming={})
27552
+ CustomerPurgeSettingsForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27553
+ end
27554
+
27555
+ def to_hash
27556
+ {
27557
+ :days_until_purge_unused => days_until_purge_unused,
27558
+ :days_until_purge_used => days_until_purge_used
27559
+ }
27560
+ end
27561
+
27562
+ end
27563
+
27303
27564
  class CustomerPutForm
27304
27565
 
27305
27566
  attr_reader :email, :name, :phone
@@ -28004,6 +28265,34 @@ module Io
28004
28265
 
28005
28266
  end
28006
28267
 
28268
+ class DeliveryWindowSummary
28269
+
28270
+ attr_reader :country, :delivery_window
28271
+
28272
+ def initialize(incoming={})
28273
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28274
+ HttpClient::Preconditions.require_keys(opts, [:country, :delivery_window], 'DeliveryWindowSummary')
28275
+ @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
28276
+ @delivery_window = (x = opts.delete(:delivery_window); x.is_a?(::Io::Flow::V0::Models::DeliveryWindow) ? x : ::Io::Flow::V0::Models::DeliveryWindow.new(x))
28277
+ end
28278
+
28279
+ def to_json
28280
+ JSON.dump(to_hash)
28281
+ end
28282
+
28283
+ def copy(incoming={})
28284
+ DeliveryWindowSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28285
+ end
28286
+
28287
+ def to_hash
28288
+ {
28289
+ :country => country,
28290
+ :delivery_window => delivery_window.to_hash
28291
+ }
28292
+ end
28293
+
28294
+ end
28295
+
28007
28296
  # De Minimis per item describes rules which require minimum and/or maximum
28008
28297
  # values per item
28009
28298
  class DeminimisPerItem < Deminimis
@@ -28555,6 +28844,159 @@ module Io
28555
28844
 
28556
28845
  end
28557
28846
 
28847
+ class DiscountRule
28848
+
28849
+ attr_reader :offers
28850
+
28851
+ def initialize(incoming={})
28852
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28853
+ HttpClient::Preconditions.require_keys(opts, [:offers], 'DiscountRule')
28854
+ @offers = HttpClient::Preconditions.assert_class('offers', opts.delete(:offers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DiscountRuleOffer) ? x : ::Io::Flow::V0::Models::DiscountRuleOffer.new(x)) }
28855
+ end
28856
+
28857
+ def to_json
28858
+ JSON.dump(to_hash)
28859
+ end
28860
+
28861
+ def copy(incoming={})
28862
+ DiscountRule.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28863
+ end
28864
+
28865
+ def to_hash
28866
+ {
28867
+ :offers => offers.map { |o| o.to_hash }
28868
+ }
28869
+ end
28870
+
28871
+ end
28872
+
28873
+ class DiscountRuleOffer
28874
+
28875
+ attr_reader :discount, :entitlement
28876
+
28877
+ def initialize(incoming={})
28878
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28879
+ HttpClient::Preconditions.require_keys(opts, [:discount, :entitlement], 'DiscountRuleOffer')
28880
+ @discount = (x = opts.delete(:discount); x.is_a?(::Io::Flow::V0::Models::DiscountOffer) ? x : ::Io::Flow::V0::Models::DiscountOffer.from_json(x))
28881
+ @entitlement = (x = opts.delete(:entitlement); x.is_a?(::Io::Flow::V0::Models::DiscountRuleEntitlement) ? x : ::Io::Flow::V0::Models::DiscountRuleEntitlement.from_json(x))
28882
+ end
28883
+
28884
+ def to_json
28885
+ JSON.dump(to_hash)
28886
+ end
28887
+
28888
+ def copy(incoming={})
28889
+ DiscountRuleOffer.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28890
+ end
28891
+
28892
+ def to_hash
28893
+ {
28894
+ :discount => discount.to_hash,
28895
+ :entitlement => entitlement.to_hash
28896
+ }
28897
+ end
28898
+
28899
+ end
28900
+
28901
+ class DiscountRuleSettings
28902
+
28903
+ attr_reader :id, :name, :from, :to, :status, :experience_keys, :rule
28904
+
28905
+ def initialize(incoming={})
28906
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28907
+ HttpClient::Preconditions.require_keys(opts, [:id, :name, :from, :status, :experience_keys, :rule], 'DiscountRuleSettings')
28908
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
28909
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
28910
+ @from = HttpClient::Preconditions.assert_class('from', HttpClient::Helper.to_date_time_iso8601(opts.delete(:from)), DateTime)
28911
+ @to = (x = opts.delete(:to); x.nil? ? nil : HttpClient::Preconditions.assert_class('to', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
28912
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::DiscountRuleStatus) ? x : ::Io::Flow::V0::Models::DiscountRuleStatus.apply(x))
28913
+ @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
28914
+ @rule = (x = opts.delete(:rule); x.is_a?(::Io::Flow::V0::Models::DiscountRule) ? x : ::Io::Flow::V0::Models::DiscountRule.new(x))
28915
+ end
28916
+
28917
+ def to_json
28918
+ JSON.dump(to_hash)
28919
+ end
28920
+
28921
+ def copy(incoming={})
28922
+ DiscountRuleSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28923
+ end
28924
+
28925
+ def to_hash
28926
+ {
28927
+ :id => id,
28928
+ :name => name,
28929
+ :from => from,
28930
+ :to => to,
28931
+ :status => status.value,
28932
+ :experience_keys => experience_keys,
28933
+ :rule => rule.to_hash
28934
+ }
28935
+ end
28936
+
28937
+ end
28938
+
28939
+ class DiscountRuleSettingsForm
28940
+
28941
+ attr_reader :name, :from, :to, :experience_keys, :rule
28942
+
28943
+ def initialize(incoming={})
28944
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28945
+ HttpClient::Preconditions.require_keys(opts, [:name, :from, :experience_keys, :rule], 'DiscountRuleSettingsForm')
28946
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
28947
+ @from = HttpClient::Preconditions.assert_class('from', HttpClient::Helper.to_date_time_iso8601(opts.delete(:from)), DateTime)
28948
+ @to = (x = opts.delete(:to); x.nil? ? nil : HttpClient::Preconditions.assert_class('to', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
28949
+ @experience_keys = HttpClient::Preconditions.assert_class('experience_keys', opts.delete(:experience_keys), Array).map { |v| HttpClient::Preconditions.assert_class('experience_keys', v, String) }
28950
+ @rule = (x = opts.delete(:rule); x.is_a?(::Io::Flow::V0::Models::DiscountRule) ? x : ::Io::Flow::V0::Models::DiscountRule.new(x))
28951
+ end
28952
+
28953
+ def to_json
28954
+ JSON.dump(to_hash)
28955
+ end
28956
+
28957
+ def copy(incoming={})
28958
+ DiscountRuleSettingsForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28959
+ end
28960
+
28961
+ def to_hash
28962
+ {
28963
+ :name => name,
28964
+ :from => from,
28965
+ :to => to,
28966
+ :experience_keys => experience_keys,
28967
+ :rule => rule.to_hash
28968
+ }
28969
+ end
28970
+
28971
+ end
28972
+
28973
+ class DiscountRuleSubsidyEntitlement < DiscountRuleEntitlement
28974
+
28975
+ attr_reader :targets
28976
+
28977
+ def initialize(incoming={})
28978
+ super(:discriminator => DiscountRuleEntitlement::Types::DISCOUNT_RULE_SUBSIDY_ENTITLEMENT)
28979
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28980
+ HttpClient::Preconditions.require_keys(opts, [:targets], 'DiscountRuleSubsidyEntitlement')
28981
+ @targets = HttpClient::Preconditions.assert_class('targets', opts.delete(:targets), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DiscountRuleSubsidyTarget) ? x : ::Io::Flow::V0::Models::DiscountRuleSubsidyTarget.apply(x)) }
28982
+ end
28983
+
28984
+ def to_json
28985
+ JSON.dump(to_hash)
28986
+ end
28987
+
28988
+ def copy(incoming={})
28989
+ DiscountRuleSubsidyEntitlement.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28990
+ end
28991
+
28992
+ def subtype_to_hash
28993
+ {
28994
+ :targets => targets.map { |o| o.value }
28995
+ }
28996
+ end
28997
+
28998
+ end
28999
+
28558
29000
  class DiscountsForm
28559
29001
 
28560
29002
  attr_reader :discounts
@@ -28769,6 +29211,32 @@ module Io
28769
29211
 
28770
29212
  end
28771
29213
 
29214
+ class EmailAbandonedOrderUrls
29215
+
29216
+ attr_reader :checkout
29217
+
29218
+ def initialize(incoming={})
29219
+ opts = HttpClient::Helper.symbolize_keys(incoming)
29220
+ HttpClient::Preconditions.require_keys(opts, [:checkout], 'EmailAbandonedOrderUrls')
29221
+ @checkout = HttpClient::Preconditions.assert_class('checkout', opts.delete(:checkout), String)
29222
+ end
29223
+
29224
+ def to_json
29225
+ JSON.dump(to_hash)
29226
+ end
29227
+
29228
+ def copy(incoming={})
29229
+ EmailAbandonedOrderUrls.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
29230
+ end
29231
+
29232
+ def to_hash
29233
+ {
29234
+ :checkout => checkout
29235
+ }
29236
+ end
29237
+
29238
+ end
29239
+
28772
29240
  # An Email Notification indicates that an email message should be delivered. The
28773
29241
  # type of email depends on the data and can be found in the field
28774
29242
  # data.discriminator.
@@ -28804,6 +29272,37 @@ module Io
28804
29272
 
28805
29273
  end
28806
29274
 
29275
+ # Data about an abandoned order. Today at Flow, this can be triggered by a
29276
+ # consumer initating checkout (without completing)
29277
+ class EmailNotificationAbandonedOrder < EmailNotificationData
29278
+
29279
+ attr_reader :order, :urls
29280
+
29281
+ def initialize(incoming={})
29282
+ super(:discriminator => EmailNotificationData::Types::EMAIL_NOTIFICATION_ABANDONED_ORDER)
29283
+ opts = HttpClient::Helper.symbolize_keys(incoming)
29284
+ HttpClient::Preconditions.require_keys(opts, [:order, :urls], 'EmailNotificationAbandonedOrder')
29285
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::OrderSummary) ? x : ::Io::Flow::V0::Models::OrderSummary.new(x))
29286
+ @urls = (x = opts.delete(:urls); x.is_a?(::Io::Flow::V0::Models::EmailAbandonedOrderUrls) ? x : ::Io::Flow::V0::Models::EmailAbandonedOrderUrls.new(x))
29287
+ end
29288
+
29289
+ def to_json
29290
+ JSON.dump(to_hash)
29291
+ end
29292
+
29293
+ def copy(incoming={})
29294
+ EmailNotificationAbandonedOrder.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
29295
+ end
29296
+
29297
+ def subtype_to_hash
29298
+ {
29299
+ :order => order.to_hash,
29300
+ :urls => urls.to_hash
29301
+ }
29302
+ end
29303
+
29304
+ end
29305
+
28807
29306
  # Sends an refund confirmation email to the customer (using the
28808
29307
  # order.customer.email as the recipient).
28809
29308
  class EmailNotificationDataRefund < EmailNotificationData
@@ -29016,6 +29515,66 @@ module Io
29016
29515
 
29017
29516
  end
29018
29517
 
29518
+ class EmergencySituationSurchargeRatecardFee < RatecardFee
29519
+
29520
+ attr_reader :amount
29521
+
29522
+ def initialize(incoming={})
29523
+ super(:discriminator => RatecardFee::Types::EMERGENCY_SITUATION_SURCHARGE_RATECARD_FEE)
29524
+ opts = HttpClient::Helper.symbolize_keys(incoming)
29525
+ HttpClient::Preconditions.require_keys(opts, [:amount], 'EmergencySituationSurchargeRatecardFee')
29526
+ @amount = (x = opts.delete(:amount); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
29527
+ end
29528
+
29529
+ def to_json
29530
+ JSON.dump(to_hash)
29531
+ end
29532
+
29533
+ def copy(incoming={})
29534
+ EmergencySituationSurchargeRatecardFee.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
29535
+ end
29536
+
29537
+ def subtype_to_hash
29538
+ {
29539
+ :amount => amount.to_hash
29540
+ }
29541
+ end
29542
+
29543
+ end
29544
+
29545
+ class EmergencySituationSurchargeServiceFee < ServiceFee
29546
+
29547
+ attr_reader :amount, :origin_region, :destination_region, :interval_unit
29548
+
29549
+ def initialize(incoming={})
29550
+ super(:discriminator => ServiceFee::Types::EMERGENCY_SITUATION_SURCHARGE_SERVICE_FEE)
29551
+ opts = HttpClient::Helper.symbolize_keys(incoming)
29552
+ HttpClient::Preconditions.require_keys(opts, [:amount], 'EmergencySituationSurchargeServiceFee')
29553
+ @amount = (x = opts.delete(:amount); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
29554
+ @origin_region = (x = opts.delete(:origin_region); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::RatecardRegionReference) ? x : ::Io::Flow::V0::Models::RatecardRegionReference.new(x)))
29555
+ @destination_region = (x = opts.delete(:destination_region); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::RatecardRegionReference) ? x : ::Io::Flow::V0::Models::RatecardRegionReference.new(x)))
29556
+ @interval_unit = (x = opts.delete(:interval_unit); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x)))
29557
+ end
29558
+
29559
+ def to_json
29560
+ JSON.dump(to_hash)
29561
+ end
29562
+
29563
+ def copy(incoming={})
29564
+ EmergencySituationSurchargeServiceFee.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
29565
+ end
29566
+
29567
+ def subtype_to_hash
29568
+ {
29569
+ :amount => amount.to_hash,
29570
+ :origin_region => origin_region.nil? ? nil : origin_region.to_hash,
29571
+ :destination_region => destination_region.nil? ? nil : destination_region.to_hash,
29572
+ :interval_unit => interval_unit.nil? ? nil : interval_unit.value
29573
+ }
29574
+ end
29575
+
29576
+ end
29577
+
29019
29578
  class EstimatedDimensions
29020
29579
 
29021
29580
  attr_reader :depth, :length, :weight, :width
@@ -29940,6 +30499,34 @@ module Io
29940
30499
 
29941
30500
  end
29942
30501
 
30502
+ class ExperiencePaymentMethodRule
30503
+
30504
+ attr_reader :experience_key, :payment_method_rules
30505
+
30506
+ def initialize(incoming={})
30507
+ opts = HttpClient::Helper.symbolize_keys(incoming)
30508
+ HttpClient::Preconditions.require_keys(opts, [:experience_key, :payment_method_rules], 'ExperiencePaymentMethodRule')
30509
+ @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
30510
+ @payment_method_rules = HttpClient::Preconditions.assert_class('payment_method_rules', opts.delete(:payment_method_rules), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::PaymentMethodRule) ? x : ::Io::Flow::V0::Models::PaymentMethodRule.new(x)) }
30511
+ end
30512
+
30513
+ def to_json
30514
+ JSON.dump(to_hash)
30515
+ end
30516
+
30517
+ def copy(incoming={})
30518
+ ExperiencePaymentMethodRule.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
30519
+ end
30520
+
30521
+ def to_hash
30522
+ {
30523
+ :experience_key => experience_key,
30524
+ :payment_method_rules => payment_method_rules.map { |o| o.to_hash }
30525
+ }
30526
+ end
30527
+
30528
+ end
30529
+
29943
30530
  class ExperiencePaymentMethodRuleForm
29944
30531
 
29945
30532
  attr_reader :payment_method_id, :tags, :q
@@ -30538,6 +31125,62 @@ module Io
30538
31125
 
30539
31126
  end
30540
31127
 
31128
+ # Experiment for A/B testing
31129
+ class Experiment
31130
+
31131
+ attr_reader :key, :variant
31132
+
31133
+ def initialize(incoming={})
31134
+ opts = HttpClient::Helper.symbolize_keys(incoming)
31135
+ HttpClient::Preconditions.require_keys(opts, [:key], 'Experiment')
31136
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
31137
+ @variant = (x = opts.delete(:variant); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperimentVariant) ? x : ::Io::Flow::V0::Models::ExperimentVariant.new(x)))
31138
+ end
31139
+
31140
+ def to_json
31141
+ JSON.dump(to_hash)
31142
+ end
31143
+
31144
+ def copy(incoming={})
31145
+ Experiment.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
31146
+ end
31147
+
31148
+ def to_hash
31149
+ {
31150
+ :key => key,
31151
+ :variant => variant.nil? ? nil : variant.to_hash
31152
+ }
31153
+ end
31154
+
31155
+ end
31156
+
31157
+ # Experiment variant. Control or variant
31158
+ class ExperimentVariant
31159
+
31160
+ attr_reader :key
31161
+
31162
+ def initialize(incoming={})
31163
+ opts = HttpClient::Helper.symbolize_keys(incoming)
31164
+ HttpClient::Preconditions.require_keys(opts, [:key], 'ExperimentVariant')
31165
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
31166
+ end
31167
+
31168
+ def to_json
31169
+ JSON.dump(to_hash)
31170
+ end
31171
+
31172
+ def copy(incoming={})
31173
+ ExperimentVariant.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
31174
+ end
31175
+
31176
+ def to_hash
31177
+ {
31178
+ :key => key
31179
+ }
31180
+ end
31181
+
31182
+ end
31183
+
30541
31184
  # The month and year at which a card expires
30542
31185
  class Expiration
30543
31186
 
@@ -32849,13 +33492,14 @@ module Io
32849
33492
  # to enhance the administrative tools (e.g. showing an item image in console)
32850
33493
  class Image
32851
33494
 
32852
- attr_reader :url, :tags
33495
+ attr_reader :url, :tags, :attributes
32853
33496
 
32854
33497
  def initialize(incoming={})
32855
33498
  opts = HttpClient::Helper.symbolize_keys(incoming)
32856
33499
  HttpClient::Preconditions.require_keys(opts, [:url], 'Image')
32857
33500
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
32858
33501
  @tags = HttpClient::Preconditions.assert_class('tags', (x = opts.delete(:tags); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ImageTag) ? x : ::Io::Flow::V0::Models::ImageTag.apply(x)) }
33502
+ @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 })
32859
33503
  end
32860
33504
 
32861
33505
  def to_json
@@ -32869,7 +33513,8 @@ module Io
32869
33513
  def to_hash
32870
33514
  {
32871
33515
  :url => url,
32872
- :tags => tags.map { |o| o.value }
33516
+ :tags => tags.map { |o| o.value },
33517
+ :attributes => attributes.nil? ? nil : attributes
32873
33518
  }
32874
33519
  end
32875
33520
 
@@ -32878,13 +33523,14 @@ module Io
32878
33523
  # Image form defines the data needed to create an image
32879
33524
  class ImageForm
32880
33525
 
32881
- attr_reader :url, :tags
33526
+ attr_reader :url, :tags, :attributes
32882
33527
 
32883
33528
  def initialize(incoming={})
32884
33529
  opts = HttpClient::Helper.symbolize_keys(incoming)
32885
33530
  HttpClient::Preconditions.require_keys(opts, [:url], 'ImageForm')
32886
33531
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
32887
33532
  @tags = (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ImageTag) ? x : ::Io::Flow::V0::Models::ImageTag.apply(x)) })
33533
+ @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 })
32888
33534
  end
32889
33535
 
32890
33536
  def to_json
@@ -32898,7 +33544,8 @@ module Io
32898
33544
  def to_hash
32899
33545
  {
32900
33546
  :url => url,
32901
- :tags => tags.nil? ? nil : tags.map { |o| o.value }
33547
+ :tags => tags.nil? ? nil : tags.map { |o| o.value },
33548
+ :attributes => attributes.nil? ? nil : attributes
32902
33549
  }
32903
33550
  end
32904
33551
 
@@ -34732,14 +35379,48 @@ module Io
34732
35379
 
34733
35380
  end
34734
35381
 
35382
+ # The item price update form is used to update only the price (and attributes,
35383
+ # eg. msrp) of given item. This form defines the format of the CSV import.
35384
+ class ItemPriceUpdateForm
35385
+
35386
+ attr_reader :number, :currency, :price, :attributes
35387
+
35388
+ def initialize(incoming={})
35389
+ opts = HttpClient::Helper.symbolize_keys(incoming)
35390
+ HttpClient::Preconditions.require_keys(opts, [:number, :price], 'ItemPriceUpdateForm')
35391
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
35392
+ @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
35393
+ @price = HttpClient::Preconditions.assert_class('price', HttpClient::Helper.to_big_decimal(opts.delete(:price)), BigDecimal)
35394
+ @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
35395
+ end
35396
+
35397
+ def to_json
35398
+ JSON.dump(to_hash)
35399
+ end
35400
+
35401
+ def copy(incoming={})
35402
+ ItemPriceUpdateForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
35403
+ end
35404
+
35405
+ def to_hash
35406
+ {
35407
+ :number => number,
35408
+ :currency => currency,
35409
+ :price => price.to_f.to_s,
35410
+ :attributes => attributes
35411
+ }
35412
+ end
35413
+
35414
+ end
35415
+
34735
35416
  class ItemPriceUpdatePutForm
34736
35417
 
34737
35418
  attr_reader :currency, :price, :attributes
34738
35419
 
34739
35420
  def initialize(incoming={})
34740
35421
  opts = HttpClient::Helper.symbolize_keys(incoming)
34741
- HttpClient::Preconditions.require_keys(opts, [:currency, :price], 'ItemPriceUpdatePutForm')
34742
- @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
35422
+ HttpClient::Preconditions.require_keys(opts, [:price], 'ItemPriceUpdatePutForm')
35423
+ @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
34743
35424
  @price = HttpClient::Preconditions.assert_class('price', HttpClient::Helper.to_big_decimal(opts.delete(:price)), BigDecimal)
34744
35425
  @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
34745
35426
  end
@@ -35122,6 +35803,39 @@ module Io
35122
35803
 
35123
35804
  end
35124
35805
 
35806
+ class LabelDeletedV2 < Event
35807
+
35808
+ attr_reader :event_id, :timestamp, :organization, :label
35809
+
35810
+ def initialize(incoming={})
35811
+ super(:discriminator => Event::Types::LABEL_DELETED_V2)
35812
+ opts = HttpClient::Helper.symbolize_keys(incoming)
35813
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :label], 'LabelDeletedV2')
35814
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
35815
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
35816
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
35817
+ @label = (x = opts.delete(:label); x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x))
35818
+ end
35819
+
35820
+ def to_json
35821
+ JSON.dump(to_hash)
35822
+ end
35823
+
35824
+ def copy(incoming={})
35825
+ LabelDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
35826
+ end
35827
+
35828
+ def subtype_to_hash
35829
+ {
35830
+ :event_id => event_id,
35831
+ :timestamp => timestamp,
35832
+ :organization => organization,
35833
+ :label => label.to_hash
35834
+ }
35835
+ end
35836
+
35837
+ end
35838
+
35125
35839
  class LabelFormatDeleted < Event
35126
35840
 
35127
35841
  attr_reader :event_id, :timestamp, :organization, :experience_key
@@ -35287,6 +36001,39 @@ module Io
35287
36001
 
35288
36002
  end
35289
36003
 
36004
+ class LabelUpsertedV2 < Event
36005
+
36006
+ attr_reader :event_id, :timestamp, :organization, :label
36007
+
36008
+ def initialize(incoming={})
36009
+ super(:discriminator => Event::Types::LABEL_UPSERTED_V2)
36010
+ opts = HttpClient::Helper.symbolize_keys(incoming)
36011
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :label], 'LabelUpsertedV2')
36012
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
36013
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
36014
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
36015
+ @label = (x = opts.delete(:label); x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x))
36016
+ end
36017
+
36018
+ def to_json
36019
+ JSON.dump(to_hash)
36020
+ end
36021
+
36022
+ def copy(incoming={})
36023
+ LabelUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
36024
+ end
36025
+
36026
+ def subtype_to_hash
36027
+ {
36028
+ :event_id => event_id,
36029
+ :timestamp => timestamp,
36030
+ :organization => organization,
36031
+ :label => label.to_hash
36032
+ }
36033
+ end
36034
+
36035
+ end
36036
+
35290
36037
  # Tuple of item number, origin (from) country and destination (to) country
35291
36038
  class LandedCostItem
35292
36039
 
@@ -36379,6 +37126,36 @@ module Io
36379
37126
 
36380
37127
  end
36381
37128
 
37129
+ # Export of marketing feeds
37130
+ class MarketingFeedsExportType < ExportType
37131
+
37132
+ attr_reader :organization, :feed_ids
37133
+
37134
+ def initialize(incoming={})
37135
+ super(:discriminator => ExportType::Types::MARKETING_FEEDS_EXPORT_TYPE)
37136
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37137
+ HttpClient::Preconditions.require_keys(opts, [:organization, :feed_ids], 'MarketingFeedsExportType')
37138
+ @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x))
37139
+ @feed_ids = HttpClient::Preconditions.assert_class('feed_ids', opts.delete(:feed_ids), Array).map { |v| HttpClient::Preconditions.assert_class('feed_ids', v, String) }
37140
+ end
37141
+
37142
+ def to_json
37143
+ JSON.dump(to_hash)
37144
+ end
37145
+
37146
+ def copy(incoming={})
37147
+ MarketingFeedsExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37148
+ end
37149
+
37150
+ def subtype_to_hash
37151
+ {
37152
+ :organization => organization.to_hash,
37153
+ :feed_ids => feed_ids
37154
+ }
37155
+ end
37156
+
37157
+ end
37158
+
36382
37159
  class Measurement
36383
37160
 
36384
37161
  attr_reader :value, :units
@@ -37420,6 +38197,35 @@ module Io
37420
38197
 
37421
38198
  end
37422
38199
 
38200
+ class OnlinePaymentAuthorizationForm < AuthorizationForm
38201
+
38202
+ attr_reader :payment_id, :key
38203
+
38204
+ def initialize(incoming={})
38205
+ super(:discriminator => AuthorizationForm::Types::ONLINE_PAYMENT_AUTHORIZATION_FORM)
38206
+ opts = HttpClient::Helper.symbolize_keys(incoming)
38207
+ HttpClient::Preconditions.require_keys(opts, [:payment_id], 'OnlinePaymentAuthorizationForm')
38208
+ @payment_id = HttpClient::Preconditions.assert_class('payment_id', opts.delete(:payment_id), String)
38209
+ @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
38210
+ end
38211
+
38212
+ def to_json
38213
+ JSON.dump(to_hash)
38214
+ end
38215
+
38216
+ def copy(incoming={})
38217
+ OnlinePaymentAuthorizationForm.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
38218
+ end
38219
+
38220
+ def subtype_to_hash
38221
+ {
38222
+ :payment_id => payment_id,
38223
+ :key => key
38224
+ }
38225
+ end
38226
+
38227
+ end
38228
+
37423
38229
  class OptinResponse
37424
38230
 
37425
38231
  attr_reader :key, :value
@@ -39669,6 +40475,34 @@ module Io
39669
40475
 
39670
40476
  end
39671
40477
 
40478
+ class OrderWithDiscountsForm
40479
+
40480
+ attr_reader :order, :discounts
40481
+
40482
+ def initialize(incoming={})
40483
+ opts = HttpClient::Helper.symbolize_keys(incoming)
40484
+ HttpClient::Preconditions.require_keys(opts, [:order], 'OrderWithDiscountsForm')
40485
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::OrderForm) ? x : ::Io::Flow::V0::Models::OrderForm.new(x))
40486
+ @discounts = HttpClient::Preconditions.assert_class('discounts', (x = opts.delete(:discounts); x.nil? ? [] : x), Array).map { |v| HttpClient::Preconditions.assert_class('discounts', v, String) }
40487
+ end
40488
+
40489
+ def to_json
40490
+ JSON.dump(to_hash)
40491
+ end
40492
+
40493
+ def copy(incoming={})
40494
+ OrderWithDiscountsForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
40495
+ end
40496
+
40497
+ def to_hash
40498
+ {
40499
+ :order => order.to_hash,
40500
+ :discounts => discounts
40501
+ }
40502
+ end
40503
+
40504
+ end
40505
+
39672
40506
  # Represents a single organization in the system, and what environment it is
39673
40507
  # currently operating in.
39674
40508
  class Organization < ExpandableOrganization
@@ -40267,7 +41101,7 @@ module Io
40267
41101
  # during this session (e.g. order).
40268
41102
  class OrganizationSession < Session
40269
41103
 
40270
- attr_reader :id, :organization, :visitor, :visit, :environment, :attributes, :ip, :local, :geo, :experience, :format, :experiment
41104
+ attr_reader :id, :organization, :visitor, :visit, :environment, :attributes, :ip, :local, :geo, :experience, :format, :experiment, :context
40271
41105
 
40272
41106
  def initialize(incoming={})
40273
41107
  super(:discriminator => Session::Types::ORGANIZATION_SESSION)
@@ -40285,6 +41119,7 @@ module Io
40285
41119
  @experience = (x = opts.delete(:experience); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceGeo) ? x : ::Io::Flow::V0::Models::ExperienceGeo.new(x)))
40286
41120
  @format = (x = opts.delete(:format); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionFormat) ? x : ::Io::Flow::V0::Models::SessionFormat.new(x)))
40287
41121
  @experiment = (x = opts.delete(:experiment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionExperiment) ? x : ::Io::Flow::V0::Models::SessionExperiment.new(x)))
41122
+ @context = (x = opts.delete(:context); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ContextReference) ? x : ::Io::Flow::V0::Models::ContextReference.new(x)))
40288
41123
  end
40289
41124
 
40290
41125
  def to_json
@@ -40308,7 +41143,8 @@ module Io
40308
41143
  :geo => geo.nil? ? nil : geo.to_hash,
40309
41144
  :experience => experience.nil? ? nil : experience.to_hash,
40310
41145
  :format => format.nil? ? nil : format.to_hash,
40311
- :experiment => experiment.nil? ? nil : experiment.to_hash
41146
+ :experiment => experiment.nil? ? nil : experiment.to_hash,
41147
+ :context => context.nil? ? nil : context.to_hash
40312
41148
  }
40313
41149
  end
40314
41150
 
@@ -41076,6 +41912,42 @@ module Io
41076
41912
 
41077
41913
  end
41078
41914
 
41915
+ # Represents an online payment processed through CryptoPay.
41916
+ class PaymentCryptopay < Payment
41917
+
41918
+ attr_reader :id, :order, :amount, :currency, :cryptopay
41919
+
41920
+ def initialize(incoming={})
41921
+ super(:discriminator => Payment::Types::PAYMENT_CRYPTOPAY)
41922
+ opts = HttpClient::Helper.symbolize_keys(incoming)
41923
+ HttpClient::Preconditions.require_keys(opts, [:id, :amount, :currency, :cryptopay], 'PaymentCryptopay')
41924
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
41925
+ @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AuthorizationOrderReference) ? x : ::Io::Flow::V0::Models::AuthorizationOrderReference.new(x)))
41926
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
41927
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
41928
+ @cryptopay = (x = opts.delete(:cryptopay); x.is_a?(::Io::Flow::V0::Models::OnlineAuthorizationDetails) ? x : ::Io::Flow::V0::Models::OnlineAuthorizationDetails.from_json(x))
41929
+ end
41930
+
41931
+ def to_json
41932
+ JSON.dump(to_hash)
41933
+ end
41934
+
41935
+ def copy(incoming={})
41936
+ PaymentCryptopay.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
41937
+ end
41938
+
41939
+ def subtype_to_hash
41940
+ {
41941
+ :id => id,
41942
+ :order => order.nil? ? nil : order.to_hash,
41943
+ :amount => amount.to_f.to_s,
41944
+ :currency => currency,
41945
+ :cryptopay => cryptopay.to_hash
41946
+ }
41947
+ end
41948
+
41949
+ end
41950
+
41079
41951
  class PaymentDeleted < Event
41080
41952
 
41081
41953
  attr_reader :event_id, :timestamp, :organization, :id
@@ -41343,7 +42215,7 @@ module Io
41343
42215
  @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AuthorizationOrderReference) ? x : ::Io::Flow::V0::Models::AuthorizationOrderReference.new(x)))
41344
42216
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
41345
42217
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
41346
- @paypal = (x = opts.delete(:paypal); x.is_a?(::Io::Flow::V0::Models::PaymentPaypalData) ? x : ::Io::Flow::V0::Models::PaymentPaypalData.new(x))
42218
+ @paypal = (x = opts.delete(:paypal); x.is_a?(::Io::Flow::V0::Models::OnlineAuthorizationDetails) ? x : ::Io::Flow::V0::Models::OnlineAuthorizationDetails.from_json(x))
41347
42219
  end
41348
42220
 
41349
42221
  def to_json
@@ -41366,33 +42238,6 @@ module Io
41366
42238
 
41367
42239
  end
41368
42240
 
41369
- # Represents on line payment
41370
- class PaymentPaypalData
41371
-
41372
- attr_reader :payment_id
41373
-
41374
- def initialize(incoming={})
41375
- opts = HttpClient::Helper.symbolize_keys(incoming)
41376
- HttpClient::Preconditions.require_keys(opts, [:payment_id], 'PaymentPaypalData')
41377
- @payment_id = HttpClient::Preconditions.assert_class('payment_id', opts.delete(:payment_id), String)
41378
- end
41379
-
41380
- def to_json
41381
- JSON.dump(to_hash)
41382
- end
41383
-
41384
- def copy(incoming={})
41385
- PaymentPaypalData.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
41386
- end
41387
-
41388
- def to_hash
41389
- {
41390
- :payment_id => payment_id
41391
- }
41392
- end
41393
-
41394
- end
41395
-
41396
42241
  class PaymentReference
41397
42242
 
41398
42243
  attr_reader :id
@@ -41514,16 +42359,20 @@ module Io
41514
42359
 
41515
42360
  end
41516
42361
 
41517
- # Represents on line payment
42362
+ # Represents online payment
41518
42363
  class PaypalAuthorizationDetails < OnlineAuthorizationDetails
41519
42364
 
41520
- attr_reader :payment_id
42365
+ attr_reader :payment_id, :payment_method, :payment_state, :payer_email, :payer_status
41521
42366
 
41522
42367
  def initialize(incoming={})
41523
42368
  super(:discriminator => OnlineAuthorizationDetails::Types::PAYPAL_AUTHORIZATION_DETAILS)
41524
42369
  opts = HttpClient::Helper.symbolize_keys(incoming)
41525
42370
  HttpClient::Preconditions.require_keys(opts, [:payment_id], 'PaypalAuthorizationDetails')
41526
42371
  @payment_id = HttpClient::Preconditions.assert_class('payment_id', opts.delete(:payment_id), String)
42372
+ @payment_method = (x = opts.delete(:payment_method); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_method', x, String))
42373
+ @payment_state = (x = opts.delete(:payment_state); x.nil? ? nil : HttpClient::Preconditions.assert_class('payment_state', x, String))
42374
+ @payer_email = (x = opts.delete(:payer_email); x.nil? ? nil : HttpClient::Preconditions.assert_class('payer_email', x, String))
42375
+ @payer_status = (x = opts.delete(:payer_status); x.nil? ? nil : HttpClient::Preconditions.assert_class('payer_status', x, String))
41527
42376
  end
41528
42377
 
41529
42378
  def to_json
@@ -41536,7 +42385,11 @@ module Io
41536
42385
 
41537
42386
  def subtype_to_hash
41538
42387
  {
41539
- :payment_id => payment_id
42388
+ :payment_id => payment_id,
42389
+ :payment_method => payment_method,
42390
+ :payment_state => payment_state,
42391
+ :payer_email => payer_email,
42392
+ :payer_status => payer_status
41540
42393
  }
41541
42394
  end
41542
42395
 
@@ -44467,6 +45320,32 @@ module Io
44467
45320
 
44468
45321
  end
44469
45322
 
45323
+ class RatecardRegionReference
45324
+
45325
+ attr_reader :id
45326
+
45327
+ def initialize(incoming={})
45328
+ opts = HttpClient::Helper.symbolize_keys(incoming)
45329
+ HttpClient::Preconditions.require_keys(opts, [:id], 'RatecardRegionReference')
45330
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
45331
+ end
45332
+
45333
+ def to_json
45334
+ JSON.dump(to_hash)
45335
+ end
45336
+
45337
+ def copy(incoming={})
45338
+ RatecardRegionReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
45339
+ end
45340
+
45341
+ def to_hash
45342
+ {
45343
+ :id => id
45344
+ }
45345
+ end
45346
+
45347
+ end
45348
+
44470
45349
  class RatecardServiceSummary
44471
45350
 
44472
45351
  attr_reader :id, :name, :carrier
@@ -46553,181 +47432,6 @@ module Io
46553
47432
 
46554
47433
  end
46555
47434
 
46556
- # A unique identifier assigned to an individual item.
46557
- class Serial
46558
-
46559
- attr_reader :id, :number, :item_number, :item_price, :status, :center, :attributes
46560
-
46561
- def initialize(incoming={})
46562
- opts = HttpClient::Helper.symbolize_keys(incoming)
46563
- HttpClient::Preconditions.require_keys(opts, [:id, :number, :item_number, :item_price, :status, :center], 'Serial')
46564
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
46565
- @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
46566
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
46567
- @item_price = (x = opts.delete(:item_price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
46568
- @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::SerialStatus) ? x : ::Io::Flow::V0::Models::SerialStatus.apply(x))
46569
- @center = (x = opts.delete(:center); x.is_a?(::Io::Flow::V0::Models::CenterReference) ? x : ::Io::Flow::V0::Models::CenterReference.new(x))
46570
- @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
46571
- end
46572
-
46573
- def to_json
46574
- JSON.dump(to_hash)
46575
- end
46576
-
46577
- def copy(incoming={})
46578
- Serial.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46579
- end
46580
-
46581
- def to_hash
46582
- {
46583
- :id => id,
46584
- :number => number,
46585
- :item_number => item_number,
46586
- :item_price => item_price.to_hash,
46587
- :status => status.value,
46588
- :center => center.to_hash,
46589
- :attributes => attributes
46590
- }
46591
- end
46592
-
46593
- end
46594
-
46595
- class SerialDeleted < Event
46596
-
46597
- attr_reader :event_id, :timestamp, :id
46598
-
46599
- def initialize(incoming={})
46600
- super(:discriminator => Event::Types::SERIAL_DELETED)
46601
- opts = HttpClient::Helper.symbolize_keys(incoming)
46602
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id], 'SerialDeleted')
46603
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
46604
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
46605
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
46606
- end
46607
-
46608
- def to_json
46609
- JSON.dump(to_hash)
46610
- end
46611
-
46612
- def copy(incoming={})
46613
- SerialDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46614
- end
46615
-
46616
- def subtype_to_hash
46617
- {
46618
- :event_id => event_id,
46619
- :timestamp => timestamp,
46620
- :id => id
46621
- }
46622
- end
46623
-
46624
- end
46625
-
46626
- # A unique identifier assigned to an individual item.
46627
- class SerialForm
46628
-
46629
- attr_reader :number, :item_number, :item_price, :item_currency, :status, :center_key, :attributes
46630
-
46631
- def initialize(incoming={})
46632
- opts = HttpClient::Helper.symbolize_keys(incoming)
46633
- HttpClient::Preconditions.require_keys(opts, [:number, :item_number, :item_price, :item_currency, :status], 'SerialForm')
46634
- @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
46635
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
46636
- @item_price = HttpClient::Preconditions.assert_class('item_price', HttpClient::Helper.to_big_decimal(opts.delete(:item_price)), BigDecimal)
46637
- @item_currency = HttpClient::Preconditions.assert_class('item_currency', opts.delete(:item_currency), String)
46638
- @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::SerialStatus) ? x : ::Io::Flow::V0::Models::SerialStatus.apply(x))
46639
- @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
46640
- @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 })
46641
- end
46642
-
46643
- def to_json
46644
- JSON.dump(to_hash)
46645
- end
46646
-
46647
- def copy(incoming={})
46648
- SerialForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46649
- end
46650
-
46651
- def to_hash
46652
- {
46653
- :number => number,
46654
- :item_number => item_number,
46655
- :item_price => item_price.to_f.to_s,
46656
- :item_currency => item_currency,
46657
- :status => status.value,
46658
- :center_key => center_key,
46659
- :attributes => attributes.nil? ? nil : attributes
46660
- }
46661
- end
46662
-
46663
- end
46664
-
46665
- class SerialUpserted < Event
46666
-
46667
- attr_reader :event_id, :timestamp, :organization, :serial
46668
-
46669
- def initialize(incoming={})
46670
- super(:discriminator => Event::Types::SERIAL_UPSERTED)
46671
- opts = HttpClient::Helper.symbolize_keys(incoming)
46672
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :serial], 'SerialUpserted')
46673
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
46674
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
46675
- @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
46676
- @serial = (x = opts.delete(:serial); x.is_a?(::Io::Flow::V0::Models::Serial) ? x : ::Io::Flow::V0::Models::Serial.new(x))
46677
- end
46678
-
46679
- def to_json
46680
- JSON.dump(to_hash)
46681
- end
46682
-
46683
- def copy(incoming={})
46684
- SerialUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46685
- end
46686
-
46687
- def subtype_to_hash
46688
- {
46689
- :event_id => event_id,
46690
- :timestamp => timestamp,
46691
- :organization => organization,
46692
- :serial => serial.to_hash
46693
- }
46694
- end
46695
-
46696
- end
46697
-
46698
- # Retrieve journaled history of a serial
46699
- class SerialVersion
46700
-
46701
- attr_reader :id, :timestamp, :type, :serial
46702
-
46703
- def initialize(incoming={})
46704
- opts = HttpClient::Helper.symbolize_keys(incoming)
46705
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :serial], 'SerialVersion')
46706
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
46707
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
46708
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
46709
- @serial = (x = opts.delete(:serial); x.is_a?(::Io::Flow::V0::Models::Serial) ? x : ::Io::Flow::V0::Models::Serial.new(x))
46710
- end
46711
-
46712
- def to_json
46713
- JSON.dump(to_hash)
46714
- end
46715
-
46716
- def copy(incoming={})
46717
- SerialVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46718
- end
46719
-
46720
- def to_hash
46721
- {
46722
- :id => id,
46723
- :timestamp => timestamp,
46724
- :type => type.value,
46725
- :serial => serial.to_hash
46726
- }
46727
- end
46728
-
46729
- end
46730
-
46731
47435
  class ServiceReference
46732
47436
 
46733
47437
  attr_reader :id
@@ -46984,7 +47688,7 @@ module Io
46984
47688
 
46985
47689
  class SessionForm
46986
47690
 
46987
- attr_reader :ip, :experience, :country, :currency, :language, :locale, :attributes, :experiment
47691
+ attr_reader :ip, :experience, :country, :currency, :language, :locale, :attributes
46988
47692
 
46989
47693
  def initialize(incoming={})
46990
47694
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -46995,7 +47699,6 @@ module Io
46995
47699
  @language = (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
46996
47700
  @locale = (x = opts.delete(:locale); x.nil? ? nil : HttpClient::Preconditions.assert_class('locale', x, String))
46997
47701
  @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 })
46998
- @experiment = (x = opts.delete(:experiment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionExperimentForm) ? x : ::Io::Flow::V0::Models::SessionExperimentForm.new(x)))
46999
47702
  end
47000
47703
 
47001
47704
  def to_json
@@ -47014,8 +47717,7 @@ module Io
47014
47717
  :currency => currency,
47015
47718
  :language => language,
47016
47719
  :locale => locale,
47017
- :attributes => attributes.nil? ? nil : attributes,
47018
- :experiment => experiment.nil? ? nil : experiment.to_hash
47720
+ :attributes => attributes.nil? ? nil : attributes
47019
47721
  }
47020
47722
  end
47021
47723
 
@@ -47082,7 +47784,7 @@ module Io
47082
47784
 
47083
47785
  class SessionPutForm
47084
47786
 
47085
- attr_reader :ip, :experience, :country, :currency, :language, :locale, :attributes, :experiment
47787
+ attr_reader :ip, :experience, :country, :currency, :language, :locale, :attributes
47086
47788
 
47087
47789
  def initialize(incoming={})
47088
47790
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -47093,7 +47795,6 @@ module Io
47093
47795
  @language = (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
47094
47796
  @locale = (x = opts.delete(:locale); x.nil? ? nil : HttpClient::Preconditions.assert_class('locale', x, String))
47095
47797
  @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 })
47096
- @experiment = (x = opts.delete(:experiment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SessionExperimentForm) ? x : ::Io::Flow::V0::Models::SessionExperimentForm.new(x)))
47097
47798
  end
47098
47799
 
47099
47800
  def to_json
@@ -47112,8 +47813,7 @@ module Io
47112
47813
  :currency => currency,
47113
47814
  :language => language,
47114
47815
  :locale => locale,
47115
- :attributes => attributes.nil? ? nil : attributes,
47116
- :experiment => experiment.nil? ? nil : experiment.to_hash
47816
+ :attributes => attributes.nil? ? nil : attributes
47117
47817
  }
47118
47818
  end
47119
47819
 
@@ -47803,7 +48503,7 @@ module Io
47803
48503
  # or commercial invoices
47804
48504
  class ShippingLabelDocument
47805
48505
 
47806
- attr_reader :zpl, :pdf, :png, :html
48506
+ attr_reader :zpl, :pdf, :png, :html, :required
47807
48507
 
47808
48508
  def initialize(incoming={})
47809
48509
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -47811,6 +48511,7 @@ module Io
47811
48511
  @pdf = (x = opts.delete(:pdf); x.nil? ? nil : HttpClient::Preconditions.assert_class('pdf', x, String))
47812
48512
  @png = (x = opts.delete(:png); x.nil? ? nil : HttpClient::Preconditions.assert_class('png', x, String))
47813
48513
  @html = (x = opts.delete(:html); x.nil? ? nil : HttpClient::Preconditions.assert_class('html', x, String))
48514
+ @required = HttpClient::Preconditions.assert_boolean('required', (x = opts.delete(:required); x.nil? ? true : x))
47814
48515
  end
47815
48516
 
47816
48517
  def to_json
@@ -47826,7 +48527,8 @@ module Io
47826
48527
  :zpl => zpl,
47827
48528
  :pdf => pdf,
47828
48529
  :png => png,
47829
- :html => html
48530
+ :html => html,
48531
+ :required => required
47830
48532
  }
47831
48533
  end
47832
48534
 
@@ -49118,7 +49820,7 @@ module Io
49118
49820
  # Model to represent a delivery metafield
49119
49821
  class ShopifyOrderDeliveryMetafield
49120
49822
 
49121
- attr_reader :key, :items, :service, :window, :cost, :prices, :total, :merchant_of_record_entity
49823
+ attr_reader :key, :items, :service, :window, :liability, :cost, :prices, :total, :merchant_of_record_entity
49122
49824
 
49123
49825
  def initialize(incoming={})
49124
49826
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -49127,6 +49829,7 @@ module Io
49127
49829
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShopifyOrderDeliveryMetafieldItem) ? x : ::Io::Flow::V0::Models::ShopifyOrderDeliveryMetafieldItem.new(x)) }
49128
49830
  @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
49129
49831
  @window = (x = opts.delete(:window); x.is_a?(::Io::Flow::V0::Models::DeliveryWindow) ? x : ::Io::Flow::V0::Models::DeliveryWindow.new(x))
49832
+ @liability = (x = opts.delete(:liability); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::RatecardOwner) ? x : ::Io::Flow::V0::Models::RatecardOwner.apply(x)))
49130
49833
  @cost = (x = opts.delete(:cost); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::MoneyWithOptionalBase) ? x : ::Io::Flow::V0::Models::MoneyWithOptionalBase.new(x)))
49131
49834
  @prices = (x = opts.delete(:prices); x.nil? ? nil : HttpClient::Preconditions.assert_class('prices', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x)) })
49132
49835
  @total = (x = opts.delete(:total); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x)))
@@ -49147,6 +49850,7 @@ module Io
49147
49850
  :items => items.map { |o| o.to_hash },
49148
49851
  :service => service.to_hash,
49149
49852
  :window => window.to_hash,
49853
+ :liability => liability.nil? ? nil : liability.value,
49150
49854
  :cost => cost.nil? ? nil : cost.to_hash,
49151
49855
  :prices => prices.nil? ? nil : prices.map { |o| o.to_hash },
49152
49856
  :total => total.nil? ? nil : total.to_hash,
@@ -49968,96 +50672,6 @@ module Io
49968
50672
 
49969
50673
  end
49970
50674
 
49971
- # Represents a typed query to indicate which items to include or exclude in a
49972
- # subcatalog
49973
- class SubcatalogQuery
49974
-
49975
- attr_reader :id, :q, :type
49976
-
49977
- def initialize(incoming={})
49978
- opts = HttpClient::Helper.symbolize_keys(incoming)
49979
- HttpClient::Preconditions.require_keys(opts, [:id, :q, :type], 'SubcatalogQuery')
49980
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
49981
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
49982
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::QueryType) ? x : ::Io::Flow::V0::Models::QueryType.apply(x))
49983
- end
49984
-
49985
- def to_json
49986
- JSON.dump(to_hash)
49987
- end
49988
-
49989
- def copy(incoming={})
49990
- SubcatalogQuery.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49991
- end
49992
-
49993
- def to_hash
49994
- {
49995
- :id => id,
49996
- :q => q,
49997
- :type => type.value
49998
- }
49999
- end
50000
-
50001
- end
50002
-
50003
- # Defines a query specifying items to be included or excluded in a subcatalog
50004
- class SubcatalogQueryForm
50005
-
50006
- attr_reader :q, :type
50007
-
50008
- def initialize(incoming={})
50009
- opts = HttpClient::Helper.symbolize_keys(incoming)
50010
- HttpClient::Preconditions.require_keys(opts, [:q, :type], 'SubcatalogQueryForm')
50011
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
50012
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::QueryType) ? x : ::Io::Flow::V0::Models::QueryType.apply(x))
50013
- end
50014
-
50015
- def to_json
50016
- JSON.dump(to_hash)
50017
- end
50018
-
50019
- def copy(incoming={})
50020
- SubcatalogQueryForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50021
- end
50022
-
50023
- def to_hash
50024
- {
50025
- :q => q,
50026
- :type => type.value
50027
- }
50028
- end
50029
-
50030
- end
50031
-
50032
- # Indicates valid and invalid queries
50033
- class SubcatalogQueryValidation
50034
-
50035
- attr_reader :valid, :invalid
50036
-
50037
- def initialize(incoming={})
50038
- opts = HttpClient::Helper.symbolize_keys(incoming)
50039
- HttpClient::Preconditions.require_keys(opts, [:valid, :invalid], 'SubcatalogQueryValidation')
50040
- @valid = HttpClient::Preconditions.assert_class('valid', opts.delete(:valid), Array).map { |v| HttpClient::Preconditions.assert_class('valid', v, String) }
50041
- @invalid = HttpClient::Preconditions.assert_class('invalid', opts.delete(:invalid), Array).map { |v| HttpClient::Preconditions.assert_class('invalid', v, String) }
50042
- end
50043
-
50044
- def to_json
50045
- JSON.dump(to_hash)
50046
- end
50047
-
50048
- def copy(incoming={})
50049
- SubcatalogQueryValidation.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50050
- end
50051
-
50052
- def to_hash
50053
- {
50054
- :valid => valid,
50055
- :invalid => invalid
50056
- }
50057
- end
50058
-
50059
- end
50060
-
50061
50675
  class SubcatalogReference < ExpandableSubcatalog
50062
50676
 
50063
50677
  attr_reader :id
@@ -50387,373 +51001,6 @@ module Io
50387
51001
 
50388
51002
  end
50389
51003
 
50390
- class Targeting
50391
-
50392
- attr_reader :id, :key, :queries, :catalog, :subcatalog
50393
-
50394
- def initialize(incoming={})
50395
- opts = HttpClient::Helper.symbolize_keys(incoming)
50396
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :queries, :catalog], 'Targeting')
50397
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50398
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
50399
- @queries = HttpClient::Preconditions.assert_class('queries', opts.delete(:queries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TargetingQuery) ? x : ::Io::Flow::V0::Models::TargetingQuery.new(x)) }
50400
- @catalog = (x = opts.delete(:catalog); x.is_a?(::Io::Flow::V0::Models::CatalogReference) ? x : ::Io::Flow::V0::Models::CatalogReference.new(x))
50401
- @subcatalog = (x = opts.delete(:subcatalog); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SubcatalogReference) ? x : ::Io::Flow::V0::Models::SubcatalogReference.new(x)))
50402
- end
50403
-
50404
- def to_json
50405
- JSON.dump(to_hash)
50406
- end
50407
-
50408
- def copy(incoming={})
50409
- Targeting.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50410
- end
50411
-
50412
- def to_hash
50413
- {
50414
- :id => id,
50415
- :key => key,
50416
- :queries => queries.map { |o| o.to_hash },
50417
- :catalog => catalog.to_hash,
50418
- :subcatalog => subcatalog.nil? ? nil : subcatalog.to_hash
50419
- }
50420
- end
50421
-
50422
- end
50423
-
50424
- class TargetingForm
50425
-
50426
- attr_reader :key, :queries, :subcatalog_id
50427
-
50428
- def initialize(incoming={})
50429
- opts = HttpClient::Helper.symbolize_keys(incoming)
50430
- HttpClient::Preconditions.require_keys(opts, [:key, :queries], 'TargetingForm')
50431
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
50432
- @queries = HttpClient::Preconditions.assert_class('queries', opts.delete(:queries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TargetingQueryForm) ? x : ::Io::Flow::V0::Models::TargetingQueryForm.new(x)) }
50433
- @subcatalog_id = (x = opts.delete(:subcatalog_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog_id', x, String))
50434
- end
50435
-
50436
- def to_json
50437
- JSON.dump(to_hash)
50438
- end
50439
-
50440
- def copy(incoming={})
50441
- TargetingForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50442
- end
50443
-
50444
- def to_hash
50445
- {
50446
- :key => key,
50447
- :queries => queries.map { |o| o.to_hash },
50448
- :subcatalog_id => subcatalog_id
50449
- }
50450
- end
50451
-
50452
- end
50453
-
50454
- # Represents catalog items where a targeting query is applicable
50455
- class TargetingItem
50456
-
50457
- attr_reader :id, :targeting, :item_number, :query
50458
-
50459
- def initialize(incoming={})
50460
- opts = HttpClient::Helper.symbolize_keys(incoming)
50461
- HttpClient::Preconditions.require_keys(opts, [:id, :targeting, :item_number, :query], 'TargetingItem')
50462
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50463
- @targeting = (x = opts.delete(:targeting); x.is_a?(::Io::Flow::V0::Models::TargetingSummary) ? x : ::Io::Flow::V0::Models::TargetingSummary.new(x))
50464
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
50465
- @query = (x = opts.delete(:query); x.is_a?(::Io::Flow::V0::Models::TargetingQuery) ? x : ::Io::Flow::V0::Models::TargetingQuery.new(x))
50466
- end
50467
-
50468
- def to_json
50469
- JSON.dump(to_hash)
50470
- end
50471
-
50472
- def copy(incoming={})
50473
- TargetingItem.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50474
- end
50475
-
50476
- def to_hash
50477
- {
50478
- :id => id,
50479
- :targeting => targeting.to_hash,
50480
- :item_number => item_number,
50481
- :query => query.to_hash
50482
- }
50483
- end
50484
-
50485
- end
50486
-
50487
- class TargetingItemDeleted < Event
50488
-
50489
- attr_reader :event_id, :timestamp, :id
50490
-
50491
- def initialize(incoming={})
50492
- super(:discriminator => Event::Types::TARGETING_ITEM_DELETED)
50493
- opts = HttpClient::Helper.symbolize_keys(incoming)
50494
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id], 'TargetingItemDeleted')
50495
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
50496
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
50497
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50498
- end
50499
-
50500
- def to_json
50501
- JSON.dump(to_hash)
50502
- end
50503
-
50504
- def copy(incoming={})
50505
- TargetingItemDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50506
- end
50507
-
50508
- def subtype_to_hash
50509
- {
50510
- :event_id => event_id,
50511
- :timestamp => timestamp,
50512
- :id => id
50513
- }
50514
- end
50515
-
50516
- end
50517
-
50518
- class TargetingItemDeletedV3 < Event
50519
-
50520
- attr_reader :event_id, :timestamp, :organization, :id
50521
-
50522
- def initialize(incoming={})
50523
- super(:discriminator => Event::Types::TARGETING_ITEM_DELETED_V3)
50524
- opts = HttpClient::Helper.symbolize_keys(incoming)
50525
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id], 'TargetingItemDeletedV3')
50526
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
50527
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
50528
- @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
50529
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50530
- end
50531
-
50532
- def to_json
50533
- JSON.dump(to_hash)
50534
- end
50535
-
50536
- def copy(incoming={})
50537
- TargetingItemDeletedV3.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50538
- end
50539
-
50540
- def subtype_to_hash
50541
- {
50542
- :event_id => event_id,
50543
- :timestamp => timestamp,
50544
- :organization => organization,
50545
- :id => id
50546
- }
50547
- end
50548
-
50549
- end
50550
-
50551
- # Indiciates that a given item has been targeted by the query q producing an
50552
- # outcome. The item number is unique within its targeting_id.
50553
- class TargetingItemUpserted < Event
50554
-
50555
- attr_reader :event_id, :timestamp, :organization, :id, :targeting_id, :item_number, :q, :outcome_id, :catalog_id, :key, :subcatalog_id
50556
-
50557
- def initialize(incoming={})
50558
- super(:discriminator => Event::Types::TARGETING_ITEM_UPSERTED)
50559
- opts = HttpClient::Helper.symbolize_keys(incoming)
50560
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id, :targeting_id, :item_number, :q, :outcome_id, :catalog_id, :key], 'TargetingItemUpserted')
50561
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
50562
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
50563
- @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
50564
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50565
- @targeting_id = HttpClient::Preconditions.assert_class('targeting_id', opts.delete(:targeting_id), String)
50566
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
50567
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
50568
- @outcome_id = HttpClient::Preconditions.assert_class('outcome_id', opts.delete(:outcome_id), String)
50569
- @catalog_id = HttpClient::Preconditions.assert_class('catalog_id', opts.delete(:catalog_id), String)
50570
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
50571
- @subcatalog_id = (x = opts.delete(:subcatalog_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog_id', x, String))
50572
- end
50573
-
50574
- def to_json
50575
- JSON.dump(to_hash)
50576
- end
50577
-
50578
- def copy(incoming={})
50579
- TargetingItemUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50580
- end
50581
-
50582
- def subtype_to_hash
50583
- {
50584
- :event_id => event_id,
50585
- :timestamp => timestamp,
50586
- :organization => organization,
50587
- :id => id,
50588
- :targeting_id => targeting_id,
50589
- :item_number => item_number,
50590
- :q => q,
50591
- :outcome_id => outcome_id,
50592
- :catalog_id => catalog_id,
50593
- :key => key,
50594
- :subcatalog_id => subcatalog_id
50595
- }
50596
- end
50597
-
50598
- end
50599
-
50600
- class TargetingItemUpsertedV2 < Event
50601
-
50602
- attr_reader :event_id, :timestamp, :organization, :targeting_item
50603
-
50604
- def initialize(incoming={})
50605
- super(:discriminator => Event::Types::TARGETING_ITEM_UPSERTED_V2)
50606
- opts = HttpClient::Helper.symbolize_keys(incoming)
50607
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :targeting_item], 'TargetingItemUpsertedV2')
50608
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
50609
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
50610
- @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
50611
- @targeting_item = (x = opts.delete(:targeting_item); x.is_a?(::Io::Flow::V0::Models::TargetingItem) ? x : ::Io::Flow::V0::Models::TargetingItem.new(x))
50612
- end
50613
-
50614
- def to_json
50615
- JSON.dump(to_hash)
50616
- end
50617
-
50618
- def copy(incoming={})
50619
- TargetingItemUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50620
- end
50621
-
50622
- def subtype_to_hash
50623
- {
50624
- :event_id => event_id,
50625
- :timestamp => timestamp,
50626
- :organization => organization,
50627
- :targeting_item => targeting_item.to_hash
50628
- }
50629
- end
50630
-
50631
- end
50632
-
50633
- class TargetingQuery
50634
-
50635
- attr_reader :id, :q, :outcome_id, :position
50636
-
50637
- def initialize(incoming={})
50638
- opts = HttpClient::Helper.symbolize_keys(incoming)
50639
- HttpClient::Preconditions.require_keys(opts, [:id, :q, :outcome_id, :position], 'TargetingQuery')
50640
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50641
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
50642
- @outcome_id = HttpClient::Preconditions.assert_class('outcome_id', opts.delete(:outcome_id), String)
50643
- @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
50644
- end
50645
-
50646
- def to_json
50647
- JSON.dump(to_hash)
50648
- end
50649
-
50650
- def copy(incoming={})
50651
- TargetingQuery.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50652
- end
50653
-
50654
- def to_hash
50655
- {
50656
- :id => id,
50657
- :q => q,
50658
- :outcome_id => outcome_id,
50659
- :position => position
50660
- }
50661
- end
50662
-
50663
- end
50664
-
50665
- class TargetingQueryForm
50666
-
50667
- attr_reader :q, :outcome_id
50668
-
50669
- def initialize(incoming={})
50670
- opts = HttpClient::Helper.symbolize_keys(incoming)
50671
- HttpClient::Preconditions.require_keys(opts, [:q, :outcome_id], 'TargetingQueryForm')
50672
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
50673
- @outcome_id = HttpClient::Preconditions.assert_class('outcome_id', opts.delete(:outcome_id), String)
50674
- end
50675
-
50676
- def to_json
50677
- JSON.dump(to_hash)
50678
- end
50679
-
50680
- def copy(incoming={})
50681
- TargetingQueryForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50682
- end
50683
-
50684
- def to_hash
50685
- {
50686
- :q => q,
50687
- :outcome_id => outcome_id
50688
- }
50689
- end
50690
-
50691
- end
50692
-
50693
- class TargetingSummary
50694
-
50695
- attr_reader :id, :key, :catalog, :subcatalog
50696
-
50697
- def initialize(incoming={})
50698
- opts = HttpClient::Helper.symbolize_keys(incoming)
50699
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :catalog], 'TargetingSummary')
50700
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50701
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
50702
- @catalog = (x = opts.delete(:catalog); x.is_a?(::Io::Flow::V0::Models::CatalogReference) ? x : ::Io::Flow::V0::Models::CatalogReference.new(x))
50703
- @subcatalog = (x = opts.delete(:subcatalog); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SubcatalogReference) ? x : ::Io::Flow::V0::Models::SubcatalogReference.new(x)))
50704
- end
50705
-
50706
- def to_json
50707
- JSON.dump(to_hash)
50708
- end
50709
-
50710
- def copy(incoming={})
50711
- TargetingSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50712
- end
50713
-
50714
- def to_hash
50715
- {
50716
- :id => id,
50717
- :key => key,
50718
- :catalog => catalog.to_hash,
50719
- :subcatalog => subcatalog.nil? ? nil : subcatalog.to_hash
50720
- }
50721
- end
50722
-
50723
- end
50724
-
50725
- class TargetingVersion
50726
-
50727
- attr_reader :id, :timestamp, :type, :targeting
50728
-
50729
- def initialize(incoming={})
50730
- opts = HttpClient::Helper.symbolize_keys(incoming)
50731
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :targeting], 'TargetingVersion')
50732
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
50733
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
50734
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
50735
- @targeting = (x = opts.delete(:targeting); x.is_a?(::Io::Flow::V0::Models::Targeting) ? x : ::Io::Flow::V0::Models::Targeting.new(x))
50736
- end
50737
-
50738
- def to_json
50739
- JSON.dump(to_hash)
50740
- end
50741
-
50742
- def copy(incoming={})
50743
- TargetingVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50744
- end
50745
-
50746
- def to_hash
50747
- {
50748
- :id => id,
50749
- :timestamp => timestamp,
50750
- :type => type.value,
50751
- :targeting => targeting.to_hash
50752
- }
50753
- end
50754
-
50755
- end
50756
-
50757
51004
  # Represents a simple model of taxes that apply to a given item / destination.
50758
51005
  class Tax
50759
51006
 
@@ -50892,7 +51139,7 @@ module Io
50892
51139
  # Express tier, Economy tier
50893
51140
  class Tier
50894
51141
 
50895
- attr_reader :id, :direction, :integration, :name, :message, :rules, :services, :strategy, :visibility, :currency, :description, :display, :shipping_lane, :surcharge_settings, :lane
51142
+ attr_reader :id, :direction, :integration, :name, :message, :rules, :services, :strategy, :visibility, :currency, :description, :display, :shipping_lane, :surcharge_settings, :lane, :settings
50896
51143
 
50897
51144
  def initialize(incoming={})
50898
51145
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -50912,6 +51159,7 @@ module Io
50912
51159
  @shipping_lane = (x = opts.delete(:shipping_lane); x.nil? ? nil : HttpClient::Preconditions.assert_class('shipping_lane', x, String))
50913
51160
  @surcharge_settings = (x = opts.delete(:surcharge_settings); x.nil? ? nil : HttpClient::Preconditions.assert_class('surcharge_settings', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::SurchargeSetting) ? x : ::Io::Flow::V0::Models::SurchargeSetting.new(x)) })
50914
51161
  @lane = (x = opts.delete(:lane); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLaneSummary) ? x : ::Io::Flow::V0::Models::ShippingLaneSummary.new(x)))
51162
+ @settings = (x = opts.delete(:settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierSettings) ? x : ::Io::Flow::V0::Models::TierSettings.new(x)))
50915
51163
  end
50916
51164
 
50917
51165
  def to_json
@@ -50938,7 +51186,8 @@ module Io
50938
51186
  :display => display.nil? ? nil : display.to_hash,
50939
51187
  :shipping_lane => shipping_lane,
50940
51188
  :surcharge_settings => surcharge_settings.nil? ? nil : surcharge_settings.map { |o| o.to_hash },
50941
- :lane => lane.nil? ? nil : lane.to_hash
51189
+ :lane => lane.nil? ? nil : lane.to_hash,
51190
+ :settings => settings.nil? ? nil : settings.to_hash
50942
51191
  }
50943
51192
  end
50944
51193
 
@@ -51060,7 +51309,7 @@ module Io
51060
51309
  # Express tier, Economy tier
51061
51310
  class TierForm
51062
51311
 
51063
- attr_reader :currency, :integration, :name, :message, :rules, :services, :strategy, :visibility, :description, :direction, :display, :shipping_lane, :surcharge_settings
51312
+ attr_reader :currency, :integration, :name, :message, :rules, :services, :strategy, :visibility, :description, :direction, :display, :shipping_lane, :surcharge_settings, :settings
51064
51313
 
51065
51314
  def initialize(incoming={})
51066
51315
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -51078,6 +51327,7 @@ module Io
51078
51327
  @display = (x = opts.delete(:display); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierDisplayForm) ? x : ::Io::Flow::V0::Models::TierDisplayForm.new(x)))
51079
51328
  @shipping_lane = HttpClient::Preconditions.assert_class('shipping_lane', opts.delete(:shipping_lane), String)
51080
51329
  @surcharge_settings = (x = opts.delete(:surcharge_settings); x.nil? ? nil : HttpClient::Preconditions.assert_class('surcharge_settings', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::SurchargeSetting) ? x : ::Io::Flow::V0::Models::SurchargeSetting.new(x)) })
51330
+ @settings = (x = opts.delete(:settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierSettings) ? x : ::Io::Flow::V0::Models::TierSettings.new(x)))
51081
51331
  end
51082
51332
 
51083
51333
  def to_json
@@ -51102,7 +51352,8 @@ module Io
51102
51352
  :direction => direction.nil? ? nil : direction.value,
51103
51353
  :display => display.nil? ? nil : display.to_hash,
51104
51354
  :shipping_lane => shipping_lane,
51105
- :surcharge_settings => surcharge_settings.nil? ? nil : surcharge_settings.map { |o| o.to_hash }
51355
+ :surcharge_settings => surcharge_settings.nil? ? nil : surcharge_settings.map { |o| o.to_hash },
51356
+ :settings => settings.nil? ? nil : settings.to_hash
51106
51357
  }
51107
51358
  end
51108
51359
 
@@ -51230,9 +51481,34 @@ module Io
51230
51481
 
51231
51482
  end
51232
51483
 
51484
+ class TierSettings
51485
+
51486
+ attr_reader :availability
51487
+
51488
+ def initialize(incoming={})
51489
+ opts = HttpClient::Helper.symbolize_keys(incoming)
51490
+ @availability = (x = (x = opts.delete(:availability); x.nil? ? "always" : x); x.is_a?(::Io::Flow::V0::Models::TierAvailability) ? x : ::Io::Flow::V0::Models::TierAvailability.apply(x))
51491
+ end
51492
+
51493
+ def to_json
51494
+ JSON.dump(to_hash)
51495
+ end
51496
+
51497
+ def copy(incoming={})
51498
+ TierSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
51499
+ end
51500
+
51501
+ def to_hash
51502
+ {
51503
+ :availability => availability.value
51504
+ }
51505
+ end
51506
+
51507
+ end
51508
+
51233
51509
  class TierSummary
51234
51510
 
51235
- attr_reader :id, :experience, :integration, :name, :services, :strategy, :visibility, :currency, :display, :message
51511
+ attr_reader :id, :experience, :integration, :name, :services, :strategy, :visibility, :currency, :display, :message, :settings
51236
51512
 
51237
51513
  def initialize(incoming={})
51238
51514
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -51247,6 +51523,7 @@ module Io
51247
51523
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
51248
51524
  @display = (x = opts.delete(:display); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierDisplay) ? x : ::Io::Flow::V0::Models::TierDisplay.new(x)))
51249
51525
  @message = (x = opts.delete(:message); x.nil? ? nil : HttpClient::Preconditions.assert_class('message', x, String))
51526
+ @settings = (x = opts.delete(:settings); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierSettings) ? x : ::Io::Flow::V0::Models::TierSettings.new(x)))
51250
51527
  end
51251
51528
 
51252
51529
  def to_json
@@ -51268,7 +51545,8 @@ module Io
51268
51545
  :visibility => visibility.value,
51269
51546
  :currency => currency,
51270
51547
  :display => display.nil? ? nil : display.to_hash,
51271
- :message => message
51548
+ :message => message,
51549
+ :settings => settings.nil? ? nil : settings.to_hash
51272
51550
  }
51273
51551
  end
51274
51552