flowcommerce 0.2.96 → 0.2.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba2fa0d6f1f69d6b4b31921a0dd4c76a345333a70526d54865e3e79e154cebc7
4
- data.tar.gz: 7d45949ae48d32ca63bf1ef1681246ca8bff8f02b1df47cd80c90e559ef41932
3
+ metadata.gz: b2d4ca9fdd1063c95604ff03b19e9f38aaee1c1cab5d5aeebcfe1e0a7dcd41b2
4
+ data.tar.gz: ab479a0e6c4cbb66837ce5e675256f192c0291080531563ad613181a270aa10d
5
5
  SHA512:
6
- metadata.gz: 492b8c89f1aee57bd163fe670d86a0ae9c1285ef168122ebaff8dc2999d22f289ab869262810d19f20d7bfbfb805d1fd062000b0865ddd945b22fce62730be95
7
- data.tar.gz: 2fe0335165764acc0a3f5fae3e0db24e617adb2a5b7756c91fea78b9f10aa218dbbb4df0077c7496b3c167903aef98110506b965f3f83bf34be8993b0553217b
6
+ metadata.gz: 180ae45f08216aae3e38505ff1b462a11d6f4aabda5dff10f778b1b36b86cea52b17772942eb2cb612edfdd03e9a7c2b4de663c52340169d34c92fb8358869f8
7
+ data.tar.gz: 561b1d82ce6a44175b0c1bd8b3013f34ac4ebfea5757fa939eed62934f36abf5b182196feb560b78c6b2189aa0b46122a3bdccd95db53ee5773fa7f637d9df71
data/README.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  Native ruby client to the Flow API (https://api.flow.io)
4
4
 
5
+ ## Status
6
+
7
+ Please note that this library and APIs are in ALPHA and are subject to
8
+ change and will break in the future. Once Flow Commerce releases its
9
+ official 1.0 library, API changes will be backwards compatible. Until
10
+ then - we are super grateful for your patience as we finalize the API
11
+ for our launch.
5
12
 
6
13
  ## Installation
7
14
 
@@ -1,5 +1,5 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.10.12
2
+ # Service version: 0.10.33
3
3
  # apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client
4
4
 
5
5
  require 'cgi'
@@ -26,7 +26,7 @@ module Io
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
28
  USER_AGENT = 'apibuilder 0.15.11 app.apibuilder.io/flow/api/latest/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.10.12' unless defined?(Constants::VERSION)
29
+ VERSION = '0.10.33' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -180,10 +180,6 @@ module Io
180
180
  @subcatalog_items ||= ::Io::Flow::V0::Clients::SubcatalogItems.new(self)
181
181
  end
182
182
 
183
- def organization_currency_settings
184
- @organization_currency_settings ||= ::Io::Flow::V0::Clients::OrganizationCurrencySettings.new(self)
185
- end
186
-
187
183
  def rates
188
184
  @rates ||= ::Io::Flow::V0::Clients::Rates.new(self)
189
185
  end
@@ -572,6 +568,14 @@ module Io
572
568
  @price_book_item_export_options ||= ::Io::Flow::V0::Clients::PriceBookItemExportOptions.new(self)
573
569
  end
574
570
 
571
+ def return_policies
572
+ @return_policies ||= ::Io::Flow::V0::Clients::ReturnPolicies.new(self)
573
+ end
574
+
575
+ def romanizations
576
+ @romanizations ||= ::Io::Flow::V0::Clients::Romanizations.new(self)
577
+ end
578
+
575
579
  def scheduled_exports
576
580
  @scheduled_exports ||= ::Io::Flow::V0::Clients::ScheduledExports.new(self)
577
581
  end
@@ -1489,6 +1493,21 @@ module Io
1489
1493
  ::Io::Flow::V0::Models::Pricing.new(r)
1490
1494
  end
1491
1495
 
1496
+ # Get the pricing settings versions for this experience
1497
+ def get_pricing_and_versions_by_key(organization, key, incoming={})
1498
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1499
+ HttpClient::Preconditions.assert_class('key', key, String)
1500
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1501
+ query = {
1502
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
1503
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1504
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1505
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
1506
+ }.delete_if { |k, v| v.nil? }
1507
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(key)}/pricing/versions").with_query(query).get
1508
+ r.map { |x| ::Io::Flow::V0::Models::PricingVersion.new(x) }
1509
+ end
1510
+
1492
1511
  # Get available promotions for the experience
1493
1512
  def get_promotions_and_available_by_key(organization, key, incoming={})
1494
1513
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -2932,76 +2951,6 @@ module Io
2932
2951
 
2933
2952
  end
2934
2953
 
2935
- class OrganizationCurrencySettings
2936
-
2937
- def initialize(client)
2938
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2939
- end
2940
-
2941
- # Search organization currency settings. Always paginated.
2942
- def get(organization, incoming={})
2943
- HttpClient::Preconditions.assert_class('organization', organization, String)
2944
- opts = HttpClient::Helper.symbolize_keys(incoming)
2945
- query = {
2946
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2947
- :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, String)),
2948
- :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
2949
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2950
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2951
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2952
- }.delete_if { |k, v| v.nil? }
2953
- r = @client.request("/#{CGI.escape(organization)}/currency/settings").with_query(query).get
2954
- r.map { |x| ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(x) }
2955
- end
2956
-
2957
- # Create organization currency settings.
2958
- def post(organization, organization_currency_setting_form)
2959
- HttpClient::Preconditions.assert_class('organization', organization, String)
2960
- (x = organization_currency_setting_form; x.is_a?(::Io::Flow::V0::Models::OrganizationCurrencySettingForm) ? x : ::Io::Flow::V0::Models::OrganizationCurrencySettingForm.new(x))
2961
- r = @client.request("/#{CGI.escape(organization)}/currency/settings").with_json(organization_currency_setting_form.to_json).post
2962
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2963
- end
2964
-
2965
- # Provides visibility into recent changes of each object, including deletion.
2966
- def get_versions(organization, incoming={})
2967
- HttpClient::Preconditions.assert_class('organization', organization, String)
2968
- opts = HttpClient::Helper.symbolize_keys(incoming)
2969
- query = {
2970
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2971
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2972
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2973
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2974
- }.delete_if { |k, v| v.nil? }
2975
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/versions").with_query(query).get
2976
- r.map { |x| ::Io::Flow::V0::Models::OrganizationCurrencySettingVersion.new(x) }
2977
- end
2978
-
2979
- def get_by_id(organization, id)
2980
- HttpClient::Preconditions.assert_class('organization', organization, String)
2981
- HttpClient::Preconditions.assert_class('id', id, String)
2982
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").get
2983
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2984
- end
2985
-
2986
- # Update an existing organization currency setting by id.
2987
- def put_by_id(organization, id, organization_currency_setting_form)
2988
- HttpClient::Preconditions.assert_class('organization', organization, String)
2989
- HttpClient::Preconditions.assert_class('id', id, String)
2990
- (x = organization_currency_setting_form; x.is_a?(::Io::Flow::V0::Models::OrganizationCurrencySettingForm) ? x : ::Io::Flow::V0::Models::OrganizationCurrencySettingForm.new(x))
2991
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").with_json(organization_currency_setting_form.to_json).put
2992
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2993
- end
2994
-
2995
- # Delete the organization currency setting with this id.
2996
- def delete_by_id(organization, id)
2997
- HttpClient::Preconditions.assert_class('organization', organization, String)
2998
- HttpClient::Preconditions.assert_class('id', id, String)
2999
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").delete
3000
- nil
3001
- end
3002
-
3003
- end
3004
-
3005
2954
  class Rates
3006
2955
 
3007
2956
  def initialize(client)
@@ -3016,7 +2965,6 @@ module Io
3016
2965
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3017
2966
  :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, Array).map { |v| HttpClient::Preconditions.assert_class('base', v, String) }),
3018
2967
  :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
3019
- :type => (x = (x = opts.delete(:type); x.nil? ? "organization" : x); x.is_a?(::Io::Flow::V0::Models::RateType) ? x : ::Io::Flow::V0::Models::RateType.apply(x)).value,
3020
2968
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3021
2969
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3022
2970
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
@@ -3033,7 +2981,6 @@ module Io
3033
2981
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3034
2982
  :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, String)),
3035
2983
  :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
3036
- :type => (x = (x = opts.delete(:type); x.nil? ? "organization" : x); x.is_a?(::Io::Flow::V0::Models::RateType) ? x : ::Io::Flow::V0::Models::RateType.apply(x)).value,
3037
2984
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3038
2985
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3039
2986
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
@@ -4720,6 +4667,13 @@ module Io
4720
4667
  ::Io::Flow::V0::Models::ShippingLabel.new(r)
4721
4668
  end
4722
4669
 
4670
+ def get_crossdock_and_labels_and_barcode_by_barcode(organization, barcode)
4671
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4672
+ HttpClient::Preconditions.assert_class('barcode', barcode, String)
4673
+ r = @client.request("/#{CGI.escape(organization)}/shipping_labels/crossdock/labels/#{CGI.escape(barcode)}/barcode").get
4674
+ ::Io::Flow::V0::Models::ShippingLabel.new(r)
4675
+ end
4676
+
4723
4677
  def get_versions(organization, incoming={})
4724
4678
  HttpClient::Preconditions.assert_class('organization', organization, String)
4725
4679
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -6882,6 +6836,88 @@ module Io
6882
6836
 
6883
6837
  end
6884
6838
 
