flowcommerce 0.2.79 → 0.2.80

Sign up to get free protection for your applications and to get access to all the features.
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