flowcommerce 0.2.96 → 0.2.97

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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