6839
+ class ReturnPolicies
6840
+
6841
+ def initialize(client)
6842
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
6843
+ end
6844
+
6845
+ # Returns a list of return policies
6846
+ def get(organization, incoming={})
6847
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6848
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6849
+ query = {
6850
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
6851
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
6852
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
6853
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
6854
+ }.delete_if { |k, v| v.nil? }
6855
+ r = @client.request("/#{CGI.escape(organization)}/return/policies").with_query(query).get
6856
+ r.map { |x| ::Io::Flow::V0::Models::ReturnPolicy.new(x) }
6857
+ end
6858
+
6859
+ def post(organization, return_policy_form)
6860
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6861
+ (x = return_policy_form; x.is_a?(::Io::Flow::V0::Models::ReturnPolicyForm) ? x : ::Io::Flow::V0::Models::ReturnPolicyForm.new(x))
6862
+ r = @client.request("/#{CGI.escape(organization)}/return/policies").with_json(return_policy_form.to_json).post
6863
+ ::Io::Flow::V0::Models::ReturnPolicy.new(r)
6864
+ end
6865
+
6866
+ def get_versions(organization, incoming={})
6867
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6868
+ opts = HttpClient::Helper.symbolize_keys(incoming)
6869
+ query = {
6870
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
6871
+ :return_policy_id => (x = opts.delete(:return_policy_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('return_policy_id', x, Array).map { |v| HttpClient::Preconditions.assert_class('return_policy_id', v, String) }),
6872
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
6873
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
6874
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
6875
+ }.delete_if { |k, v| v.nil? }
6876
+ r = @client.request("/#{CGI.escape(organization)}/return/policies/versions").with_query(query).get
6877
+ r.map { |x| ::Io::Flow::V0::Models::ReturnPolicyVersion.new(x) }
6878
+ end
6879
+
6880
+ def get_by_id(organization, id)
6881
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6882
+ HttpClient::Preconditions.assert_class('id', id, String)
6883
+ r = @client.request("/#{CGI.escape(organization)}/return/policies/#{CGI.escape(id)}").get
6884
+ ::Io::Flow::V0::Models::ReturnPolicy.new(r)
6885
+ end
6886
+
6887
+ # Updates the specified return policy.
6888
+ def put_by_id(organization, id, return_policy_form)
6889
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6890
+ HttpClient::Preconditions.assert_class('id', id, String)
6891
+ (x = return_policy_form; x.is_a?(::Io::Flow::V0::Models::ReturnPolicyForm) ? x : ::Io::Flow::V0::Models::ReturnPolicyForm.new(x))
6892
+ r = @client.request("/#{CGI.escape(organization)}/return/policies/#{CGI.escape(id)}").with_json(return_policy_form.to_json).put
6893
+ ::Io::Flow::V0::Models::ReturnPolicy.new(r)
6894
+ end
6895
+
6896
+ # Marks the return policy deleted. Once updated, the policy itself will be
6897
+ # deleted.
6898
+ def put_deletion_by_id(organization, id)
6899
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6900
+ HttpClient::Preconditions.assert_class('id', id, String)
6901
+ r = @client.request("/#{CGI.escape(organization)}/return/policies/#{CGI.escape(id)}/deletion").put
6902
+ ::Io::Flow::V0::Models::ReturnPolicy.new(r)
6903
+ end
6904
+
6905
+ end
6906
+
6907
+ class Romanizations
6908
+
6909
+ def initialize(client)
6910
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
6911
+ end
6912
+
6913
+ def post(romanization_form)
6914
+ (x = romanization_form; x.is_a?(::Io::Flow::V0::Models::RomanizationForm) ? x : ::Io::Flow::V0::Models::RomanizationForm.new(x))
6915
+ r = @client.request("/romanize").with_json(romanization_form.to_json).post
6916
+ ::Io::Flow::V0::Models::Romanization.new(r)
6917
+ end
6918
+
6919
+ end
6920
+
6885
6921
  class ScheduledExports
6886
6922
 
6887
6923
  def initialize(client)
@@ -7594,10 +7630,17 @@ module Io
7594
7630
  end
7595
7631
 
7596
7632
  # Returns the tax settings for the organization.
7597
- def get(organization)
7633
+ def get(organization, incoming={})
7598
7634
  HttpClient::Preconditions.assert_class('organization', organization, String)
7599
- r = @client.request("/#{CGI.escape(organization)}/tax/settings").get
7600
- ::Io::Flow::V0::Models::TaxSetting.from_json(r)
7635
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7636
+ query = {
7637
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
7638
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
7639
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
7640
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
7641
+ }.delete_if { |k, v| v.nil? }
7642
+ r = @client.request("/#{CGI.escape(organization)}/tax/settings").with_query(query).get
7643
+ r.map { |x| ::Io::Flow::V0::Models::TaxSetting.from_json(x) }
7601
7644
  end
7602
7645
 
7603
7646
  def put(organization, tax_setting)
@@ -9110,8 +9153,8 @@ module Io
9110
9153
  EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED = 'experience_price_book_mapping_upserted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
9111
9154
  EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED = 'experience_logistics_settings_upserted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED)
9112
9155
  EXPERIENCE_LOGISTICS_SETTINGS_DELETED = 'experience_logistics_settings_deleted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_DELETED)
9113
- ITEM_MARGIN_DELETED = 'item_margin_deleted' unless defined?(ITEM_MARGIN_DELETED)
9114
- ITEM_MARGIN_UPSERTED = 'item_margin_upserted' unless defined?(ITEM_MARGIN_UPSERTED)
9156
+ ITEM_MARGIN_DELETED_V2 = 'item_margin_deleted_v2' unless defined?(ITEM_MARGIN_DELETED_V2)
9157
+ ITEM_MARGIN_UPSERTED_V2 = 'item_margin_upserted_v2' unless defined?(ITEM_MARGIN_UPSERTED_V2)
9115
9158
  ITEM_SALES_MARGIN_DELETED = 'item_sales_margin_deleted' unless defined?(ITEM_SALES_MARGIN_DELETED)
9116
9159
  ITEM_SALES_MARGIN_UPSERTED = 'item_sales_margin_upserted' unless defined?(ITEM_SALES_MARGIN_UPSERTED)
9117
9160
  LABEL_FORMAT_DELETED = 'label_format_deleted' unless defined?(LABEL_FORMAT_DELETED)
@@ -9169,6 +9212,7 @@ module Io
9169
9212
  ORDER_PLACED = 'order_placed' unless defined?(ORDER_PLACED)
9170
9213
  ORDER_PLACED_V2 = 'order_placed_v2' unless defined?(ORDER_PLACED_V2)
9171
9214
  READY_TO_FULFILL = 'ready_to_fulfill' unless defined?(READY_TO_FULFILL)
9215
+ READY_TO_FULFILL_V2 = 'ready_to_fulfill_v2' unless defined?(READY_TO_FULFILL_V2)
9172
9216
  MEMBERSHIP_UPSERTED_V2 = 'membership_upserted_v2' unless defined?(MEMBERSHIP_UPSERTED_V2)
9173
9217
  MEMBERSHIP_DELETED_V2 = 'membership_deleted_v2' unless defined?(MEMBERSHIP_DELETED_V2)
9174
9218
  ORGANIZATION_UPSERTED = 'organization_upserted' unless defined?(ORGANIZATION_UPSERTED)
@@ -9236,7 +9280,7 @@ module Io
9236
9280
  end
9237
9281
 
9238
9282
  def subtype_to_hash
9239
- raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, attribute_upserted_v2, attribute_deleted_v2, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, catalog_item_upserted_v2, catalog_item_deleted_v2, subcatalog_item_upserted, subcatalog_item_deleted, b2b_invoice_upserted, b2b_invoice_deleted, b2b_credit_memo_upserted, b2b_credit_memo_deleted, consumer_invoice_upserted, consumer_invoice_deleted, credit_memo_upserted, credit_memo_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, rate_deleted_v3, rate_upserted_v3, customer_upserted, customer_deleted, customer_address_book_contact_upserted, customer_address_book_contact_deleted, email_notification_upserted, email_notification_deleted, available_promotions_upserted, available_promotions_deleted, available_promotions_upserted_v2, available_promotions_deleted_v2, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_deleted_v2, experience_upserted_v2, country_status_upserted, country_status_deleted, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, experience_logistics_settings_upserted, experience_logistics_settings_deleted, item_margin_deleted, item_margin_upserted, item_sales_margin_deleted, item_sales_margin_upserted, label_format_deleted, label_format_upserted, order_deleted, order_upserted, order_deleted_v2, order_upserted_v2, order_identifier_deleted, order_identifier_upserted, order_identifier_deleted_v2, order_identifier_upserted_v2, order_identifier_upserted_v3, pricing_deleted, pricing_upserted, order_service_change_request, fraud_status_changed, center_upserted, center_deleted, shipping_configuration_upserted, shipping_configuration_deleted, tier_upserted_v2, tier_deleted_v2, shipping_lane_upserted, shipping_lane_deleted, shipping_configuration_item_availability_upserted, shipping_configuration_item_availability_deleted, shipping_configuration_item_shipping_pricing_upserted, shipping_configuration_item_shipping_pricing_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, snapshot_upserted, snapshot_deleted, label_upserted, label_deleted_v2, label_upserted_v2, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, checkout_optin_responses_upserted, checkout_optin_responses_deleted, browse_optin_responses_upserted, browse_optin_responses_deleted, order_placed, order_placed_v2, ready_to_fulfill, membership_upserted_v2, membership_deleted_v2, organization_upserted, organization_deleted, organization_upserted_v2, organization_deleted_v2, organization_short_id_upserted, organization_short_id_deleted, organization_default_configurations_upserted, organization_default_configurations_deleted, ecommerce_platform_upserted, ecommerce_platform_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted_v2, card_authorization_deleted_v2, online_authorization_upserted_v2, online_authorization_deleted_v2, capture_upserted_v2, capture_deleted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted_v2, refund_deleted_v2, refund_capture_upserted_v2, reversal_upserted, reversal_deleted, capture_identifier_upserted, capture_identifier_deleted, refund_identifier_upserted, refund_identifier_deleted, virtual_card_capture_upserted, virtual_card_capture_deleted, virtual_card_refund_upserted, virtual_card_refund_deleted, price_book_upserted, price_book_deleted, price_book_item_upserted, price_book_item_deleted, organization_rates_published, ratecard_lane_upserted, ratecard_lane_deleted, ratecard_upserted, ratecard_deleted, return_upserted, return_deleted, return_upserted_v2, return_deleted_v2, shopify_localization_setting_upserted, shopify_localization_setting_deleted, tracking_label_event_upserted'
9283
+ raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, attribute_upserted_v2, attribute_deleted_v2, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, catalog_item_upserted_v2, catalog_item_deleted_v2, subcatalog_item_upserted, subcatalog_item_deleted, b2b_invoice_upserted, b2b_invoice_deleted, b2b_credit_memo_upserted, b2b_credit_memo_deleted, consumer_invoice_upserted, consumer_invoice_deleted, credit_memo_upserted, credit_memo_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, rate_deleted_v3, rate_upserted_v3, customer_upserted, customer_deleted, customer_address_book_contact_upserted, customer_address_book_contact_deleted, email_notification_upserted, email_notification_deleted, available_promotions_upserted, available_promotions_deleted, available_promotions_upserted_v2, available_promotions_deleted_v2, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_deleted_v2, experience_upserted_v2, country_status_upserted, country_status_deleted, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, experience_logistics_settings_upserted, experience_logistics_settings_deleted, item_margin_deleted_v2, item_margin_upserted_v2, 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, ready_to_fulfill_v2, membership_upserted_v2, membership_deleted_v2, organization_upserted, organization_deleted, organization_upserted_v2, organization_deleted_v2, organization_short_id_upserted, organization_short_id_deleted, organization_default_configurations_upserted, organization_default_configurations_deleted, ecommerce_platform_upserted, ecommerce_platform_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted_v2, card_authorization_deleted_v2, online_authorization_upserted_v2, online_authorization_deleted_v2, capture_upserted_v2, capture_deleted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted_v2, refund_deleted_v2, refund_capture_upserted_v2, reversal_upserted, reversal_deleted, capture_identifier_upserted, capture_identifier_deleted, refund_identifier_upserted, refund_identifier_deleted, virtual_card_capture_upserted, virtual_card_capture_deleted, virtual_card_refund_upserted, virtual_card_refund_deleted, price_book_upserted, price_book_deleted, price_book_item_upserted, price_book_item_deleted, organization_rates_published, ratecard_lane_upserted, ratecard_lane_deleted, ratecard_upserted, ratecard_deleted, return_upserted, return_deleted, return_upserted_v2, return_deleted_v2, shopify_localization_setting_upserted, shopify_localization_setting_deleted, tracking_label_event_upserted'
9240
9284
  end
9241
9285
 
9242
9286
  def to_hash
@@ -9301,8 +9345,8 @@ module Io
9301
9345
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED; ExperiencePriceBookMappingUpserted.new(hash)
9302
9346
  when Types::EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED; ExperienceLogisticsSettingsUpserted.new(hash)
9303
9347
  when Types::EXPERIENCE_LOGISTICS_SETTINGS_DELETED; ExperienceLogisticsSettingsDeleted.new(hash)
9304
- when Types::ITEM_MARGIN_DELETED; ItemMarginDeleted.new(hash)
9305
- when Types::ITEM_MARGIN_UPSERTED; ItemMarginUpserted.new(hash)
9348
+ when Types::ITEM_MARGIN_DELETED_V2; ItemMarginDeletedV2.new(hash)
9349
+ when Types::ITEM_MARGIN_UPSERTED_V2; ItemMarginUpsertedV2.new(hash)
9306
9350
  when Types::ITEM_SALES_MARGIN_DELETED; ItemSalesMarginDeleted.new(hash)
9307
9351
  when Types::ITEM_SALES_MARGIN_UPSERTED; ItemSalesMarginUpserted.new(hash)
9308
9352
  when Types::LABEL_FORMAT_DELETED; LabelFormatDeleted.new(hash)
@@ -9360,6 +9404,7 @@ module Io
9360
9404
  when Types::ORDER_PLACED; OrderPlaced.new(hash)
9361
9405
  when Types::ORDER_PLACED_V2; OrderPlacedV2.new(hash)
9362
9406
  when Types::READY_TO_FULFILL; ReadyToFulfill.new(hash)
9407
+ when Types::READY_TO_FULFILL_V2; ReadyToFulfillV2.new(hash)
9363
9408
  when Types::MEMBERSHIP_UPSERTED_V2; MembershipUpsertedV2.new(hash)
9364
9409
  when Types::MEMBERSHIP_DELETED_V2; MembershipDeletedV2.new(hash)
9365
9410
  when Types::ORGANIZATION_UPSERTED; OrganizationUpserted.new(hash)
@@ -10029,6 +10074,7 @@ module Io
10029
10074
  SOLIDUS_VARIANT_EXPORT_TYPE = 'solidus_variant_export_type' unless defined?(SOLIDUS_VARIANT_EXPORT_TYPE)
10030
10075
  LOCALIZED_ITEM_PRICES_EXPORT_TYPE = 'localized_item_prices_export_type' unless defined?(LOCALIZED_ITEM_PRICES_EXPORT_TYPE)
10031
10076
  MARKETING_FEEDS_EXPORT_TYPE = 'marketing_feeds_export_type' unless defined?(MARKETING_FEEDS_EXPORT_TYPE)
10077
+ EXCLUSION_RULES_EXPORT_TYPE = 'exclusion_rules_export_type' unless defined?(EXCLUSION_RULES_EXPORT_TYPE)
10032
10078
  end
10033
10079
 
10034
10080
  attr_reader :discriminator
@@ -10040,7 +10086,7 @@ module Io
10040
10086
  end
10041
10087
 
10042
10088
  def subtype_to_hash
10043
- 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, harmonization_tariff_codes_export_type, unharmonized_item_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'
10089
+ 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, harmonization_tariff_codes_export_type, unharmonized_item_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, exclusion_rules_export_type'
10044
10090
  end
10045
10091
 
10046
10092
  def to_hash
@@ -10070,6 +10116,7 @@ module Io
10070
10116
  when Types::SOLIDUS_VARIANT_EXPORT_TYPE; SolidusVariantExportType.new(hash)
10071
10117
  when Types::LOCALIZED_ITEM_PRICES_EXPORT_TYPE; LocalizedItemPricesExportType.new(hash)
10072
10118
  when Types::MARKETING_FEEDS_EXPORT_TYPE; MarketingFeedsExportType.new(hash)
10119
+ when Types::EXCLUSION_RULES_EXPORT_TYPE; ExclusionRulesExportType.new(hash)
10073
10120
  else ExportTypeUndefinedType.new(:discriminator => discriminator)
10074
10121
  end
10075
10122
  end
@@ -10104,6 +10151,7 @@ module Io
10104
10151
 
10105
10152
  module Types
10106
10153
  FIELD_VALIDATION_REQUIRED = 'required' unless defined?(FIELD_VALIDATION_REQUIRED)
10154
+ FIELD_VALIDATION_REQUIRED_IF_PRESENT = 'required_if_present' unless defined?(FIELD_VALIDATION_REQUIRED_IF_PRESENT)
10107
10155
  FIELD_VALIDATION_MIN = 'min' unless defined?(FIELD_VALIDATION_MIN)
10108
10156
  FIELD_VALIDATION_MAX = 'max' unless defined?(FIELD_VALIDATION_MAX)
10109
10157
  FIELD_VALIDATION_PATTERN = 'pattern' unless defined?(FIELD_VALIDATION_PATTERN)
@@ -10118,7 +10166,7 @@ module Io
10118
10166
  end
10119
10167
 
10120
10168
  def subtype_to_hash
10121
- raise 'Cannot serialize an instance of field_validation_rule directly - must use one of the specific types: field_validation_required, field_validation_min, field_validation_max, field_validation_pattern'
10169
+ raise 'Cannot serialize an instance of field_validation_rule directly - must use one of the specific types: field_validation_required, field_validation_required_if_present, field_validation_min, field_validation_max, field_validation_pattern'
10122
10170
  end
10123
10171
 
10124
10172
  def to_hash
@@ -10133,6 +10181,7 @@ module Io
10133
10181
  end
10134
10182
  case discriminator
10135
10183
  when Types::FIELD_VALIDATION_REQUIRED; FieldValidationRequired.new(hash)
10184
+ when Types::FIELD_VALIDATION_REQUIRED_IF_PRESENT; FieldValidationRequiredIfPresent.new(hash)
10136
10185
  when Types::FIELD_VALIDATION_MIN; FieldValidationMin.new(hash)
10137
10186
  when Types::FIELD_VALIDATION_MAX; FieldValidationMax.new(hash)
10138
10187
  when Types::FIELD_VALIDATION_PATTERN; FieldValidationPattern.new(hash)
@@ -10423,6 +10472,9 @@ module Io
10423
10472
  # Items affected with rules pursuing an unlimited strategy will always be
10424
10473
  # available
10425
10474
  INVENTORY_UNLIMITED = 'inventory_unlimited' unless defined?(INVENTORY_UNLIMITED)
10475
+ # Items affected with rules pursuing an ecommerce platform strategy will always
10476
+ # follow the ecommerce platform inventory
10477
+ INVENTORY_FOLLOW_ECOMMERCE_PLATFORM = 'inventory_follow_ecommerce_platform' unless defined?(INVENTORY_FOLLOW_ECOMMERCE_PLATFORM)
10426
10478
  end
10427
10479
 
10428
10480
  attr_reader :discriminator
@@ -10434,7 +10486,7 @@ module Io
10434
10486
  end
10435
10487
 
10436
10488
  def subtype_to_hash
10437
- raise 'Cannot serialize an instance of inventory_strategy directly - must use one of the specific types: inventory_backorder, inventory_stock, inventory_unlimited'
10489
+ raise 'Cannot serialize an instance of inventory_strategy directly - must use one of the specific types: inventory_backorder, inventory_stock, inventory_unlimited, inventory_follow_ecommerce_platform'
10438
10490
  end
10439
10491
 
10440
10492
  def to_hash
@@ -10451,6 +10503,7 @@ module Io
10451
10503
  when Types::INVENTORY_BACKORDER; InventoryBackorder.new(hash)
10452
10504
  when Types::INVENTORY_STOCK; InventoryStock.new(hash)
10453
10505
  when Types::INVENTORY_UNLIMITED; InventoryUnlimited.new(hash)
10506
+ when Types::INVENTORY_FOLLOW_ECOMMERCE_PLATFORM; InventoryFollowEcommercePlatform.new(hash)
10454
10507
  else InventoryStrategyUndefinedType.new(:discriminator => discriminator)
10455
10508
  end
10456
10509
  end
@@ -12813,7 +12866,7 @@ module Io
12813
12866
  end
12814
12867
 
12815
12868
  def AddressFieldName.ALL
12816
- @@all ||= [AddressFieldName.first_name, AddressFieldName.last_name, AddressFieldName.street_1, AddressFieldName.street_2, AddressFieldName.city, AddressFieldName.province, AddressFieldName.postal, AddressFieldName.country, AddressFieldName.phone, AddressFieldName.company]
12869
+ @@all ||= [AddressFieldName.first_name, AddressFieldName.last_name, AddressFieldName.street_1, AddressFieldName.street_2, AddressFieldName.city, AddressFieldName.province, AddressFieldName.postal, AddressFieldName.country, AddressFieldName.phone, AddressFieldName.company, AddressFieldName.vat_registration_number]
12817
12870
  end
12818
12871
 
12819
12872
  def AddressFieldName.first_name
@@ -12856,6 +12909,10 @@ module Io
12856
12909
  @@_company ||= AddressFieldName.new('company')
12857
12910
  end
12858
12911
 
12912
+ def AddressFieldName.vat_registration_number
12913
+ @@_vat_registration_number ||= AddressFieldName.new('vat_registration_number')
12914
+ end
12915
+
12859
12916
  def to_hash
12860
12917
  value
12861
12918
  end
@@ -15203,7 +15260,7 @@ module Io
15203
15260
  end
15204
15261
 
15205
15262
  def EcommercePlatformType.ALL
15206
- @@all ||= [EcommercePlatformType.commercetools, EcommercePlatformType.custom, EcommercePlatformType.magento, EcommercePlatformType.shopify, EcommercePlatformType.sfcc, EcommercePlatformType.solidus, EcommercePlatformType.workarea]
15263
+ @@all ||= [EcommercePlatformType.commercetools, EcommercePlatformType.custom, EcommercePlatformType.hybris, EcommercePlatformType.magento, EcommercePlatformType.shopify, EcommercePlatformType.sfcc, EcommercePlatformType.solidus, EcommercePlatformType.workarea]
15207
15264
  end
15208
15265
 
15209
15266
  def EcommercePlatformType.commercetools
@@ -15214,6 +15271,10 @@ module Io
15214
15271
  @@_custom ||= EcommercePlatformType.new('custom')
15215
15272
  end
15216
15273
 
15274
+ def EcommercePlatformType.hybris
15275
+ @@_hybris ||= EcommercePlatformType.new('hybris')
15276
+ end
15277
+
15217
15278
  def EcommercePlatformType.magento
15218
15279
  @@_magento ||= EcommercePlatformType.new('magento')
15219
15280
  end
@@ -15289,6 +15350,46 @@ module Io
15289
15350
 
15290
15351
  end
15291
15352
 
15353
+ class EntityIdentifierType
15354
+
15355
+ attr_reader :value
15356
+
15357
+ def initialize(value)
15358
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
15359
+ end
15360
+
15361
+ # Returns the instance of EntityIdentifierType for this value, creating a new instance for an unknown value
15362
+ def EntityIdentifierType.apply(value)
15363
+ if value.instance_of?(EntityIdentifierType)
15364
+ value
15365
+ else
15366
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
15367
+ value.nil? ? nil : (from_string(value) || EntityIdentifierType.new(value))
15368
+ end
15369
+ end
15370
+
15371
+ # Returns the instance of EntityIdentifierType for this value, or nil if not found
15372
+ def EntityIdentifierType.from_string(value)
15373
+ HttpClient::Preconditions.assert_class('value', value, String)
15374
+ EntityIdentifierType.ALL.find { |v| v.value == value }
15375
+ end
15376
+
15377
+ def EntityIdentifierType.ALL
15378
+ @@all ||= [EntityIdentifierType.ioss]
15379
+ end
15380
+
15381
+ # The Import One-Stop Shop (IOSS) to comply with VAT on imported goods. see:
15382
+ # https://ec.europa.eu/taxation_customs/business/vat/ioss_en
15383
+ def EntityIdentifierType.ioss
15384
+ @@_ioss ||= EntityIdentifierType.new('ioss')
15385
+ end
15386
+
15387
+ def to_hash
15388
+ value
15389
+ end
15390
+
15391
+ end
15392
+
15292
15393
  class Environment
15293
15394
 
15294
15395
  attr_reader :value
@@ -15360,7 +15461,7 @@ module Io
15360
15461
  end
15361
15462
 
15362
15463
  def EventType.ALL
15363
- @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, EventType.attribute_upserted_v2, EventType.attribute_deleted_v2, EventType.catalog_upserted, EventType.catalog_deleted, EventType.subcatalog_upserted, EventType.subcatalog_deleted, EventType.catalog_item_upserted, EventType.catalog_item_deleted, EventType.catalog_item_upserted_v2, EventType.catalog_item_deleted_v2, EventType.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.b2b_invoice_upserted, EventType.b2b_invoice_deleted, EventType.b2b_credit_memo_upserted, EventType.b2b_credit_memo_deleted, EventType.consumer_invoice_upserted, EventType.consumer_invoice_deleted, EventType.credit_memo_upserted, EventType.credit_memo_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.rate_deleted_v3, EventType.rate_upserted_v3, EventType.customer_upserted, EventType.customer_deleted, EventType.customer_address_book_contact_upserted, EventType.customer_address_book_contact_deleted, EventType.email_notification_upserted, EventType.email_notification_deleted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.available_promotions_upserted_v2, EventType.available_promotions_deleted_v2, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_deleted_v2, EventType.experience_upserted_v2, EventType.country_status_upserted, EventType.country_status_deleted, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, EventType.experience_logistics_settings_upserted, EventType.experience_logistics_settings_deleted, EventType.item_margin_deleted, EventType.item_margin_upserted, EventType.item_sales_margin_deleted, EventType.item_sales_margin_upserted, EventType.label_format_deleted, EventType.label_format_upserted, EventType.order_deleted, EventType.order_upserted, EventType.order_deleted_v2, EventType.order_upserted_v2, EventType.order_identifier_deleted, EventType.order_identifier_upserted, EventType.order_identifier_deleted_v2, EventType.order_identifier_upserted_v2, EventType.order_identifier_upserted_v3, EventType.pricing_deleted, EventType.pricing_upserted, EventType.order_service_change_request, EventType.fraud_status_changed, EventType.center_upserted, EventType.center_deleted, EventType.shipping_configuration_upserted, EventType.shipping_configuration_deleted, EventType.tier_upserted_v2, EventType.tier_deleted_v2, EventType.shipping_lane_upserted, EventType.shipping_lane_deleted, EventType.shipping_configuration_item_availability_upserted, EventType.shipping_configuration_item_availability_deleted, EventType.shipping_configuration_item_shipping_pricing_upserted, EventType.shipping_configuration_item_shipping_pricing_deleted, EventType.hs6_code_upserted, EventType.hs6_code_deleted, EventType.hs10_code_upserted, EventType.hs10_code_deleted, EventType.item_origin_upserted, EventType.item_origin_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.label_deleted_v2, EventType.label_upserted_v2, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.checkout_optin_responses_upserted, EventType.checkout_optin_responses_deleted, EventType.browse_optin_responses_upserted, EventType.browse_optin_responses_deleted, EventType.order_placed, EventType.order_placed_v2, EventType.ready_to_fulfill, EventType.membership_upserted_v2, EventType.membership_deleted_v2, EventType.organization_upserted, EventType.organization_deleted, EventType.organization_upserted_v2, EventType.organization_deleted_v2, EventType.organization_short_id_upserted, EventType.organization_short_id_deleted, EventType.organization_default_configurations_upserted, EventType.organization_default_configurations_deleted, EventType.ecommerce_platform_upserted, EventType.ecommerce_platform_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted_v2, EventType.card_authorization_deleted_v2, EventType.online_authorization_upserted_v2, EventType.online_authorization_deleted_v2, EventType.capture_upserted_v2, EventType.capture_deleted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted_v2, EventType.refund_deleted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, EventType.reversal_deleted, EventType.capture_identifier_upserted, EventType.capture_identifier_deleted, EventType.refund_identifier_upserted, EventType.refund_identifier_deleted, EventType.virtual_card_capture_upserted, EventType.virtual_card_capture_deleted, EventType.virtual_card_refund_upserted, EventType.virtual_card_refund_deleted, EventType.price_book_upserted, EventType.price_book_deleted, EventType.price_book_item_upserted, EventType.price_book_item_deleted, EventType.organization_rates_published, EventType.ratecard_lane_upserted, EventType.ratecard_lane_deleted, EventType.ratecard_upserted, EventType.ratecard_deleted, EventType.return_upserted, EventType.return_deleted, EventType.return_upserted_v2, EventType.return_deleted_v2, EventType.shopify_localization_setting_upserted, EventType.shopify_localization_setting_deleted, EventType.tracking_label_event_upserted]
15464
+ @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, EventType.attribute_upserted_v2, EventType.attribute_deleted_v2, EventType.catalog_upserted, EventType.catalog_deleted, EventType.subcatalog_upserted, EventType.subcatalog_deleted, EventType.catalog_item_upserted, EventType.catalog_item_deleted, EventType.catalog_item_upserted_v2, EventType.catalog_item_deleted_v2, EventType.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.b2b_invoice_upserted, EventType.b2b_invoice_deleted, EventType.b2b_credit_memo_upserted, EventType.b2b_credit_memo_deleted, EventType.consumer_invoice_upserted, EventType.consumer_invoice_deleted, EventType.credit_memo_upserted, EventType.credit_memo_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.rate_deleted_v3, EventType.rate_upserted_v3, EventType.customer_upserted, EventType.customer_deleted, EventType.customer_address_book_contact_upserted, EventType.customer_address_book_contact_deleted, EventType.email_notification_upserted, EventType.email_notification_deleted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.available_promotions_upserted_v2, EventType.available_promotions_deleted_v2, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_deleted_v2, EventType.experience_upserted_v2, EventType.country_status_upserted, EventType.country_status_deleted, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, EventType.experience_logistics_settings_upserted, EventType.experience_logistics_settings_deleted, EventType.item_margin_deleted_v2, EventType.item_margin_upserted_v2, 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.ready_to_fulfill_v2, EventType.membership_upserted_v2, EventType.membership_deleted_v2, EventType.organization_upserted, EventType.organization_deleted, EventType.organization_upserted_v2, EventType.organization_deleted_v2, EventType.organization_short_id_upserted, EventType.organization_short_id_deleted, EventType.organization_default_configurations_upserted, EventType.organization_default_configurations_deleted, EventType.ecommerce_platform_upserted, EventType.ecommerce_platform_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted_v2, EventType.card_authorization_deleted_v2, EventType.online_authorization_upserted_v2, EventType.online_authorization_deleted_v2, EventType.capture_upserted_v2, EventType.capture_deleted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted_v2, EventType.refund_deleted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, EventType.reversal_deleted, EventType.capture_identifier_upserted, EventType.capture_identifier_deleted, EventType.refund_identifier_upserted, EventType.refund_identifier_deleted, EventType.virtual_card_capture_upserted, EventType.virtual_card_capture_deleted, EventType.virtual_card_refund_upserted, EventType.virtual_card_refund_deleted, EventType.price_book_upserted, EventType.price_book_deleted, EventType.price_book_item_upserted, EventType.price_book_item_deleted, EventType.organization_rates_published, EventType.ratecard_lane_upserted, EventType.ratecard_lane_deleted, EventType.ratecard_upserted, EventType.ratecard_deleted, EventType.return_upserted, EventType.return_deleted, EventType.return_upserted_v2, EventType.return_deleted_v2, EventType.shopify_localization_setting_upserted, EventType.shopify_localization_setting_deleted, EventType.tracking_label_event_upserted]
15364
15465
  end
15365
15466
 
15366
15467
  def EventType.attribute_upserted
@@ -15567,12 +15668,12 @@ module Io
15567
15668
  @@_experience_logistics_settings_deleted ||= EventType.new('experience_logistics_settings_deleted')
15568
15669
  end
15569
15670
 
15570
- def EventType.item_margin_deleted
15571
- @@_item_margin_deleted ||= EventType.new('item_margin_deleted')
15671
+ def EventType.item_margin_deleted_v2
15672
+ @@_item_margin_deleted_v2 ||= EventType.new('item_margin_deleted_v2')
15572
15673
  end
15573
15674
 
15574
- def EventType.item_margin_upserted
15575
- @@_item_margin_upserted ||= EventType.new('item_margin_upserted')
15675
+ def EventType.item_margin_upserted_v2
15676
+ @@_item_margin_upserted_v2 ||= EventType.new('item_margin_upserted_v2')
15576
15677
  end
15577
15678
 
15578
15679
  def EventType.item_sales_margin_deleted
@@ -15803,6 +15904,10 @@ module Io
15803
15904
  @@_ready_to_fulfill ||= EventType.new('ready_to_fulfill')
15804
15905
  end
15805
15906
 
15907
+ def EventType.ready_to_fulfill_v2
15908
+ @@_ready_to_fulfill_v2 ||= EventType.new('ready_to_fulfill_v2')
15909
+ end
15910
+
15806
15911
  def EventType.membership_upserted_v2
15807
15912
  @@_membership_upserted_v2 ||= EventType.new('membership_upserted_v2')
15808
15913
  end
@@ -17037,7 +17142,7 @@ module Io
17037
17142
  end
17038
17143
 
17039
17144
  def ImportType.ALL
17040
- @@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]
17145
+ @@all ||= [ImportType.catalog_items, ImportType.catalog_items_external, 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]
17041
17146
  end
17042
17147
 
17043
17148
  # Provides bulk upsert of items into an organization's catalog.
@@ -17045,6 +17150,12 @@ module Io
17045
17150
  @@_catalog_items ||= ImportType.new('catalog_items')
17046
17151
  end
17047
17152
 
17153
+ # Provides bulk list of items from an external resource to be upserted into an
17154
+ # organization’s catalog.
17155
+ def ImportType.catalog_items_external
17156
+ @@_catalog_items_external ||= ImportType.new('catalog_items_external')
17157
+ end
17158
+
17048
17159
  # Provides upload of customs descriptions for the products in a catalog.
17049
17160
  def ImportType.customs_descriptions
17050
17161
  @@_customs_descriptions ||= ImportType.new('customs_descriptions')
@@ -18371,7 +18482,7 @@ module Io
18371
18482
  end
18372
18483
 
18373
18484
  def OrderPriceDetailComponentKey.ALL
18374
- @@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]
18485
+ @@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.shipping_discount, 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]
18375
18486
  end
18376
18487
 
18377
18488
  # A general purpose adjustment applied to the order.
@@ -18463,6 +18574,11 @@ module Io
18463
18574
  @@_shipping ||= OrderPriceDetailComponentKey.new('shipping')
18464
18575
  end
18465
18576
 
18577
+ # A shipping discount applied to the entire order.
18578
+ def OrderPriceDetailComponentKey.shipping_discount
18579
+ @@_shipping_discount ||= OrderPriceDetailComponentKey.new('shipping_discount')
18580
+ end
18581
+
18466
18582
  # A discount applied to the entire order.
18467
18583
  def OrderPriceDetailComponentKey.order_discount
18468
18584
  @@_order_discount ||= OrderPriceDetailComponentKey.new('order_discount')
@@ -19702,50 +19818,6 @@ module Io
19702
19818
 
19703
19819
  end
19704
19820
 
19705
- class RateType
19706
-
19707
- attr_reader :value
19708
-
19709
- def initialize(value)
19710
- @value = HttpClient::Preconditions.assert_class('value', value, String)
19711
- end
19712
-
19713
- # Returns the instance of RateType for this value, creating a new instance for an unknown value
19714
- def RateType.apply(value)
19715
- if value.instance_of?(RateType)
19716
- value
19717
- else
19718
- HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19719
- value.nil? ? nil : (from_string(value) || RateType.new(value))
19720
- end
19721
- end
19722
-
19723
- # Returns the instance of RateType for this value, or nil if not found
19724
- def RateType.from_string(value)
19725
- HttpClient::Preconditions.assert_class('value', value, String)
19726
- RateType.ALL.find { |v| v.value == value }
19727
- end
19728
-
19729
- def RateType.ALL
19730
- @@all ||= [RateType.flow, RateType.organization]
19731
- end
19732
-
19733
- # Represents a Flow rate type (which excludes currency margins)
19734
- def RateType.flow
19735
- @@_flow ||= RateType.new('flow')
19736
- end
19737
-
19738
- # Represents an organization rate type (which includes currency margins)
19739
- def RateType.organization
19740
- @@_organization ||= RateType.new('organization')
19741
- end
19742
-
19743
- def to_hash
19744
- value
19745
- end
19746
-
19747
- end
19748
-
19749
19821
  class RatecardOwner
19750
19822
 
19751
19823
  attr_reader :value
@@ -19891,6 +19963,96 @@ module Io
19891
19963
 
19892
19964
  end
19893
19965
 
19966
+ class ReturnItemStatus
19967
+
19968
+ attr_reader :value
19969
+
19970
+ def initialize(value)
19971
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
19972
+ end
19973
+
19974
+ # Returns the instance of ReturnItemStatus for this value, creating a new instance for an unknown value
19975
+ def ReturnItemStatus.apply(value)
19976
+ if value.instance_of?(ReturnItemStatus)
19977
+ value
19978
+ else
19979
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19980
+ value.nil? ? nil : (from_string(value) || ReturnItemStatus.new(value))
19981
+ end
19982
+ end
19983
+
19984
+ # Returns the instance of ReturnItemStatus for this value, or nil if not found
19985
+ def ReturnItemStatus.from_string(value)
19986
+ HttpClient::Preconditions.assert_class('value', value, String)
19987
+ ReturnItemStatus.ALL.find { |v| v.value == value }
19988
+ end
19989
+
19990
+ def ReturnItemStatus.ALL
19991
+ @@all ||= [ReturnItemStatus.returnable, ReturnItemStatus.non_returnable]
19992
+ end
19993
+
19994
+ # The item in the catalog can be returned
19995
+ def ReturnItemStatus.returnable
19996
+ @@_returnable ||= ReturnItemStatus.new('returnable')
19997
+ end
19998
+
19999
+ # The item in the catalog cannot be returned
20000
+ def ReturnItemStatus.non_returnable
20001
+ @@_non_returnable ||= ReturnItemStatus.new('non-returnable')
20002
+ end
20003
+
20004
+ def to_hash
20005
+ value
20006
+ end
20007
+
20008
+ end
20009
+
20010
+ class ReturnPolicyState
20011
+
20012
+ attr_reader :value
20013
+
20014
+ def initialize(value)
20015
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20016
+ end
20017
+
20018
+ # Returns the instance of ReturnPolicyState for this value, creating a new instance for an unknown value
20019
+ def ReturnPolicyState.apply(value)
20020
+ if value.instance_of?(ReturnPolicyState)
20021
+ value
20022
+ else
20023
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20024
+ value.nil? ? nil : (from_string(value) || ReturnPolicyState.new(value))
20025
+ end
20026
+ end
20027
+
20028
+ # Returns the instance of ReturnPolicyState for this value, or nil if not found
20029
+ def ReturnPolicyState.from_string(value)
20030
+ HttpClient::Preconditions.assert_class('value', value, String)
20031
+ ReturnPolicyState.ALL.find { |v| v.value == value }
20032
+ end
20033
+
20034
+ def ReturnPolicyState.ALL
20035
+ @@all ||= [ReturnPolicyState.current, ReturnPolicyState.deleting, ReturnPolicyState.updating]
20036
+ end
20037
+
20038
+ def ReturnPolicyState.current
20039
+ @@_current ||= ReturnPolicyState.new('current')
20040
+ end
20041
+
20042
+ def ReturnPolicyState.deleting
20043
+ @@_deleting ||= ReturnPolicyState.new('deleting')
20044
+ end
20045
+
20046
+ def ReturnPolicyState.updating
20047
+ @@_updating ||= ReturnPolicyState.new('updating')
20048
+ end
20049
+
20050
+ def to_hash
20051
+ value
20052
+ end
20053
+
20054
+ end
20055
+
19894
20056
  class ReturnStatus
19895
20057
 
19896
20058
  attr_reader :value
@@ -22475,7 +22637,7 @@ module Io
22475
22637
 
22476
22638
  class AddressFieldValidation
22477
22639
 
22478
- attr_reader :first_name, :last_name, :street_1, :street_2, :city, :province, :postal, :phone
22640
+ attr_reader :first_name, :last_name, :street_1, :street_2, :city, :province, :postal, :phone, :vat_registration_number
22479
22641
 
22480
22642
  def initialize(incoming={})
22481
22643
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -22487,6 +22649,7 @@ module Io
22487
22649
  @province = HttpClient::Preconditions.assert_class('province', (x = opts.delete(:province); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FieldValidationRule) ? x : ::Io::Flow::V0::Models::FieldValidationRule.from_json(x)) }
22488
22650
  @postal = HttpClient::Preconditions.assert_class('postal', (x = opts.delete(:postal); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FieldValidationRule) ? x : ::Io::Flow::V0::Models::FieldValidationRule.from_json(x)) }
22489
22651
  @phone = HttpClient::Preconditions.assert_class('phone', (x = opts.delete(:phone); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FieldValidationRule) ? x : ::Io::Flow::V0::Models::FieldValidationRule.from_json(x)) }
22652
+ @vat_registration_number = HttpClient::Preconditions.assert_class('vat_registration_number', (x = opts.delete(:vat_registration_number); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FieldValidationRule) ? x : ::Io::Flow::V0::Models::FieldValidationRule.from_json(x)) }
22490
22653
  end
22491
22654
 
22492
22655
  def to_json
@@ -22506,7 +22669,8 @@ module Io
22506
22669
  :city => city.map { |o| o.to_hash },
22507
22670
  :province => province.map { |o| o.to_hash },
22508
22671
  :postal => postal.map { |o| o.to_hash },
22509
- :phone => phone.map { |o| o.to_hash }
22672
+ :phone => phone.map { |o| o.to_hash },
22673
+ :vat_registration_number => vat_registration_number.map { |o| o.to_hash }
22510
22674
  }
22511
22675
  end
22512
22676
 
@@ -31511,6 +31675,37 @@ module Io
31511
31675
 
31512
31676
  end
31513
31677
 
31678
+ # Tax identifier could be associated to a merchant of record entity.
31679
+ class EntityIdentifier
31680
+
31681
+ attr_reader :name, :number, :issuing_country
31682
+
31683
+ def initialize(incoming={})
31684
+ opts = HttpClient::Helper.symbolize_keys(incoming)
31685
+ HttpClient::Preconditions.require_keys(opts, [:name, :number], 'EntityIdentifier')
31686
+ @name = (x = opts.delete(:name); x.is_a?(::Io::Flow::V0::Models::EntityIdentifierType) ? x : ::Io::Flow::V0::Models::EntityIdentifierType.apply(x))
31687
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
31688
+ @issuing_country = (x = opts.delete(:issuing_country); x.nil? ? nil : HttpClient::Preconditions.assert_class('issuing_country', x, String))
31689
+ end
31690
+
31691
+ def to_json
31692
+ JSON.dump(to_hash)
31693
+ end
31694
+
31695
+ def copy(incoming={})
31696
+ EntityIdentifier.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
31697
+ end
31698
+
31699
+ def to_hash
31700
+ {
31701
+ :name => name.value,
31702
+ :number => number,
31703
+ :issuing_country => issuing_country
31704
+ }
31705
+ end
31706
+
31707
+ end
31708
+
31514
31709
  class EstimatedDimensions
31515
31710
 
31516
31711
  attr_reader :depth, :length, :weight, :width
@@ -31734,6 +31929,36 @@ module Io
31734
31929
 
31735
31930
  end
31736
31931
 
31932
+ # Defines the filters that can be applied when requesting an exclusion rule data
31933
+ # export
31934
+ class ExclusionRulesExportType < ExportType
31935
+
31936
+ attr_reader :states, :sort
31937
+
31938
+ def initialize(incoming={})
31939
+ super(:discriminator => ExportType::Types::EXCLUSION_RULES_EXPORT_TYPE)
31940
+ opts = HttpClient::Helper.symbolize_keys(incoming)
31941
+ @states = (x = opts.delete(:states); x.nil? ? nil : HttpClient::Preconditions.assert_class('states', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExclusionRuleState) ? x : ::Io::Flow::V0::Models::ExclusionRuleState.apply(x)) })
31942
+ @sort = (x = opts.delete(:sort); x.nil? ? nil : HttpClient::Preconditions.assert_class('sort', x, String))
31943
+ end
31944
+
31945
+ def to_json
31946
+ JSON.dump(to_hash)
31947
+ end
31948
+
31949
+ def copy(incoming={})
31950
+ ExclusionRulesExportType.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
31951
+ end
31952
+
31953
+ def subtype_to_hash
31954
+ {
31955
+ :states => states.nil? ? nil : states.map { |o| o.value },
31956
+ :sort => sort
31957
+ }
31958
+ end
31959
+
31960
+ end
31961
+
31737
31962
  # Experiences define a local experience for a given geographic region
31738
31963
  class Experience < ExpandableExperience
31739
31964
 
@@ -33252,16 +33477,17 @@ module Io
33252
33477
 
33253
33478
  class ExportLocalizedItemPrices
33254
33479
 
33255
- attr_reader :organization, :experience, :item, :prices, :status
33480
+ attr_reader :organization, :experience, :item, :prices, :status, :rates
33256
33481
 
33257
33482
  def initialize(incoming={})
33258
33483
  opts = HttpClient::Helper.symbolize_keys(incoming)
33259
33484
  HttpClient::Preconditions.require_keys(opts, [:organization, :experience, :item, :prices], 'ExportLocalizedItemPrices')
33260
33485
  @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x))
33261
- @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x))
33486
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceSummary) ? x : ::Io::Flow::V0::Models::ExperienceSummary.new(x))
33262
33487
  @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::CatalogItemReference) ? x : ::Io::Flow::V0::Models::CatalogItemReference.new(x))
33263
33488
  @prices = (x = opts.delete(:prices); x.is_a?(::Io::Flow::V0::Models::ExportLocalizedItemPricesDetail) ? x : ::Io::Flow::V0::Models::ExportLocalizedItemPricesDetail.new(x))
33264
33489
  @status = (x = opts.delete(:status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::SubcatalogItemStatus) ? x : ::Io::Flow::V0::Models::SubcatalogItemStatus.apply(x)))
33490
+ @rates = (x = opts.delete(:rates); x.nil? ? nil : HttpClient::Preconditions.assert_class('rates', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Rate) ? x : ::Io::Flow::V0::Models::Rate.new(x)) })
33265
33491
  end
33266
33492
 
33267
33493
  def to_json
@@ -33278,7 +33504,8 @@ module Io
33278
33504
  :experience => experience.to_hash,
33279
33505
  :item => item.to_hash,
33280
33506
  :prices => prices.to_hash,
33281
- :status => status.nil? ? nil : status.value
33507
+ :status => status.nil? ? nil : status.value,
33508
+ :rates => rates.nil? ? nil : rates.map { |o| o.to_hash }
33282
33509
  }
33283
33510
  end
33284
33511
 
@@ -33483,6 +33710,33 @@ module Io
33483
33710
 
33484
33711
  end
33485
33712
 
33713
+ # Indicates a field is required if it is presented in the user interface
33714
+ class FieldValidationRequiredIfPresent < FieldValidationRule
33715
+
33716
+ attr_reader :placeholder
33717
+
33718
+ def initialize(incoming={})
33719
+ super(:discriminator => FieldValidationRule::Types::FIELD_VALIDATION_REQUIRED_IF_PRESENT)
33720
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33721
+ @placeholder = (x = opts.delete(:placeholder); x.nil? ? nil : HttpClient::Preconditions.assert_class('placeholder', x, String))
33722
+ end
33723
+
33724
+ def to_json
33725
+ JSON.dump(to_hash)
33726
+ end
33727
+
33728
+ def copy(incoming={})
33729
+ FieldValidationRequiredIfPresent.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33730
+ end
33731
+
33732
+ def subtype_to_hash
33733
+ {
33734
+ :placeholder => placeholder
33735
+ }
33736
+ end
33737
+
33738
+ end
33739
+
33486
33740
  # Rule outcome where shipping surfaced in quote is pre-defined flat rate
33487
33741
  class FlatRate < TierRuleOutcome
33488
33742
 
@@ -36148,6 +36402,35 @@ module Io
36148
36402
 
36149
36403
  end
36150
36404
 
36405
+ # Items affected with rules pursuing an ecommerce platform strategy will always
36406
+ # follow the ecommerce platform inventory
36407
+ class InventoryFollowEcommercePlatform < InventoryStrategy
36408
+
36409
+ attr_reader :quantity
36410
+
36411
+ def initialize(incoming={})
36412
+ super(:discriminator => InventoryStrategy::Types::INVENTORY_FOLLOW_ECOMMERCE_PLATFORM)
36413
+ opts = HttpClient::Helper.symbolize_keys(incoming)
36414
+ HttpClient::Preconditions.require_keys(opts, [:quantity], 'InventoryFollowEcommercePlatform')
36415
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
36416
+ end
36417
+
36418
+ def to_json
36419
+ JSON.dump(to_hash)
36420
+ end
36421
+
36422
+ def copy(incoming={})
36423
+ InventoryFollowEcommercePlatform.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
36424
+ end
36425
+
36426
+ def subtype_to_hash
36427
+ {
36428
+ :quantity => quantity
36429
+ }
36430
+ end
36431
+
36432
+ end
36433
+
36151
36434
  class InventoryItemReference
36152
36435
 
36153
36436
  attr_reader :number
@@ -37050,7 +37333,7 @@ module Io
37050
37333
  # Defines a fixed and percent margin to apply to items matching a query.
37051
37334
  class ItemMargin
37052
37335
 
37053
- attr_reader :id, :key, :name, :q, :fixed, :percent, :position
37336
+ attr_reader :id, :key, :name, :q, :fixed, :percent, :position, :experience
37054
37337
 
37055
37338
  def initialize(incoming={})
37056
37339
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -37062,6 +37345,7 @@ module Io
37062
37345
  @fixed = HttpClient::Preconditions.assert_class('fixed', HttpClient::Helper.to_big_decimal(opts.delete(:fixed)), BigDecimal)
37063
37346
  @percent = HttpClient::Preconditions.assert_class('percent', HttpClient::Helper.to_big_decimal(opts.delete(:percent)), BigDecimal)
37064
37347
  @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
37348
+ @experience = (x = opts.delete(:experience); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x)))
37065
37349
  end
37066
37350
 
37067
37351
  def to_json
@@ -37080,25 +37364,25 @@ module Io
37080
37364
  :q => q,
37081
37365
  :fixed => fixed.to_f.to_s,
37082
37366
  :percent => percent.to_f.to_s,
37083
- :position => position
37367
+ :position => position,
37368
+ :experience => experience.nil? ? nil : experience.to_hash
37084
37369
  }
37085
37370
  end
37086
37371
 
37087
37372
  end
37088
37373
 
37089
- class ItemMarginDeleted < Event
37374
+ class ItemMarginDeletedV2 < Event
37090
37375
 
37091
- attr_reader :event_id, :timestamp, :item_margin_id, :organization_id, :experience_key
37376
+ attr_reader :event_id, :timestamp, :organization, :item_margin
37092
37377
 
37093
37378
  def initialize(incoming={})
37094
- super(:discriminator => Event::Types::ITEM_MARGIN_DELETED)
37379
+ super(:discriminator => Event::Types::ITEM_MARGIN_DELETED_V2)
37095
37380
  opts = HttpClient::Helper.symbolize_keys(incoming)
37096
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :item_margin_id, :organization_id, :experience_key], 'ItemMarginDeleted')
37381
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :item_margin], 'ItemMarginDeletedV2')
37097
37382
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
37098
37383
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
37099
- @item_margin_id = HttpClient::Preconditions.assert_class('item_margin_id', opts.delete(:item_margin_id), String)
37100
- @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
37101
- @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
37384
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
37385
+ @item_margin = (x = opts.delete(:item_margin); x.is_a?(::Io::Flow::V0::Models::ItemMargin) ? x : ::Io::Flow::V0::Models::ItemMargin.new(x))
37102
37386
  end
37103
37387
 
37104
37388
  def to_json
@@ -37106,16 +37390,15 @@ module Io
37106
37390
  end
37107
37391
 
37108
37392
  def copy(incoming={})
37109
- ItemMarginDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37393
+ ItemMarginDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37110
37394
  end
37111
37395
 
37112
37396
  def subtype_to_hash
37113
37397
  {
37114
37398
  :event_id => event_id,
37115
37399
  :timestamp => timestamp,
37116
- :item_margin_id => item_margin_id,
37117
- :organization_id => organization_id,
37118
- :experience_key => experience_key
37400
+ :organization => organization,
37401
+ :item_margin => item_margin.to_hash
37119
37402
  }
37120
37403
  end
37121
37404
 
@@ -37193,25 +37476,18 @@ module Io
37193
37476
 
37194
37477
  end
37195
37478
 
37196
- class ItemMarginUpserted < Event
37479
+ class ItemMarginUpsertedV2 < Event
37197
37480
 
37198
- attr_reader :event_id, :timestamp, :item_margin_id, :organization_id, :experience_key, :name, :q, :fixed, :percent, :position, :key
37481
+ attr_reader :event_id, :timestamp, :organization, :item_margin
37199
37482
 
37200
37483
  def initialize(incoming={})
37201
- super(:discriminator => Event::Types::ITEM_MARGIN_UPSERTED)
37484
+ super(:discriminator => Event::Types::ITEM_MARGIN_UPSERTED_V2)
37202
37485
  opts = HttpClient::Helper.symbolize_keys(incoming)
37203
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :item_margin_id, :organization_id, :experience_key, :name, :q, :fixed, :percent, :position], 'ItemMarginUpserted')
37486
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :item_margin], 'ItemMarginUpsertedV2')
37204
37487
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
37205
37488
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
37206
- @item_margin_id = HttpClient::Preconditions.assert_class('item_margin_id', opts.delete(:item_margin_id), String)
37207
- @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
37208
- @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
37209
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
37210
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
37211
- @fixed = HttpClient::Preconditions.assert_class('fixed', HttpClient::Helper.to_big_decimal(opts.delete(:fixed)), BigDecimal)
37212
- @percent = HttpClient::Preconditions.assert_class('percent', HttpClient::Helper.to_big_decimal(opts.delete(:percent)), BigDecimal)
37213
- @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
37214
- @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
37489
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
37490
+ @item_margin = (x = opts.delete(:item_margin); x.is_a?(::Io::Flow::V0::Models::ItemMargin) ? x : ::Io::Flow::V0::Models::ItemMargin.new(x))
37215
37491
  end
37216
37492
 
37217
37493
  def to_json
@@ -37219,22 +37495,15 @@ module Io
37219
37495
  end
37220
37496
 
37221
37497
  def copy(incoming={})
37222
- ItemMarginUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37498
+ ItemMarginUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37223
37499
  end
37224
37500
 
37225
37501
  def subtype_to_hash
37226
37502
  {
37227
37503
  :event_id => event_id,
37228
37504
  :timestamp => timestamp,
37229
- :item_margin_id => item_margin_id,
37230
- :organization_id => organization_id,
37231
- :experience_key => experience_key,
37232
- :name => name,
37233
- :q => q,
37234
- :fixed => fixed.to_f.to_s,
37235
- :percent => percent.to_f.to_s,
37236
- :position => position,
37237
- :key => key
37505
+ :organization => organization,
37506
+ :item_margin => item_margin.to_hash
37238
37507
  }
37239
37508
  end
37240
37509
 
@@ -39685,14 +39954,15 @@ module Io
39685
39954
  # specific Flow entity serving as merchant of record.
39686
39955
  class MerchantOfRecordEntity
39687
39956
 
39688
- attr_reader :organization, :name, :vat, :streets, :city, :province, :postal, :country, :phone, :email
39957
+ attr_reader :organization, :name, :vat, :identifiers, :streets, :city, :province, :postal, :country, :phone, :email
39689
39958
 
39690
39959
  def initialize(incoming={})
39691
39960
  opts = HttpClient::Helper.symbolize_keys(incoming)
39692
- HttpClient::Preconditions.require_keys(opts, [:organization, :name, :vat, :streets, :city, :country], 'MerchantOfRecordEntity')
39961
+ HttpClient::Preconditions.require_keys(opts, [:organization, :name, :streets, :city, :country], 'MerchantOfRecordEntity')
39693
39962
  @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x))
39694
39963
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
39695
- @vat = (x = opts.delete(:vat); x.is_a?(::Io::Flow::V0::Models::MerchantOfRecordEntityRegistration) ? x : ::Io::Flow::V0::Models::MerchantOfRecordEntityRegistration.new(x))
39964
+ @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::MerchantOfRecordEntityRegistration) ? x : ::Io::Flow::V0::Models::MerchantOfRecordEntityRegistration.new(x)))
39965
+ @identifiers = (x = opts.delete(:identifiers); x.nil? ? nil : HttpClient::Preconditions.assert_class('identifiers', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::EntityIdentifier) ? x : ::Io::Flow::V0::Models::EntityIdentifier.new(x)) })
39696
39966
  @streets = HttpClient::Preconditions.assert_class('streets', opts.delete(:streets), Array).map { |v| HttpClient::Preconditions.assert_class('streets', v, String) }
39697
39967
  @city = HttpClient::Preconditions.assert_class('city', opts.delete(:city), String)
39698
39968
  @province = (x = opts.delete(:province); x.nil? ? nil : HttpClient::Preconditions.assert_class('province', x, String))
@@ -39714,7 +39984,8 @@ module Io
39714
39984
  {
39715
39985
  :organization => organization.to_hash,
39716
39986
  :name => name,
39717
- :vat => vat.to_hash,
39987
+ :vat => vat.nil? ? nil : vat.to_hash,
39988
+ :identifiers => identifiers.nil? ? nil : identifiers.map { |o| o.to_hash },
39718
39989
  :streets => streets,
39719
39990
  :city => city,
39720
39991
  :province => province,
@@ -41620,7 +41891,7 @@ module Io
41620
41891
  # type of the payment can be used to further lookup transaction level detail
41621
41892
  class OrderPayment
41622
41893
 
41623
- attr_reader :id, :type, :merchant_of_record, :reference, :description, :total, :address, :date, :attributes
41894
+ attr_reader :id, :type, :merchant_of_record, :reference, :description, :total, :address, :date, :attributes, :method
41624
41895
 
41625
41896
  def initialize(incoming={})
41626
41897
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -41634,6 +41905,7 @@ module Io
41634
41905
  @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BillingAddress) ? x : ::Io::Flow::V0::Models::BillingAddress.new(x)))
41635
41906
  @date = (x = opts.delete(:date); x.nil? ? nil : HttpClient::Preconditions.assert_class('date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
41636
41907
  @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 }
41908
+ @method = (x = opts.delete(:method); x.nil? ? nil : HttpClient::Preconditions.assert_class('method', x, String))
41637
41909
  end
41638
41910
 
41639
41911
  def to_json
@@ -41654,7 +41926,8 @@ module Io
41654
41926
  :total => total.to_hash,
41655
41927
  :address => address.nil? ? nil : address.to_hash,
41656
41928
  :date => date,
41657
- :attributes => attributes
41929
+ :attributes => attributes,
41930
+ :method => method
41658
41931
  }
41659
41932
  end
41660
41933
 
@@ -42719,102 +42992,6 @@ module Io
42719
42992
 
42720
42993
  end
42721
42994
 
42722
- # Represents organization-specific currency conversion adjustments.
42723
- class OrganizationCurrencySetting
42724
-
42725
- attr_reader :id, :base, :target, :margin
42726
-
42727
- def initialize(incoming={})
42728
- opts = HttpClient::Helper.symbolize_keys(incoming)
42729
- HttpClient::Preconditions.require_keys(opts, [:id, :base, :target, :margin], 'OrganizationCurrencySetting')
42730
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42731
- @base = HttpClient::Preconditions.assert_class('base', opts.delete(:base), String)
42732
- @target = HttpClient::Preconditions.assert_class('target', opts.delete(:target), String)
42733
- @margin = HttpClient::Preconditions.assert_class('margin', HttpClient::Helper.to_big_decimal(opts.delete(:margin)), BigDecimal)
42734
- end
42735
-
42736
- def to_json
42737
- JSON.dump(to_hash)
42738
- end
42739
-
42740
- def copy(incoming={})
42741
- OrganizationCurrencySetting.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42742
- end
42743
-
42744
- def to_hash
42745
- {
42746
- :id => id,
42747
- :base => base,
42748
- :target => target,
42749
- :margin => margin.to_f.to_s
42750
- }
42751
- end
42752
-
42753
- end
42754
-
42755
- # Represents the parts of an organization setting that can be updated.
42756
- class OrganizationCurrencySettingForm
42757
-
42758
- attr_reader :base, :target, :margin
42759
-
42760
- def initialize(incoming={})
42761
- opts = HttpClient::Helper.symbolize_keys(incoming)
42762
- HttpClient::Preconditions.require_keys(opts, [:base, :target, :margin], 'OrganizationCurrencySettingForm')
42763
- @base = HttpClient::Preconditions.assert_class('base', opts.delete(:base), String)
42764
- @target = HttpClient::Preconditions.assert_class('target', opts.delete(:target), String)
42765
- @margin = HttpClient::Preconditions.assert_class('margin', HttpClient::Helper.to_big_decimal(opts.delete(:margin)), BigDecimal)
42766
- end
42767
-
42768
- def to_json
42769
- JSON.dump(to_hash)
42770
- end
42771
-
42772
- def copy(incoming={})
42773
- OrganizationCurrencySettingForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42774
- end
42775
-
42776
- def to_hash
42777
- {
42778
- :base => base,
42779
- :target => target,
42780
- :margin => margin.to_f.to_s
42781
- }
42782
- end
42783
-
42784
- end
42785
-
42786
- class OrganizationCurrencySettingVersion
42787
-
42788
- attr_reader :id, :timestamp, :type, :organization_currency_setting
42789
-
42790
- def initialize(incoming={})
42791
- opts = HttpClient::Helper.symbolize_keys(incoming)
42792
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :organization_currency_setting], 'OrganizationCurrencySettingVersion')
42793
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42794
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
42795
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
42796
- @organization_currency_setting = (x = opts.delete(:organization_currency_setting); x.is_a?(::Io::Flow::V0::Models::OrganizationCurrencySetting) ? x : ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(x))
42797
- end
42798
-
42799
- def to_json
42800
- JSON.dump(to_hash)
42801
- end
42802
-
42803
- def copy(incoming={})
42804
- OrganizationCurrencySettingVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42805
- end
42806
-
42807
- def to_hash
42808
- {
42809
- :id => id,
42810
- :timestamp => timestamp,
42811
- :type => type.value,
42812
- :organization_currency_setting => organization_currency_setting.to_hash
42813
- }
42814
- end
42815
-
42816
- end
42817
-
42818
42995
  class OrganizationDefaultConfigurations
42819
42996
 
42820
42997
  attr_reader :id, :checkout_configuration
@@ -45997,6 +46174,38 @@ module Io
45997
46174
 
45998
46175
  end
45999
46176
 
46177
+ class PricingVersion
46178
+
46179
+ attr_reader :id, :timestamp, :type, :pricing
46180
+
46181
+ def initialize(incoming={})
46182
+ opts = HttpClient::Helper.symbolize_keys(incoming)
46183
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :pricing], 'PricingVersion')
46184
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
46185
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
46186
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
46187
+ @pricing = (x = opts.delete(:pricing); x.is_a?(::Io::Flow::V0::Models::Pricing) ? x : ::Io::Flow::V0::Models::Pricing.new(x))
46188
+ end
46189
+
46190
+ def to_json
46191
+ JSON.dump(to_hash)
46192
+ end
46193
+
46194
+ def copy(incoming={})
46195
+ PricingVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
46196
+ end
46197
+
46198
+ def to_hash
46199
+ {
46200
+ :id => id,
46201
+ :timestamp => timestamp,
46202
+ :type => type.value,
46203
+ :pricing => pricing.to_hash
46204
+ }
46205
+ end
46206
+
46207
+ end
46208
+
46000
46209
  class ProcessingEstimate
46001
46210
 
46002
46211
  attr_reader :location, :min_date, :max_date, :source
@@ -47793,6 +48002,75 @@ module Io
47793
48002
 
47794
48003
  end
47795
48004
 
48005
+ class ReadyToFulfillDetails
48006
+
48007
+ attr_reader :id, :order_number, :order, :fulfillments, :fulfillment_item_allocation_details
48008
+
48009
+ def initialize(incoming={})
48010
+ opts = HttpClient::Helper.symbolize_keys(incoming)
48011
+ HttpClient::Preconditions.require_keys(opts, [:id, :order_number, :order], 'ReadyToFulfillDetails')
48012
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
48013
+ @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
48014
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::Order) ? x : ::Io::Flow::V0::Models::Order.new(x))
48015
+ @fulfillments = (x = opts.delete(:fulfillments); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillments', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Fulfillment) ? x : ::Io::Flow::V0::Models::Fulfillment.new(x)) })
48016
+ @fulfillment_item_allocation_details = (x = opts.delete(:fulfillment_item_allocation_details); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_item_allocation_details', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FulfillmentItemAllocationDetails) ? x : ::Io::Flow::V0::Models::FulfillmentItemAllocationDetails.new(x)) })
48017
+ end
48018
+
48019
+ def to_json
48020
+ JSON.dump(to_hash)
48021
+ end
48022
+
48023
+ def copy(incoming={})
48024
+ ReadyToFulfillDetails.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
48025
+ end
48026
+
48027
+ def to_hash
48028
+ {
48029
+ :id => id,
48030
+ :order_number => order_number,
48031
+ :order => order.to_hash,
48032
+ :fulfillments => fulfillments.nil? ? nil : fulfillments.map { |o| o.to_hash },
48033
+ :fulfillment_item_allocation_details => fulfillment_item_allocation_details.nil? ? nil : fulfillment_item_allocation_details.map { |o| o.to_hash }
48034
+ }
48035
+ end
48036
+
48037
+ end
48038
+
48039
+ # Sent when an order is assigned to a fulfillment center in whole or in part.
48040
+ # All assigned fulfillments for all centers will be included on the message.
48041
+ class ReadyToFulfillV2 < Event
48042
+
48043
+ attr_reader :event_id, :timestamp, :organization, :ready_to_fulfill
48044
+
48045
+ def initialize(incoming={})
48046
+ super(:discriminator => Event::Types::READY_TO_FULFILL_V2)
48047
+ opts = HttpClient::Helper.symbolize_keys(incoming)
48048
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :ready_to_fulfill], 'ReadyToFulfillV2')
48049
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
48050
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
48051
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
48052
+ @ready_to_fulfill = (x = opts.delete(:ready_to_fulfill); x.is_a?(::Io::Flow::V0::Models::ReadyToFulfillDetails) ? x : ::Io::Flow::V0::Models::ReadyToFulfillDetails.new(x))
48053
+ end
48054
+
48055
+ def to_json
48056
+ JSON.dump(to_hash)
48057
+ end
48058
+
48059
+ def copy(incoming={})
48060
+ ReadyToFulfillV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
48061
+ end
48062
+
48063
+ def subtype_to_hash
48064
+ {
48065
+ :event_id => event_id,
48066
+ :timestamp => timestamp,
48067
+ :organization => organization,
48068
+ :ready_to_fulfill => ready_to_fulfill.to_hash
48069
+ }
48070
+ end
48071
+
48072
+ end
48073
+
47796
48074
  # Represents an online payment that requires the user to redirect to another
47797
48075
  # site before entering their payment information.
47798
48076
  class RedirectAuthorizationDetails < OnlineAuthorizationDetails
@@ -49132,6 +49410,166 @@ module Io
49132
49410
 
49133
49411
  end
49134
49412
 
49413
+ # A global return policy allows the user to select 1 or more items by query and
49414
+ # to globally mark those items as non-returnable
49415
+ class ReturnPolicy
49416
+
49417
+ attr_reader :id, :q, :query, :status, :description, :statistics
49418
+
49419
+ def initialize(incoming={})
49420
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49421
+ HttpClient::Preconditions.require_keys(opts, [:id, :q, :query, :status, :statistics], 'ReturnPolicy')
49422
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
49423
+ @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
49424
+ @query = (x = opts.delete(:query); x.is_a?(::Io::Flow::V0::Models::Query) ? x : ::Io::Flow::V0::Models::Query.new(x))
49425
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ReturnItemStatus) ? x : ::Io::Flow::V0::Models::ReturnItemStatus.apply(x))
49426
+ @description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
49427
+ @statistics = (x = opts.delete(:statistics); x.is_a?(::Io::Flow::V0::Models::ReturnPolicyStatistic) ? x : ::Io::Flow::V0::Models::ReturnPolicyStatistic.new(x))
49428
+ end
49429
+
49430
+ def to_json
49431
+ JSON.dump(to_hash)
49432
+ end
49433
+
49434
+ def copy(incoming={})
49435
+ ReturnPolicy.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49436
+ end
49437
+
49438
+ def to_hash
49439
+ {
49440
+ :id => id,
49441
+ :q => q,
49442
+ :query => query.to_hash,
49443
+ :status => status.value,
49444
+ :description => description,
49445
+ :statistics => statistics.to_hash
49446
+ }
49447
+ end
49448
+
49449
+ end
49450
+
49451
+ class ReturnPolicyForm
49452
+
49453
+ attr_reader :q, :description
49454
+
49455
+ def initialize(incoming={})
49456
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49457
+ HttpClient::Preconditions.require_keys(opts, [:q], 'ReturnPolicyForm')
49458
+ @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
49459
+ @description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
49460
+ end
49461
+
49462
+ def to_json
49463
+ JSON.dump(to_hash)
49464
+ end
49465
+
49466
+ def copy(incoming={})
49467
+ ReturnPolicyForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49468
+ end
49469
+
49470
+ def to_hash
49471
+ {
49472
+ :q => q,
49473
+ :description => description
49474
+ }
49475
+ end
49476
+
49477
+ end
49478
+
49479
+ class ReturnPolicyItemResult
49480
+
49481
+ attr_reader :id, :organization_id, :catalog_item_id, :return_policy_id, :status
49482
+
49483
+ def initialize(incoming={})
49484
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49485
+ HttpClient::Preconditions.require_keys(opts, [:id, :organization_id, :catalog_item_id, :return_policy_id, :status], 'ReturnPolicyItemResult')
49486
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
49487
+ @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
49488
+ @catalog_item_id = HttpClient::Preconditions.assert_class('catalog_item_id', opts.delete(:catalog_item_id), String)
49489
+ @return_policy_id = HttpClient::Preconditions.assert_class('return_policy_id', opts.delete(:return_policy_id), String)
49490
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ReturnItemStatus) ? x : ::Io::Flow::V0::Models::ReturnItemStatus.apply(x))
49491
+ end
49492
+
49493
+ def to_json
49494
+ JSON.dump(to_hash)
49495
+ end
49496
+
49497
+ def copy(incoming={})
49498
+ ReturnPolicyItemResult.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49499
+ end
49500
+
49501
+ def to_hash
49502
+ {
49503
+ :id => id,
49504
+ :organization_id => organization_id,
49505
+ :catalog_item_id => catalog_item_id,
49506
+ :return_policy_id => return_policy_id,
49507
+ :status => status.value
49508
+ }
49509
+ end
49510
+
49511
+ end
49512
+
49513
+ class ReturnPolicyStatistic
49514
+
49515
+ attr_reader :state, :number_items
49516
+
49517
+ def initialize(incoming={})
49518
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49519
+ HttpClient::Preconditions.require_keys(opts, [:state, :number_items], 'ReturnPolicyStatistic')
49520
+ @state = (x = opts.delete(:state); x.is_a?(::Io::Flow::V0::Models::ReturnPolicyState) ? x : ::Io::Flow::V0::Models::ReturnPolicyState.apply(x))
49521
+ @number_items = HttpClient::Preconditions.assert_class('number_items', opts.delete(:number_items), Integer)
49522
+ end
49523
+
49524
+ def to_json
49525
+ JSON.dump(to_hash)
49526
+ end
49527
+
49528
+ def copy(incoming={})
49529
+ ReturnPolicyStatistic.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49530
+ end
49531
+
49532
+ def to_hash
49533
+ {
49534
+ :state => state.value,
49535
+ :number_items => number_items
49536
+ }
49537
+ end
49538
+
49539
+ end
49540
+
49541
+ class ReturnPolicyVersion
49542
+
49543
+ attr_reader :id, :timestamp, :type, :return_policy
49544
+
49545
+ def initialize(incoming={})
49546
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49547
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :return_policy], 'ReturnPolicyVersion')
49548
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
49549
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
49550
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
49551
+ @return_policy = (x = opts.delete(:return_policy); x.is_a?(::Io::Flow::V0::Models::ReturnPolicy) ? x : ::Io::Flow::V0::Models::ReturnPolicy.new(x))
49552
+ end
49553
+
49554
+ def to_json
49555
+ JSON.dump(to_hash)
49556
+ end
49557
+
49558
+ def copy(incoming={})
49559
+ ReturnPolicyVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49560
+ end
49561
+
49562
+ def to_hash
49563
+ {
49564
+ :id => id,
49565
+ :timestamp => timestamp,
49566
+ :type => type.value,
49567
+ :return_policy => return_policy.to_hash
49568
+ }
49569
+ end
49570
+
49571
+ end
49572
+
49135
49573
  class ReturnReason
49136
49574
 
49137
49575
  attr_reader :name
@@ -49613,6 +50051,63 @@ module Io
49613
50051
 
49614
50052
  end
49615
50053
 
50054
+ # The data in the this model reflects transliterated text into Roman (Latin)
50055
+ # script, a consumable format for system processing
50056
+ class Romanization
50057
+
50058
+ attr_reader :address, :contact
50059
+
50060
+ def initialize(incoming={})
50061
+ opts = HttpClient::Helper.symbolize_keys(incoming)
50062
+ @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
50063
+ @contact = (x = opts.delete(:contact); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Contact) ? x : ::Io::Flow::V0::Models::Contact.new(x)))
50064
+ end
50065
+
50066
+ def to_json
50067
+ JSON.dump(to_hash)
50068
+ end
50069
+
50070
+ def copy(incoming={})
50071
+ Romanization.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50072
+ end
50073
+
50074
+ def to_hash
50075
+ {
50076
+ :address => address.nil? ? nil : address.to_hash,
50077
+ :contact => contact.nil? ? nil : contact.to_hash
50078
+ }
50079
+ end
50080
+
50081
+ end
50082
+
50083
+ # Information to be romanized
50084
+ class RomanizationForm
50085
+
50086
+ attr_reader :address, :contact
50087
+
50088
+ def initialize(incoming={})
50089
+ opts = HttpClient::Helper.symbolize_keys(incoming)
50090
+ @address = (x = opts.delete(:address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
50091
+ @contact = (x = opts.delete(:contact); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Contact) ? x : ::Io::Flow::V0::Models::Contact.new(x)))
50092
+ end
50093
+
50094
+ def to_json
50095
+ JSON.dump(to_hash)
50096
+ end
50097
+
50098
+ def copy(incoming={})
50099
+ RomanizationForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
50100
+ end
50101
+
50102
+ def to_hash
50103
+ {
50104
+ :address => address.nil? ? nil : address.to_hash,
50105
+ :contact => contact.nil? ? nil : contact.to_hash
50106
+ }
50107
+ end
50108
+
50109
+ end
50110
+
49616
50111
  class Rounding
49617
50112
 
49618
50113
  attr_reader :type, :method, :value