flowcommerce 0.2.89 → 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: 9870871fa06f875aa06baf8d7184cc177c6fb41cf76b4d300be4813b52a8a8e7
4
- data.tar.gz: 9f2d4c6d58ed7bcb0df6939923b516fd3f604eecd77c9ad86633b3f4ba9c813a
3
+ metadata.gz: b2d4ca9fdd1063c95604ff03b19e9f38aaee1c1cab5d5aeebcfe1e0a7dcd41b2
4
+ data.tar.gz: ab479a0e6c4cbb66837ce5e675256f192c0291080531563ad613181a270aa10d
5
5
  SHA512:
6
- metadata.gz: f857bebfcc2045c6e8e1e57b3b8ccf43f56171ddaefe86ff09cd3522e6447e499e2ae0fb557fa9585de0aed1d849bf32e8b3a9daf7169fd41e0ab0dab80df3a5
7
- data.tar.gz: 7cc64ae8548c01741245fc9eebcd69034009e259e8ead0b35d29e56a8b695247c879c63d9ea84846ce4479976c701a3e489093925dbd1f03577b303961eb0638
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.9.78
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.9.78' 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,18 +180,10 @@ 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
190
186
 
191
- def harmonized_categories
192
- @harmonized_categories ||= ::Io::Flow::V0::Clients::HarmonizedCategories.new(self)
193
- end
194
-
195
187
  def harmonized_landed_costs
196
188
  @harmonized_landed_costs ||= ::Io::Flow::V0::Clients::HarmonizedLandedCosts.new(self)
197
189
  end
@@ -572,6 +564,18 @@ module Io
572
564
  @permission_checks ||= ::Io::Flow::V0::Clients::PermissionChecks.new(self)
573
565
  end
574
566
 
567
+ def price_book_item_export_options
568
+ @price_book_item_export_options ||= ::Io::Flow::V0::Clients::PriceBookItemExportOptions.new(self)
569
+ end
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
@@ -701,6 +705,7 @@ module Io
701
705
  query = {
702
706
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
703
707
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
708
+ :intent => (x = opts.delete(:intent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeIntent) ? x : ::Io::Flow::V0::Models::AttributeIntent.apply(x)).value),
704
709
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
705
710
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
706
711
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
@@ -1238,15 +1243,11 @@ module Io
1238
1243
  r.map { |x| ::Io::Flow::V0::Models::ItemMargin.new(x) }
1239
1244
  end
1240
1245
 
1241
- def post_margins_by_experience_key(organization, experience_key, item_margin_post_form, incoming={})
1246
+ def post_margins_by_experience_key(organization, experience_key, item_margin_post_form)
1242
1247
  HttpClient::Preconditions.assert_class('organization', organization, String)
1243
1248
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1244
- opts = HttpClient::Helper.symbolize_keys(incoming)
1245
- query = {
1246
- :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1247
- }.delete_if { |k, v| v.nil? }
1248
1249
  (x = item_margin_post_form; x.is_a?(::Io::Flow::V0::Models::ItemMarginPostForm) ? x : ::Io::Flow::V0::Models::ItemMarginPostForm.new(x))
1249
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins").with_query(query).with_json(item_margin_post_form.to_json).post
1250
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins").with_json(item_margin_post_form.to_json).post
1250
1251
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1251
1252
  end
1252
1253
 
@@ -1272,16 +1273,12 @@ module Io
1272
1273
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1273
1274
  end
1274
1275
 
1275
- def put_margins_by_experience_key_and_key(organization, experience_key, key, item_margin_put_form, incoming={})
1276
+ def put_margins_by_experience_key_and_key(organization, experience_key, key, item_margin_put_form)
1276
1277
  HttpClient::Preconditions.assert_class('organization', organization, String)
1277
1278
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
1278
1279
  HttpClient::Preconditions.assert_class('key', key, String)
1279
- opts = HttpClient::Helper.symbolize_keys(incoming)
1280
- query = {
1281
- :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1282
- }.delete_if { |k, v| v.nil? }
1283
1280
  (x = item_margin_put_form; x.is_a?(::Io::Flow::V0::Models::ItemMarginPutForm) ? x : ::Io::Flow::V0::Models::ItemMarginPutForm.new(x))
1284
- r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins/#{CGI.escape(key)}").with_query(query).with_json(item_margin_put_form.to_json).put
1281
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/margins/#{CGI.escape(key)}").with_json(item_margin_put_form.to_json).put
1285
1282
  ::Io::Flow::V0::Models::ItemMargin.new(r)
1286
1283
  end
1287
1284
 
@@ -1496,6 +1493,21 @@ module Io
1496
1493
  ::Io::Flow::V0::Models::Pricing.new(r)
1497
1494
  end
1498
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
+
1499
1511
  # Get available promotions for the experience
1500
1512
  def get_promotions_and_available_by_key(organization, key, incoming={})
1501
1513
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -1950,7 +1962,6 @@ module Io
1950
1962
  HttpClient::Preconditions.assert_class('number', number, String)
1951
1963
  opts = HttpClient::Helper.symbolize_keys(incoming)
1952
1964
  query = {
1953
- :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) }),
1954
1965
  :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
1955
1966
  }.delete_if { |k, v| v.nil? }
1956
1967
  (x = authorization_form; x.is_a?(::Io::Flow::V0::Models::AuthorizationForm) ? x : ::Io::Flow::V0::Models::AuthorizationForm.from_json(x))
@@ -2507,6 +2518,21 @@ module Io
2507
2518
  r.map { |x| ::Io::Flow::V0::Models::Country.new(x) }
2508
2519
  end
2509
2520
 
2521
+ # Status of all countries
2522
+ def get_countries_and_statuses_by_organization(organization)
2523
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2524
+ r = @client.request("/#{CGI.escape(organization)}/countries/statuses").get
2525
+ r.map { |x| ::Io::Flow::V0::Models::CountryStatus.new(x) }
2526
+ end
2527
+
2528
+ def put_countries_and_statuses_by_organization_and_country(organization, country, country_status_form)
2529
+ HttpClient::Preconditions.assert_class('organization', organization, String)
2530
+ HttpClient::Preconditions.assert_class('country', country, String)
2531
+ (x = country_status_form; x.is_a?(::Io::Flow::V0::Models::CountryStatusForm) ? x : ::Io::Flow::V0::Models::CountryStatusForm.new(x))
2532
+ r = @client.request("/#{CGI.escape(organization)}/countries/statuses/#{CGI.escape(country)}").with_json(country_status_form.to_json).put
2533
+ ::Io::Flow::V0::Models::CountryStatus.new(r)
2534
+ end
2535
+
2510
2536
  # Search organizations. Always paginated.
2511
2537
  def get(incoming={})
2512
2538
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -2925,76 +2951,6 @@ module Io
2925
2951
 
2926
2952
  end
2927
2953
 
2928
- class OrganizationCurrencySettings
2929
-
2930
- def initialize(client)
2931
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2932
- end
2933
-
2934
- # Search organization currency settings. Always paginated.
2935
- def get(organization, incoming={})
2936
- HttpClient::Preconditions.assert_class('organization', organization, String)
2937
- opts = HttpClient::Helper.symbolize_keys(incoming)
2938
- query = {
2939
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2940
- :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, String)),
2941
- :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
2942
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2943
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2944
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2945
- }.delete_if { |k, v| v.nil? }
2946
- r = @client.request("/#{CGI.escape(organization)}/currency/settings").with_query(query).get
2947
- r.map { |x| ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(x) }
2948
- end
2949
-
2950
- # Create organization currency settings.
2951
- def post(organization, organization_currency_setting_form)
2952
- HttpClient::Preconditions.assert_class('organization', organization, String)
2953
- (x = organization_currency_setting_form; x.is_a?(::Io::Flow::V0::Models::OrganizationCurrencySettingForm) ? x : ::Io::Flow::V0::Models::OrganizationCurrencySettingForm.new(x))
2954
- r = @client.request("/#{CGI.escape(organization)}/currency/settings").with_json(organization_currency_setting_form.to_json).post
2955
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2956
- end
2957
-
2958
- # Provides visibility into recent changes of each object, including deletion.
2959
- def get_versions(organization, incoming={})
2960
- HttpClient::Preconditions.assert_class('organization', organization, String)
2961
- opts = HttpClient::Helper.symbolize_keys(incoming)
2962
- query = {
2963
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2964
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2965
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2966
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2967
- }.delete_if { |k, v| v.nil? }
2968
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/versions").with_query(query).get
2969
- r.map { |x| ::Io::Flow::V0::Models::OrganizationCurrencySettingVersion.new(x) }
2970
- end
2971
-
2972
- def get_by_id(organization, id)
2973
- HttpClient::Preconditions.assert_class('organization', organization, String)
2974
- HttpClient::Preconditions.assert_class('id', id, String)
2975
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").get
2976
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2977
- end
2978
-
2979
- # Update an existing organization currency setting by id.
2980
- def put_by_id(organization, id, organization_currency_setting_form)
2981
- HttpClient::Preconditions.assert_class('organization', organization, String)
2982
- HttpClient::Preconditions.assert_class('id', id, String)
2983
- (x = organization_currency_setting_form; x.is_a?(::Io::Flow::V0::Models::OrganizationCurrencySettingForm) ? x : ::Io::Flow::V0::Models::OrganizationCurrencySettingForm.new(x))
2984
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").with_json(organization_currency_setting_form.to_json).put
2985
- ::Io::Flow::V0::Models::OrganizationCurrencySetting.new(r)
2986
- end
2987
-
2988
- # Delete the organization currency setting with this id.
2989
- def delete_by_id(organization, id)
2990
- HttpClient::Preconditions.assert_class('organization', organization, String)
2991
- HttpClient::Preconditions.assert_class('id', id, String)
2992
- r = @client.request("/#{CGI.escape(organization)}/currency/settings/#{CGI.escape(id)}").delete
2993
- nil
2994
- end
2995
-
2996
- end
2997
-
2998
2954
  class Rates
2999
2955
 
3000
2956
  def initialize(client)
@@ -3009,7 +2965,6 @@ module Io
3009
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) }),
3010
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) }),
3011
2967
  :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
3012
- :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,
3013
2968
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3014
2969
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3015
2970
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
@@ -3026,7 +2981,6 @@ module Io
3026
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) }),
3027
2982
  :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, String)),
3028
2983
  :target => (x = opts.delete(:target); x.nil? ? nil : HttpClient::Preconditions.assert_class('target', x, String)),
3029
- :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,
3030
2984
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3031
2985
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3032
2986
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
@@ -3037,27 +2991,6 @@ module Io
3037
2991
 
3038
2992
  end
3039
2993
 
3040
- class HarmonizedCategories
3041
-
3042
- def initialize(client)
3043
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3044
- end
3045
-
3046
- def get(organization, incoming={})
3047
- HttpClient::Preconditions.assert_class('organization', organization, String)
3048
- opts = HttpClient::Helper.symbolize_keys(incoming)
3049
- query = {
3050
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3051
- :parent_id => (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String)),
3052
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3053
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
3054
- }.delete_if { |k, v| v.nil? }
3055
- r = @client.request("/#{CGI.escape(organization)}/harmonization/categories").with_query(query).get
3056
- r.map { |x| ::Io::Flow::V0::Models::HarmonizedCategory.new(x) }
3057
- end
3058
-
3059
- end
3060
-
3061
2994
  class HarmonizedLandedCosts
3062
2995
 
3063
2996
  def initialize(client)
@@ -4002,6 +3935,14 @@ module Io
4002
3935
  ::Io::Flow::V0::Models::DimensionEstimate.new(r)
4003
3936
  end
4004
3937
 
3938
+ def put_by_id(organization, id, dimension_estimate_form)
3939
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3940
+ HttpClient::Preconditions.assert_class('id', id, String)
3941
+ (x = dimension_estimate_form; x.is_a?(::Io::Flow::V0::Models::DimensionEstimateForm) ? x : ::Io::Flow::V0::Models::DimensionEstimateForm.new(x))
3942
+ r = @client.request("/#{CGI.escape(organization)}/dimension-estimates/#{CGI.escape(id)}").with_json(dimension_estimate_form.to_json).put
3943
+ ::Io::Flow::V0::Models::DimensionEstimate.new(r)
3944
+ end
3945
+
4005
3946
  def delete_by_id(organization, id)
4006
3947
  HttpClient::Preconditions.assert_class('organization', organization, String)
4007
3948
  HttpClient::Preconditions.assert_class('id', id, String)
@@ -4718,13 +4659,21 @@ module Io
4718
4659
  opts = HttpClient::Helper.symbolize_keys(incoming)
4719
4660
  query = {
4720
4661
  :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x)),
4721
- :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String))
4662
+ :context => (x = opts.delete(:context); x.nil? ? nil : HttpClient::Preconditions.assert_class('context', x, String)),
4663
+ :force_new => (x = opts.delete(:force_new); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('force_new', x))
4722
4664
  }.delete_if { |k, v| v.nil? }
4723
4665
  (x = shipping_label_form; x.is_a?(::Io::Flow::V0::Models::ShippingLabelForm) ? x : ::Io::Flow::V0::Models::ShippingLabelForm.from_json(x))
4724
4666
  r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_query(query).with_json(shipping_label_form.to_json).post
4725
4667
  ::Io::Flow::V0::Models::ShippingLabel.new(r)
4726
4668
  end
4727
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
+
4728
4677
  def get_versions(organization, incoming={})
4729
4678
  HttpClient::Preconditions.assert_class('organization', organization, String)
4730
4679
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -6873,6 +6822,102 @@ module Io
6873
6822
 
6874
6823
  end
6875
6824
 
6825
+ class PriceBookItemExportOptions
6826
+
6827
+ def initialize(client)
6828
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
6829
+ end
6830
+
6831
+ def get(organization)
6832
+ HttpClient::Preconditions.assert_class('organization', organization, String)
6833
+ r = @client.request("/#{CGI.escape(organization)}/export/options/price_book_item").get
6834
+ ::Io::Flow::V0::Models::PriceBookItemExportOptions.new(r)
6835
+ end
6836
+
6837
+ end
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
+
6876
6921
  class ScheduledExports
6877
6922
 
6878
6923
  def initialize(client)
@@ -7585,10 +7630,17 @@ module Io
7585
7630
  end
7586
7631
 
7587
7632
  # Returns the tax settings for the organization.
7588
- def get(organization)
7633
+ def get(organization, incoming={})
7589
7634
  HttpClient::Preconditions.assert_class('organization', organization, String)
7590
- r = @client.request("/#{CGI.escape(organization)}/tax/settings").get
7591
- ::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) }
7592
7644
  end
7593
7645
 
7594
7646
  def put(organization, tax_setting)
@@ -7765,45 +7817,45 @@ module Io
7765
7817
 
7766
7818
  module Models
7767
7819
 
7768
- # Configurations to support payment authentication done in the user experience
7769
- # e.g. card authentication with 3DS by an issuer ACS.
7770
- class ActionConfiguration
7820
+ class AdyenNativeData
7771
7821
 
7772
7822
  module Types
7773
- THREEDS_TWO_BROWSER_ACTION_CONFIGURATION = 'threeds_two_browser_action_configuration' unless defined?(THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
7823
+ ADYEN_IDENTIFY_SHOPPER_DATA = 'adyen_identify_shopper_data' unless defined?(ADYEN_IDENTIFY_SHOPPER_DATA)
7824
+ ADYEN_CHALLENGE_SHOPPER_DATA = 'adyen_challenge_shopper_data' unless defined?(ADYEN_CHALLENGE_SHOPPER_DATA)
7774
7825
  end
7775
7826
 
7776
7827
  attr_reader :discriminator
7777
7828
 
7778
7829
  def initialize(incoming={})
7779
7830
  opts = HttpClient::Helper.symbolize_keys(incoming)
7780
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ActionConfiguration')
7831
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AdyenNativeData')
7781
7832
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7782
7833
  end
7783
7834
 
7784
7835
  def subtype_to_hash
7785
- raise 'Cannot serialize an instance of action_configuration directly - must use one of the specific types: threeds_two_browser_action_configuration'
7836
+ raise 'Cannot serialize an instance of adyen_native_data directly - must use one of the specific types: adyen_identify_shopper_data, adyen_challenge_shopper_data'
7786
7837
  end
7787
7838
 
7788
7839
  def to_hash
7789
7840
  subtype_to_hash.merge(:discriminator => @discriminator)
7790
7841
  end
7791
7842
 
7792
- def ActionConfiguration.from_json(hash)
7843
+ def AdyenNativeData.from_json(hash)
7793
7844
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
7794
7845
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7795
7846
  if discriminator.empty?
7796
- raise "Union type[action_configuration] requires a field named 'discriminator'"
7847
+ raise "Union type[adyen_native_data] requires a field named 'discriminator'"
7797
7848
  end
7798
7849
  case discriminator
7799
- when Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION; ThreedsTwoBrowserActionConfiguration.new(hash)
7800
- else ActionConfigurationUndefinedType.new(:discriminator => discriminator)
7850
+ when Types::ADYEN_IDENTIFY_SHOPPER_DATA; AdyenIdentifyShopperData.new(hash)
7851
+ when Types::ADYEN_CHALLENGE_SHOPPER_DATA; AdyenChallengeShopperData.new(hash)
7852
+ else AdyenNativeDataUndefinedType.new(:discriminator => discriminator)
7801
7853
  end
7802
7854
  end
7803
7855
 
7804
7856
  end
7805
7857
 
7806
- class ActionConfigurationUndefinedType < ActionConfiguration
7858
+ class AdyenNativeDataUndefinedType < AdyenNativeData
7807
7859
 
7808
7860
  attr_reader :name
7809
7861
 
@@ -7827,45 +7879,45 @@ module Io
7827
7879
 
7828
7880
  end
7829
7881
 
7830
- class AdyenNativeData
7882
+ class AllocationComponent
7831
7883
 
7832
7884
  module Types
7833
- ADYEN_IDENTIFY_SHOPPER_DATA = 'adyen_identify_shopper_data' unless defined?(ADYEN_IDENTIFY_SHOPPER_DATA)
7834
- ADYEN_CHALLENGE_SHOPPER_DATA = 'adyen_challenge_shopper_data' unless defined?(ADYEN_CHALLENGE_SHOPPER_DATA)
7885
+ ALLOCATION_DETAIL_COMPONENT = 'allocation_detail_component' unless defined?(ALLOCATION_DETAIL_COMPONENT)
7886
+ ALLOCATION_LEVY_COMPONENT = 'allocation_levy_component' unless defined?(ALLOCATION_LEVY_COMPONENT)
7835
7887
  end
7836
7888
 
7837
7889
  attr_reader :discriminator
7838
7890
 
7839
7891
  def initialize(incoming={})
7840
7892
  opts = HttpClient::Helper.symbolize_keys(incoming)
7841
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AdyenNativeData')
7893
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AllocationComponent')
7842
7894
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7843
7895
  end
7844
7896
 
7845
7897
  def subtype_to_hash
7846
- raise 'Cannot serialize an instance of adyen_native_data directly - must use one of the specific types: adyen_identify_shopper_data, adyen_challenge_shopper_data'
7898
+ raise 'Cannot serialize an instance of allocation_component directly - must use one of the specific types: allocation_detail_component, allocation_levy_component'
7847
7899
  end
7848
7900
 
7849
7901
  def to_hash
7850
7902
  subtype_to_hash.merge(:discriminator => @discriminator)
7851
7903
  end
7852
7904
 
7853
- def AdyenNativeData.from_json(hash)
7905
+ def AllocationComponent.from_json(hash)
7854
7906
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
7855
7907
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7856
7908
  if discriminator.empty?
7857
- raise "Union type[adyen_native_data] requires a field named 'discriminator'"
7909
+ raise "Union type[allocation_component] requires a field named 'discriminator'"
7858
7910
  end
7859
7911
  case discriminator
7860
- when Types::ADYEN_IDENTIFY_SHOPPER_DATA; AdyenIdentifyShopperData.new(hash)
7861
- when Types::ADYEN_CHALLENGE_SHOPPER_DATA; AdyenChallengeShopperData.new(hash)
7862
- else AdyenNativeDataUndefinedType.new(:discriminator => discriminator)
7912
+ when Types::ALLOCATION_DETAIL_COMPONENT; AllocationDetailComponent.new(hash)
7913
+ when Types::ALLOCATION_LEVY_COMPONENT; AllocationLevyComponent.new(hash)
7914
+ else AllocationComponentUndefinedType.new(:discriminator => discriminator)
7863
7915
  end
7864
7916
  end
7865
7917
 
7866
7918
  end
7867
7919
 
7868
- class AdyenNativeDataUndefinedType < AdyenNativeData
7920
+ class AllocationComponentUndefinedType < AllocationComponent
7869
7921
 
7870
7922
  attr_reader :name
7871
7923
 
@@ -7889,45 +7941,45 @@ module Io
7889
7941
 
7890
7942
  end
7891
7943
 
7892
- class AllocationComponent
7944
+ class AllocationDetail
7893
7945
 
7894
7946
  module Types
7895
- ALLOCATION_DETAIL_COMPONENT = 'allocation_detail_component' unless defined?(ALLOCATION_DETAIL_COMPONENT)
7896
- ALLOCATION_LEVY_COMPONENT = 'allocation_levy_component' unless defined?(ALLOCATION_LEVY_COMPONENT)
7947
+ ALLOCATION_LINE_DETAIL = 'allocation_line_detail' unless defined?(ALLOCATION_LINE_DETAIL)
7948
+ ALLOCATION_ORDER_DETAIL = 'allocation_order_detail' unless defined?(ALLOCATION_ORDER_DETAIL)
7897
7949
  end
7898
7950
 
7899
7951
  attr_reader :discriminator
7900
7952
 
7901
7953
  def initialize(incoming={})
7902
7954
  opts = HttpClient::Helper.symbolize_keys(incoming)
7903
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AllocationComponent')
7955
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AllocationDetail')
7904
7956
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7905
7957
  end
7906
7958
 
7907
7959
  def subtype_to_hash
7908
- raise 'Cannot serialize an instance of allocation_component directly - must use one of the specific types: allocation_detail_component, allocation_levy_component'
7960
+ raise 'Cannot serialize an instance of allocation_detail directly - must use one of the specific types: allocation_line_detail, allocation_order_detail'
7909
7961
  end
7910
7962
 
7911
7963
  def to_hash
7912
7964
  subtype_to_hash.merge(:discriminator => @discriminator)
7913
7965
  end
7914
7966
 
7915
- def AllocationComponent.from_json(hash)
7967
+ def AllocationDetail.from_json(hash)
7916
7968
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
7917
7969
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7918
7970
  if discriminator.empty?
7919
- raise "Union type[allocation_component] requires a field named 'discriminator'"
7971
+ raise "Union type[allocation_detail] requires a field named 'discriminator'"
7920
7972
  end
7921
7973
  case discriminator
7922
- when Types::ALLOCATION_DETAIL_COMPONENT; AllocationDetailComponent.new(hash)
7923
- when Types::ALLOCATION_LEVY_COMPONENT; AllocationLevyComponent.new(hash)
7924
- else AllocationComponentUndefinedType.new(:discriminator => discriminator)
7974
+ when Types::ALLOCATION_LINE_DETAIL; AllocationLineDetail.new(hash)
7975
+ when Types::ALLOCATION_ORDER_DETAIL; AllocationOrderDetail.new(hash)
7976
+ else AllocationDetailUndefinedType.new(:discriminator => discriminator)
7925
7977
  end
7926
7978
  end
7927
7979
 
7928
7980
  end
7929
7981
 
7930
- class AllocationComponentUndefinedType < AllocationComponent
7982
+ class AllocationDetailUndefinedType < AllocationDetail
7931
7983
 
7932
7984
  attr_reader :name
7933
7985
 
@@ -7951,107 +8003,45 @@ module Io
7951
8003
 
7952
8004
  end
7953
8005
 
7954
- class AllocationDetail
8006
+ class Authorization
7955
8007
 
7956
8008
  module Types
7957
- ALLOCATION_LINE_DETAIL = 'allocation_line_detail' unless defined?(ALLOCATION_LINE_DETAIL)
7958
- ALLOCATION_ORDER_DETAIL = 'allocation_order_detail' unless defined?(ALLOCATION_ORDER_DETAIL)
8009
+ CARD_AUTHORIZATION = 'card_authorization' unless defined?(CARD_AUTHORIZATION)
8010
+ ONLINE_AUTHORIZATION = 'online_authorization' unless defined?(ONLINE_AUTHORIZATION)
7959
8011
  end
7960
8012
 
7961
8013
  attr_reader :discriminator
7962
8014
 
7963
8015
  def initialize(incoming={})
7964
8016
  opts = HttpClient::Helper.symbolize_keys(incoming)
7965
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'AllocationDetail')
8017
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'Authorization')
7966
8018
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7967
8019
  end
7968
8020
 
7969
8021
  def subtype_to_hash
7970
- raise 'Cannot serialize an instance of allocation_detail directly - must use one of the specific types: allocation_line_detail, allocation_order_detail'
8022
+ raise 'Cannot serialize an instance of authorization directly - must use one of the specific types: card_authorization, online_authorization'
7971
8023
  end
7972
8024
 
7973
8025
  def to_hash
7974
8026
  subtype_to_hash.merge(:discriminator => @discriminator)
7975
8027
  end
7976
8028
 
7977
- def AllocationDetail.from_json(hash)
8029
+ def Authorization.from_json(hash)
7978
8030
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
7979
8031
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7980
8032
  if discriminator.empty?
7981
- raise "Union type[allocation_detail] requires a field named 'discriminator'"
8033
+ raise "Union type[authorization] requires a field named 'discriminator'"
7982
8034
  end
7983
8035
  case discriminator
7984
- when Types::ALLOCATION_LINE_DETAIL; AllocationLineDetail.new(hash)
7985
- when Types::ALLOCATION_ORDER_DETAIL; AllocationOrderDetail.new(hash)
7986
- else AllocationDetailUndefinedType.new(:discriminator => discriminator)
8036
+ when Types::CARD_AUTHORIZATION; CardAuthorization.new(hash)
8037
+ when Types::ONLINE_AUTHORIZATION; OnlineAuthorization.new(hash)
8038
+ else AuthorizationUndefinedType.new(:discriminator => discriminator)
7987
8039
  end
7988
8040
  end
7989
8041
 
7990
8042
  end
7991
8043
 
7992
- class AllocationDetailUndefinedType < AllocationDetail
7993
-
7994
- attr_reader :name
7995
-
7996
- def initialize(incoming={})
7997
- super(:discriminator => 'undefined_type')
7998
- opts = HttpClient::Helper.symbolize_keys(incoming)
7999
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
8000
- end
8001
-
8002
- def subtype_to_hash
8003
- raise 'Unable to serialize undefined type to json'
8004
- end
8005
-
8006
- def copy(incoming={})
8007
- raise 'Operation not supported for undefined type'
8008
- end
8009
-
8010
- def to_hash
8011
- raise 'Operation not supported for undefined type'
8012
- end
8013
-
8014
- end
8015
-
8016
- class Authorization
8017
-
8018
- module Types
8019
- CARD_AUTHORIZATION = 'card_authorization' unless defined?(CARD_AUTHORIZATION)
8020
- ONLINE_AUTHORIZATION = 'online_authorization' unless defined?(ONLINE_AUTHORIZATION)
8021
- end
8022
-
8023
- attr_reader :discriminator
8024
-
8025
- def initialize(incoming={})
8026
- opts = HttpClient::Helper.symbolize_keys(incoming)
8027
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'Authorization')
8028
- @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8029
- end
8030
-
8031
- def subtype_to_hash
8032
- raise 'Cannot serialize an instance of authorization directly - must use one of the specific types: card_authorization, online_authorization'
8033
- end
8034
-
8035
- def to_hash
8036
- subtype_to_hash.merge(:discriminator => @discriminator)
8037
- end
8038
-
8039
- def Authorization.from_json(hash)
8040
- HttpClient::Preconditions.assert_class('hash', hash, Hash)
8041
- discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8042
- if discriminator.empty?
8043
- raise "Union type[authorization] requires a field named 'discriminator'"
8044
- end
8045
- case discriminator
8046
- when Types::CARD_AUTHORIZATION; CardAuthorization.new(hash)
8047
- when Types::ONLINE_AUTHORIZATION; OnlineAuthorization.new(hash)
8048
- else AuthorizationUndefinedType.new(:discriminator => discriminator)
8049
- end
8050
- end
8051
-
8052
- end
8053
-
8054
- class AuthorizationUndefinedType < Authorization
8044
+ class AuthorizationUndefinedType < Authorization
8055
8045
 
8056
8046
  attr_reader :name
8057
8047
 
@@ -8419,6 +8409,68 @@ module Io
8419
8409
 
8420
8410
  end
8421
8411
 
8412
+ # Configurations to support payment authentication done in the browser
8413
+ # experience e.g. card authentication with 3DS by an issuer ACS.
8414
+ class BrowserActionConfiguration
8415
+
8416
+ module Types
8417
+ CARD_BROWSER_ACTION_CONFIGURATION = 'card_browser_action_configuration' unless defined?(CARD_BROWSER_ACTION_CONFIGURATION)
8418
+ end
8419
+
8420
+ attr_reader :discriminator
8421
+
8422
+ def initialize(incoming={})
8423
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8424
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'BrowserActionConfiguration')
8425
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
8426
+ end
8427
+
8428
+ def subtype_to_hash
8429
+ raise 'Cannot serialize an instance of browser_action_configuration directly - must use one of the specific types: card_browser_action_configuration'
8430
+ end
8431
+
8432
+ def to_hash
8433
+ subtype_to_hash.merge(:discriminator => @discriminator)
8434
+ end
8435
+
8436
+ def BrowserActionConfiguration.from_json(hash)
8437
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
8438
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
8439
+ if discriminator.empty?
8440
+ raise "Union type[browser_action_configuration] requires a field named 'discriminator'"
8441
+ end
8442
+ case discriminator
8443
+ when Types::CARD_BROWSER_ACTION_CONFIGURATION; CardBrowserActionConfiguration.new(hash)
8444
+ else BrowserActionConfigurationUndefinedType.new(:discriminator => discriminator)
8445
+ end
8446
+ end
8447
+
8448
+ end
8449
+
8450
+ class BrowserActionConfigurationUndefinedType < BrowserActionConfiguration
8451
+
8452
+ attr_reader :name
8453
+
8454
+ def initialize(incoming={})
8455
+ super(:discriminator => 'undefined_type')
8456
+ opts = HttpClient::Helper.symbolize_keys(incoming)
8457
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
8458
+ end
8459
+
8460
+ def subtype_to_hash
8461
+ raise 'Unable to serialize undefined type to json'
8462
+ end
8463
+
8464
+ def copy(incoming={})
8465
+ raise 'Operation not supported for undefined type'
8466
+ end
8467
+
8468
+ def to_hash
8469
+ raise 'Operation not supported for undefined type'
8470
+ end
8471
+
8472
+ end
8473
+
8422
8474
  class CheckoutTokenForm
8423
8475
 
8424
8476
  module Types
@@ -9095,12 +9147,14 @@ module Io
9095
9147
  EXPERIENCE_UPSERTED = 'experience_upserted' unless defined?(EXPERIENCE_UPSERTED)
9096
9148
  EXPERIENCE_DELETED_V2 = 'experience_deleted_v2' unless defined?(EXPERIENCE_DELETED_V2)
9097
9149
  EXPERIENCE_UPSERTED_V2 = 'experience_upserted_v2' unless defined?(EXPERIENCE_UPSERTED_V2)
9150
+ COUNTRY_STATUS_UPSERTED = 'country_status_upserted' unless defined?(COUNTRY_STATUS_UPSERTED)
9151
+ COUNTRY_STATUS_DELETED = 'country_status_deleted' unless defined?(COUNTRY_STATUS_DELETED)
9098
9152
  EXPERIENCE_PRICE_BOOK_MAPPING_DELETED = 'experience_price_book_mapping_deleted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_DELETED)
9099
9153
  EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED = 'experience_price_book_mapping_upserted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
9100
9154
  EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED = 'experience_logistics_settings_upserted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED)
9101
9155
  EXPERIENCE_LOGISTICS_SETTINGS_DELETED = 'experience_logistics_settings_deleted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_DELETED)
9102
- ITEM_MARGIN_DELETED = 'item_margin_deleted' unless defined?(ITEM_MARGIN_DELETED)
9103
- 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)
9104
9158
  ITEM_SALES_MARGIN_DELETED = 'item_sales_margin_deleted' unless defined?(ITEM_SALES_MARGIN_DELETED)
9105
9159
  ITEM_SALES_MARGIN_UPSERTED = 'item_sales_margin_upserted' unless defined?(ITEM_SALES_MARGIN_UPSERTED)
9106
9160
  LABEL_FORMAT_DELETED = 'label_format_deleted' unless defined?(LABEL_FORMAT_DELETED)
@@ -9158,6 +9212,7 @@ module Io
9158
9212
  ORDER_PLACED = 'order_placed' unless defined?(ORDER_PLACED)
9159
9213
  ORDER_PLACED_V2 = 'order_placed_v2' unless defined?(ORDER_PLACED_V2)
9160
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)
9161
9216
  MEMBERSHIP_UPSERTED_V2 = 'membership_upserted_v2' unless defined?(MEMBERSHIP_UPSERTED_V2)
9162
9217
  MEMBERSHIP_DELETED_V2 = 'membership_deleted_v2' unless defined?(MEMBERSHIP_DELETED_V2)
9163
9218
  ORGANIZATION_UPSERTED = 'organization_upserted' unless defined?(ORGANIZATION_UPSERTED)
@@ -9209,6 +9264,8 @@ module Io
9209
9264
  RATECARD_DELETED = 'ratecard_deleted' unless defined?(RATECARD_DELETED)
9210
9265
  RETURN_UPSERTED = 'return_upserted' unless defined?(RETURN_UPSERTED)
9211
9266
  RETURN_DELETED = 'return_deleted' unless defined?(RETURN_DELETED)
9267
+ RETURN_UPSERTED_V2 = 'return_upserted_v2' unless defined?(RETURN_UPSERTED_V2)
9268
+ RETURN_DELETED_V2 = 'return_deleted_v2' unless defined?(RETURN_DELETED_V2)
9212
9269
  SHOPIFY_LOCALIZATION_SETTING_UPSERTED = 'shopify_localization_setting_upserted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_UPSERTED)
9213
9270
  SHOPIFY_LOCALIZATION_SETTING_DELETED = 'shopify_localization_setting_deleted' unless defined?(SHOPIFY_LOCALIZATION_SETTING_DELETED)
9214
9271
  TRACKING_LABEL_EVENT_UPSERTED = 'tracking_label_event_upserted' unless defined?(TRACKING_LABEL_EVENT_UPSERTED)
@@ -9223,7 +9280,7 @@ module Io
9223
9280
  end
9224
9281
 
9225
9282
  def subtype_to_hash
9226
- raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, attribute_upserted_v2, attribute_deleted_v2, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, catalog_item_upserted_v2, catalog_item_deleted_v2, subcatalog_item_upserted, subcatalog_item_deleted, b2b_invoice_upserted, b2b_invoice_deleted, b2b_credit_memo_upserted, b2b_credit_memo_deleted, consumer_invoice_upserted, consumer_invoice_deleted, credit_memo_upserted, credit_memo_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, rate_deleted_v3, rate_upserted_v3, customer_upserted, customer_deleted, customer_address_book_contact_upserted, customer_address_book_contact_deleted, email_notification_upserted, email_notification_deleted, available_promotions_upserted, available_promotions_deleted, available_promotions_upserted_v2, available_promotions_deleted_v2, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_deleted_v2, experience_upserted_v2, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, experience_logistics_settings_upserted, experience_logistics_settings_deleted, item_margin_deleted, item_margin_upserted, item_sales_margin_deleted, item_sales_margin_upserted, label_format_deleted, label_format_upserted, order_deleted, order_upserted, order_deleted_v2, order_upserted_v2, order_identifier_deleted, order_identifier_upserted, order_identifier_deleted_v2, order_identifier_upserted_v2, order_identifier_upserted_v3, pricing_deleted, pricing_upserted, order_service_change_request, fraud_status_changed, center_upserted, center_deleted, shipping_configuration_upserted, shipping_configuration_deleted, tier_upserted_v2, tier_deleted_v2, shipping_lane_upserted, shipping_lane_deleted, shipping_configuration_item_availability_upserted, shipping_configuration_item_availability_deleted, shipping_configuration_item_shipping_pricing_upserted, shipping_configuration_item_shipping_pricing_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, snapshot_upserted, snapshot_deleted, label_upserted, label_deleted_v2, label_upserted_v2, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, checkout_optin_responses_upserted, checkout_optin_responses_deleted, browse_optin_responses_upserted, browse_optin_responses_deleted, order_placed, order_placed_v2, ready_to_fulfill, membership_upserted_v2, membership_deleted_v2, organization_upserted, organization_deleted, organization_upserted_v2, organization_deleted_v2, organization_short_id_upserted, organization_short_id_deleted, organization_default_configurations_upserted, organization_default_configurations_deleted, ecommerce_platform_upserted, ecommerce_platform_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted_v2, card_authorization_deleted_v2, online_authorization_upserted_v2, online_authorization_deleted_v2, capture_upserted_v2, capture_deleted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted_v2, refund_deleted_v2, refund_capture_upserted_v2, reversal_upserted, reversal_deleted, capture_identifier_upserted, capture_identifier_deleted, refund_identifier_upserted, refund_identifier_deleted, virtual_card_capture_upserted, virtual_card_capture_deleted, virtual_card_refund_upserted, virtual_card_refund_deleted, price_book_upserted, price_book_deleted, price_book_item_upserted, price_book_item_deleted, organization_rates_published, ratecard_lane_upserted, ratecard_lane_deleted, ratecard_upserted, ratecard_deleted, return_upserted, return_deleted, shopify_localization_setting_upserted, shopify_localization_setting_deleted, tracking_label_event_upserted'
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'
9227
9284
  end
9228
9285
 
9229
9286
  def to_hash
@@ -9282,12 +9339,14 @@ module Io
9282
9339
  when Types::EXPERIENCE_UPSERTED; ExperienceUpserted.new(hash)
9283
9340
  when Types::EXPERIENCE_DELETED_V2; ExperienceDeletedV2.new(hash)
9284
9341
  when Types::EXPERIENCE_UPSERTED_V2; ExperienceUpsertedV2.new(hash)
9342
+ when Types::COUNTRY_STATUS_UPSERTED; CountryStatusUpserted.new(hash)
9343
+ when Types::COUNTRY_STATUS_DELETED; CountryStatusDeleted.new(hash)
9285
9344
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_DELETED; ExperiencePriceBookMappingDeleted.new(hash)
9286
9345
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED; ExperiencePriceBookMappingUpserted.new(hash)
9287
9346
  when Types::EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED; ExperienceLogisticsSettingsUpserted.new(hash)
9288
9347
  when Types::EXPERIENCE_LOGISTICS_SETTINGS_DELETED; ExperienceLogisticsSettingsDeleted.new(hash)
9289
- when Types::ITEM_MARGIN_DELETED; ItemMarginDeleted.new(hash)
9290
- 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)
9291
9350
  when Types::ITEM_SALES_MARGIN_DELETED; ItemSalesMarginDeleted.new(hash)
9292
9351
  when Types::ITEM_SALES_MARGIN_UPSERTED; ItemSalesMarginUpserted.new(hash)
9293
9352
  when Types::LABEL_FORMAT_DELETED; LabelFormatDeleted.new(hash)
@@ -9345,6 +9404,7 @@ module Io
9345
9404
  when Types::ORDER_PLACED; OrderPlaced.new(hash)
9346
9405
  when Types::ORDER_PLACED_V2; OrderPlacedV2.new(hash)
9347
9406
  when Types::READY_TO_FULFILL; ReadyToFulfill.new(hash)
9407
+ when Types::READY_TO_FULFILL_V2; ReadyToFulfillV2.new(hash)
9348
9408
  when Types::MEMBERSHIP_UPSERTED_V2; MembershipUpsertedV2.new(hash)
9349
9409
  when Types::MEMBERSHIP_DELETED_V2; MembershipDeletedV2.new(hash)
9350
9410
  when Types::ORGANIZATION_UPSERTED; OrganizationUpserted.new(hash)
@@ -9393,6 +9453,8 @@ module Io
9393
9453
  when Types::RATECARD_DELETED; RatecardDeleted.new(hash)
9394
9454
  when Types::RETURN_UPSERTED; ReturnUpserted.new(hash)
9395
9455
  when Types::RETURN_DELETED; ReturnDeleted.new(hash)
9456
+ when Types::RETURN_UPSERTED_V2; ReturnUpsertedV2.new(hash)
9457
+ when Types::RETURN_DELETED_V2; ReturnDeletedV2.new(hash)
9396
9458
  when Types::SHOPIFY_LOCALIZATION_SETTING_UPSERTED; ShopifyLocalizationSettingUpserted.new(hash)
9397
9459
  when Types::SHOPIFY_LOCALIZATION_SETTING_DELETED; ShopifyLocalizationSettingDeleted.new(hash)
9398
9460
  when Types::TRACKING_LABEL_EVENT_UPSERTED; TrackingLabelEventUpserted.new(hash)
@@ -9738,6 +9800,70 @@ module Io
9738
9800
 
9739
9801
  end
9740
9802
 
9803
+ # Information about which payment processor performed the transaction and how it
9804
+ # can be tracked in their system
9805
+ class ExpandablePaymentProcessor
9806
+
9807
+ module Types
9808
+ PAYMENT_PROCESSOR = 'payment_processor' unless defined?(PAYMENT_PROCESSOR)
9809
+ PAYMENT_PROCESSOR_REFERENCE = 'payment_processor_reference' unless defined?(PAYMENT_PROCESSOR_REFERENCE)
9810
+ end
9811
+
9812
+ attr_reader :discriminator
9813
+
9814
+ def initialize(incoming={})
9815
+ opts = HttpClient::Helper.symbolize_keys(incoming)
9816
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ExpandablePaymentProcessor')
9817
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
9818
+ end
9819
+
9820
+ def subtype_to_hash
9821
+ raise 'Cannot serialize an instance of expandable_payment_processor directly - must use one of the specific types: payment_processor, payment_processor_reference'
9822
+ end
9823
+
9824
+ def to_hash
9825
+ subtype_to_hash.merge(:discriminator => @discriminator)
9826
+ end
9827
+
9828
+ def ExpandablePaymentProcessor.from_json(hash)
9829
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
9830
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
9831
+ if discriminator.empty?
9832
+ raise "Union type[expandable_payment_processor] requires a field named 'discriminator'"
9833
+ end
9834
+ case discriminator
9835
+ when Types::PAYMENT_PROCESSOR; PaymentProcessor.new(hash)
9836
+ when Types::PAYMENT_PROCESSOR_REFERENCE; PaymentProcessorReference.new(hash)
9837
+ else ExpandablePaymentProcessorUndefinedType.new(:discriminator => discriminator)
9838
+ end
9839
+ end
9840
+
9841
+ end
9842
+
9843
+ class ExpandablePaymentProcessorUndefinedType < ExpandablePaymentProcessor
9844
+
9845
+ attr_reader :name
9846
+
9847
+ def initialize(incoming={})
9848
+ super(:discriminator => 'undefined_type')
9849
+ opts = HttpClient::Helper.symbolize_keys(incoming)
9850
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
9851
+ end
9852
+
9853
+ def subtype_to_hash
9854
+ raise 'Unable to serialize undefined type to json'
9855
+ end
9856
+
9857
+ def copy(incoming={})
9858
+ raise 'Operation not supported for undefined type'
9859
+ end
9860
+
9861
+ def to_hash
9862
+ raise 'Operation not supported for undefined type'
9863
+ end
9864
+
9865
+ end
9866
+
9741
9867
  # A subcatalog can be represented with just it's ID, or the entire model
9742
9868
  class ExpandableSubcatalog
9743
9869
 
@@ -9948,6 +10074,7 @@ module Io
9948
10074
  SOLIDUS_VARIANT_EXPORT_TYPE = 'solidus_variant_export_type' unless defined?(SOLIDUS_VARIANT_EXPORT_TYPE)
9949
10075
  LOCALIZED_ITEM_PRICES_EXPORT_TYPE = 'localized_item_prices_export_type' unless defined?(LOCALIZED_ITEM_PRICES_EXPORT_TYPE)
9950
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)
9951
10078
  end
9952
10079
 
9953
10080
  attr_reader :discriminator
@@ -9959,7 +10086,7 @@ module Io
9959
10086
  end
9960
10087
 
9961
10088
  def subtype_to_hash
9962
- 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'
9963
10090
  end
9964
10091
 
9965
10092
  def to_hash
@@ -9989,6 +10116,7 @@ module Io
9989
10116
  when Types::SOLIDUS_VARIANT_EXPORT_TYPE; SolidusVariantExportType.new(hash)
9990
10117
  when Types::LOCALIZED_ITEM_PRICES_EXPORT_TYPE; LocalizedItemPricesExportType.new(hash)
9991
10118
  when Types::MARKETING_FEEDS_EXPORT_TYPE; MarketingFeedsExportType.new(hash)
10119
+ when Types::EXCLUSION_RULES_EXPORT_TYPE; ExclusionRulesExportType.new(hash)
9992
10120
  else ExportTypeUndefinedType.new(:discriminator => discriminator)
9993
10121
  end
9994
10122
  end
@@ -10023,6 +10151,7 @@ module Io
10023
10151
 
10024
10152
  module Types
10025
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)
10026
10155
  FIELD_VALIDATION_MIN = 'min' unless defined?(FIELD_VALIDATION_MIN)
10027
10156
  FIELD_VALIDATION_MAX = 'max' unless defined?(FIELD_VALIDATION_MAX)
10028
10157
  FIELD_VALIDATION_PATTERN = 'pattern' unless defined?(FIELD_VALIDATION_PATTERN)
@@ -10037,7 +10166,7 @@ module Io
10037
10166
  end
10038
10167
 
10039
10168
  def subtype_to_hash
10040
- 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'
10041
10170
  end
10042
10171
 
10043
10172
  def to_hash
@@ -10052,6 +10181,7 @@ module Io
10052
10181
  end
10053
10182
  case discriminator
10054
10183
  when Types::FIELD_VALIDATION_REQUIRED; FieldValidationRequired.new(hash)
10184
+ when Types::FIELD_VALIDATION_REQUIRED_IF_PRESENT; FieldValidationRequiredIfPresent.new(hash)
10055
10185
  when Types::FIELD_VALIDATION_MIN; FieldValidationMin.new(hash)
10056
10186
  when Types::FIELD_VALIDATION_MAX; FieldValidationMax.new(hash)
10057
10187
  when Types::FIELD_VALIDATION_PATTERN; FieldValidationPattern.new(hash)
@@ -10205,6 +10335,68 @@ module Io
10205
10335
 
10206
10336
  end
10207
10337
 
10338
+ # Configurations to support inline payment authentication experiences. Mobile to
10339
+ # be supported at a future date.
10340
+ class InlineActionConfiguration
10341
+
10342
+ module Types
10343
+ BROWSER_INLINE_ACTION_CONFIGURATION = 'browser_inline_action_configuration' unless defined?(BROWSER_INLINE_ACTION_CONFIGURATION)
10344
+ end
10345
+
10346
+ attr_reader :discriminator
10347
+
10348
+ def initialize(incoming={})
10349
+ opts = HttpClient::Helper.symbolize_keys(incoming)
10350
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'InlineActionConfiguration')
10351
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
10352
+ end
10353
+
10354
+ def subtype_to_hash
10355
+ raise 'Cannot serialize an instance of inline_action_configuration directly - must use one of the specific types: browser_inline_action_configuration'
10356
+ end
10357
+
10358
+ def to_hash
10359
+ subtype_to_hash.merge(:discriminator => @discriminator)
10360
+ end
10361
+
10362
+ def InlineActionConfiguration.from_json(hash)
10363
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
10364
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
10365
+ if discriminator.empty?
10366
+ raise "Union type[inline_action_configuration] requires a field named 'discriminator'"
10367
+ end
10368
+ case discriminator
10369
+ when Types::BROWSER_INLINE_ACTION_CONFIGURATION; BrowserInlineActionConfiguration.new(hash)
10370
+ else InlineActionConfigurationUndefinedType.new(:discriminator => discriminator)
10371
+ end
10372
+ end
10373
+
10374
+ end
10375
+
10376
+ class InlineActionConfigurationUndefinedType < InlineActionConfiguration
10377
+
10378
+ attr_reader :name
10379
+
10380
+ def initialize(incoming={})
10381
+ super(:discriminator => 'undefined_type')
10382
+ opts = HttpClient::Helper.symbolize_keys(incoming)
10383
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
10384
+ end
10385
+
10386
+ def subtype_to_hash
10387
+ raise 'Unable to serialize undefined type to json'
10388
+ end
10389
+
10390
+ def copy(incoming={})
10391
+ raise 'Operation not supported for undefined type'
10392
+ end
10393
+
10394
+ def to_hash
10395
+ raise 'Operation not supported for undefined type'
10396
+ end
10397
+
10398
+ end
10399
+
10208
10400
  class InputSpecificationLimitation
10209
10401
 
10210
10402
  module Types
@@ -10280,6 +10472,9 @@ module Io
10280
10472
  # Items affected with rules pursuing an unlimited strategy will always be
10281
10473
  # available
10282
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)
10283
10478
  end
10284
10479
 
10285
10480
  attr_reader :discriminator
@@ -10291,7 +10486,7 @@ module Io
10291
10486
  end
10292
10487
 
10293
10488
  def subtype_to_hash
10294
- 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'
10295
10490
  end
10296
10491
 
10297
10492
  def to_hash
@@ -10308,6 +10503,7 @@ module Io
10308
10503
  when Types::INVENTORY_BACKORDER; InventoryBackorder.new(hash)
10309
10504
  when Types::INVENTORY_STOCK; InventoryStock.new(hash)
10310
10505
  when Types::INVENTORY_UNLIMITED; InventoryUnlimited.new(hash)
10506
+ when Types::INVENTORY_FOLLOW_ECOMMERCE_PLATFORM; InventoryFollowEcommercePlatform.new(hash)
10311
10507
  else InventoryStrategyUndefinedType.new(:discriminator => discriminator)
10312
10508
  end
10313
10509
  end
@@ -11665,6 +11861,68 @@ module Io
11665
11861
 
11666
11862
  end
11667
11863
 
11864
+ class ReturnSource
11865
+
11866
+ module Types
11867
+ RETURN_SOURCE_FLOW = 'return_source_flow' unless defined?(RETURN_SOURCE_FLOW)
11868
+ RETURN_SOURCE_EXTERNAL_VENDOR = 'return_source_external_vendor' unless defined?(RETURN_SOURCE_EXTERNAL_VENDOR)
11869
+ end
11870
+
11871
+ attr_reader :discriminator
11872
+
11873
+ def initialize(incoming={})
11874
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11875
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ReturnSource')
11876
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
11877
+ end
11878
+
11879
+ def subtype_to_hash
11880
+ raise 'Cannot serialize an instance of return_source directly - must use one of the specific types: return_source_flow, return_source_external_vendor'
11881
+ end
11882
+
11883
+ def to_hash
11884
+ subtype_to_hash.merge(:discriminator => @discriminator)
11885
+ end
11886
+
11887
+ def ReturnSource.from_json(hash)
11888
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
11889
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
11890
+ if discriminator.empty?
11891
+ raise "Union type[return_source] requires a field named 'discriminator'"
11892
+ end
11893
+ case discriminator
11894
+ when Types::RETURN_SOURCE_FLOW; ReturnSourceFlow.new(hash)
11895
+ when Types::RETURN_SOURCE_EXTERNAL_VENDOR; ReturnSourceExternalVendor.new(hash)
11896
+ else ReturnSourceUndefinedType.new(:discriminator => discriminator)
11897
+ end
11898
+ end
11899
+
11900
+ end
11901
+
11902
+ class ReturnSourceUndefinedType < ReturnSource
11903
+
11904
+ attr_reader :name
11905
+
11906
+ def initialize(incoming={})
11907
+ super(:discriminator => 'undefined_type')
11908
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11909
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
11910
+ end
11911
+
11912
+ def subtype_to_hash
11913
+ raise 'Unable to serialize undefined type to json'
11914
+ end
11915
+
11916
+ def copy(incoming={})
11917
+ raise 'Operation not supported for undefined type'
11918
+ end
11919
+
11920
+ def to_hash
11921
+ raise 'Operation not supported for undefined type'
11922
+ end
11923
+
11924
+ end
11925
+
11668
11926
  class ServiceFee
11669
11927
 
11670
11928
  module Types
@@ -12608,7 +12866,7 @@ module Io
12608
12866
  end
12609
12867
 
12610
12868
  def AddressFieldName.ALL
12611
- @@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]
12612
12870
  end
12613
12871
 
12614
12872
  def AddressFieldName.first_name
@@ -12651,6 +12909,10 @@ module Io
12651
12909
  @@_company ||= AddressFieldName.new('company')
12652
12910
  end
12653
12911
 
12912
+ def AddressFieldName.vat_registration_number
12913
+ @@_vat_registration_number ||= AddressFieldName.new('vat_registration_number')
12914
+ end
12915
+
12654
12916
  def to_hash
12655
12917
  value
12656
12918
  end
@@ -12770,7 +13032,7 @@ module Io
12770
13032
  end
12771
13033
 
12772
13034
  def AttributeDataType.ALL
12773
- @@all ||= [AttributeDataType.boolean, AttributeDataType.decimal, AttributeDataType.string, AttributeDataType.json_array]
13035
+ @@all ||= [AttributeDataType.boolean, AttributeDataType.integer, AttributeDataType.decimal, AttributeDataType.string, AttributeDataType.json_array]
12774
13036
  end
12775
13037
 
12776
13038
  # Boolean true/false data type
@@ -12778,6 +13040,11 @@ module Io
12778
13040
  @@_boolean ||= AttributeDataType.new('boolean')
12779
13041
  end
12780
13042
 
13043
+ # Value of the attribute must be an integer
13044
+ def AttributeDataType.integer
13045
+ @@_integer ||= AttributeDataType.new('integer')
13046
+ end
13047
+
12781
13048
  # Decimal datatype without size or precision restrictions. Commonly used for
12782
13049
  # currency values.
12783
13050
  def AttributeDataType.decimal
@@ -12825,7 +13092,7 @@ module Io
12825
13092
  end
12826
13093
 
12827
13094
  def AttributeIntent.ALL
12828
- @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet, AttributeIntent.eccn, AttributeIntent.returnable, AttributeIntent.searchable]
13095
+ @@all ||= [AttributeIntent.brand, AttributeIntent.color, AttributeIntent.countries_of_origin, AttributeIntent.product_id, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.size, AttributeIntent.sku, AttributeIntent.taxability, AttributeIntent.consumer_url, AttributeIntent.gtin, AttributeIntent.mpn, AttributeIntent.facet, AttributeIntent.eccn, AttributeIntent.returnable, AttributeIntent.searchable, AttributeIntent.barcode, AttributeIntent.min_days_to_ship, AttributeIntent.max_days_to_ship]
12829
13096
  end
12830
13097
 
12831
13098
  # A brand name of the item (for retailers that sell multiple brands)
@@ -12922,6 +13189,23 @@ module Io
12922
13189
  @@_searchable ||= AttributeIntent.new('searchable')
12923
13190
  end
12924
13191
 
13192
+ # The barcode of this item.
13193
+ def AttributeIntent.barcode
13194
+ @@_barcode ||= AttributeIntent.new('barcode')
13195
+ end
13196
+
13197
+ # Indicates a lead time to prepare an item for shipment. If specified, we will
13198
+ # include this lead time in the delivery window calculation
13199
+ def AttributeIntent.min_days_to_ship
13200
+ @@_min_days_to_ship ||= AttributeIntent.new('min_days_to_ship')
13201
+ end
13202
+
13203
+ # Indicates a lead time to prepare an item for shipment. If specified, we will
13204
+ # include this lead time in the delivery window calculation
13205
+ def AttributeIntent.max_days_to_ship
13206
+ @@_max_days_to_ship ||= AttributeIntent.new('max_days_to_ship')
13207
+ end
13208
+
12925
13209
  def to_hash
12926
13210
  value
12927
13211
  end
@@ -13015,7 +13299,7 @@ module Io
13015
13299
  end
13016
13300
 
13017
13301
  def AuthorizationDeclineCode.ALL
13018
- @@all ||= [AuthorizationDeclineCode.expired, AuthorizationDeclineCode.invalid_name, AuthorizationDeclineCode.invalid_number, AuthorizationDeclineCode.invalid_expiration, AuthorizationDeclineCode.invalid_address, AuthorizationDeclineCode.invalid_token_type, AuthorizationDeclineCode.invalid_token, AuthorizationDeclineCode.no_account, AuthorizationDeclineCode.avs, AuthorizationDeclineCode.cvv, AuthorizationDeclineCode.fraud, AuthorizationDeclineCode.duplicate, AuthorizationDeclineCode.not_supported, AuthorizationDeclineCode.unknown]
13302
+ @@all ||= [AuthorizationDeclineCode.expired, AuthorizationDeclineCode.invalid_name, AuthorizationDeclineCode.invalid_number, AuthorizationDeclineCode.invalid_expiration, AuthorizationDeclineCode.invalid_address, AuthorizationDeclineCode.invalid_token_type, AuthorizationDeclineCode.invalid_token, AuthorizationDeclineCode.no_account, AuthorizationDeclineCode.avs, AuthorizationDeclineCode.cvv, AuthorizationDeclineCode.fraud, AuthorizationDeclineCode.duplicate, AuthorizationDeclineCode.not_supported, AuthorizationDeclineCode.unknown, AuthorizationDeclineCode.online_payment_error]
13019
13303
  end
13020
13304
 
13021
13305
  # Payment method has expired
@@ -13089,6 +13373,11 @@ module Io
13089
13373
  @@_unknown ||= AuthorizationDeclineCode.new('unknown')
13090
13374
  end
13091
13375
 
13376
+ # Indicates an online payment error
13377
+ def AuthorizationDeclineCode.online_payment_error
13378
+ @@_online_payment_error ||= AuthorizationDeclineCode.new('online_payment_error')
13379
+ end
13380
+
13092
13381
  def to_hash
13093
13382
  value
13094
13383
  end
@@ -13420,6 +13709,48 @@ module Io
13420
13709
 
13421
13710
  end
13422
13711
 
13712
+ class B2bInvoiceType
13713
+
13714
+ attr_reader :value
13715
+
13716
+ def initialize(value)
13717
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
13718
+ end
13719
+
13720
+ # Returns the instance of B2bInvoiceType for this value, creating a new instance for an unknown value
13721
+ def B2bInvoiceType.apply(value)
13722
+ if value.instance_of?(B2bInvoiceType)
13723
+ value
13724
+ else
13725
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
13726
+ value.nil? ? nil : (from_string(value) || B2bInvoiceType.new(value))
13727
+ end
13728
+ end
13729
+
13730
+ # Returns the instance of B2bInvoiceType for this value, or nil if not found
13731
+ def B2bInvoiceType.from_string(value)
13732
+ HttpClient::Preconditions.assert_class('value', value, String)
13733
+ B2bInvoiceType.ALL.find { |v| v.value == value }
13734
+ end
13735
+
13736
+ def B2bInvoiceType.ALL
13737
+ @@all ||= [B2bInvoiceType.self_bill_invoice, B2bInvoiceType.invoice]
13738
+ end
13739
+
13740
+ def B2bInvoiceType.self_bill_invoice
13741
+ @@_self_bill_invoice ||= B2bInvoiceType.new('self_bill_invoice')
13742
+ end
13743
+
13744
+ def B2bInvoiceType.invoice
13745
+ @@_invoice ||= B2bInvoiceType.new('invoice')
13746
+ end
13747
+
13748
+ def to_hash
13749
+ value
13750
+ end
13751
+
13752
+ end
13753
+
13423
13754
  class Calendar
13424
13755
 
13425
13756
  attr_reader :value
@@ -14929,7 +15260,7 @@ module Io
14929
15260
  end
14930
15261
 
14931
15262
  def EcommercePlatformType.ALL
14932
- @@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]
14933
15264
  end
14934
15265
 
14935
15266
  def EcommercePlatformType.commercetools
@@ -14940,6 +15271,10 @@ module Io
14940
15271
  @@_custom ||= EcommercePlatformType.new('custom')
14941
15272
  end
14942
15273
 
15274
+ def EcommercePlatformType.hybris
15275
+ @@_hybris ||= EcommercePlatformType.new('hybris')
15276
+ end
15277
+
14943
15278
  def EcommercePlatformType.magento
14944
15279
  @@_magento ||= EcommercePlatformType.new('magento')
14945
15280
  end
@@ -15015,6 +15350,46 @@ module Io
15015
15350
 
15016
15351
  end
15017
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
+
15018
15393
  class Environment
15019
15394
 
15020
15395
  attr_reader :value
@@ -15086,7 +15461,7 @@ module Io
15086
15461
  end
15087
15462
 
15088
15463
  def EventType.ALL
15089
- @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, EventType.attribute_upserted_v2, EventType.attribute_deleted_v2, EventType.catalog_upserted, EventType.catalog_deleted, EventType.subcatalog_upserted, EventType.subcatalog_deleted, EventType.catalog_item_upserted, EventType.catalog_item_deleted, EventType.catalog_item_upserted_v2, EventType.catalog_item_deleted_v2, EventType.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.b2b_invoice_upserted, EventType.b2b_invoice_deleted, EventType.b2b_credit_memo_upserted, EventType.b2b_credit_memo_deleted, EventType.consumer_invoice_upserted, EventType.consumer_invoice_deleted, EventType.credit_memo_upserted, EventType.credit_memo_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.rate_deleted_v3, EventType.rate_upserted_v3, EventType.customer_upserted, EventType.customer_deleted, EventType.customer_address_book_contact_upserted, EventType.customer_address_book_contact_deleted, EventType.email_notification_upserted, EventType.email_notification_deleted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.available_promotions_upserted_v2, EventType.available_promotions_deleted_v2, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_deleted_v2, EventType.experience_upserted_v2, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, EventType.experience_logistics_settings_upserted, EventType.experience_logistics_settings_deleted, EventType.item_margin_deleted, EventType.item_margin_upserted, EventType.item_sales_margin_deleted, EventType.item_sales_margin_upserted, EventType.label_format_deleted, EventType.label_format_upserted, EventType.order_deleted, EventType.order_upserted, EventType.order_deleted_v2, EventType.order_upserted_v2, EventType.order_identifier_deleted, EventType.order_identifier_upserted, EventType.order_identifier_deleted_v2, EventType.order_identifier_upserted_v2, EventType.order_identifier_upserted_v3, EventType.pricing_deleted, EventType.pricing_upserted, EventType.order_service_change_request, EventType.fraud_status_changed, EventType.center_upserted, EventType.center_deleted, EventType.shipping_configuration_upserted, EventType.shipping_configuration_deleted, EventType.tier_upserted_v2, EventType.tier_deleted_v2, EventType.shipping_lane_upserted, EventType.shipping_lane_deleted, EventType.shipping_configuration_item_availability_upserted, EventType.shipping_configuration_item_availability_deleted, EventType.shipping_configuration_item_shipping_pricing_upserted, EventType.shipping_configuration_item_shipping_pricing_deleted, EventType.hs6_code_upserted, EventType.hs6_code_deleted, EventType.hs10_code_upserted, EventType.hs10_code_deleted, EventType.item_origin_upserted, EventType.item_origin_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.label_deleted_v2, EventType.label_upserted_v2, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.checkout_optin_responses_upserted, EventType.checkout_optin_responses_deleted, EventType.browse_optin_responses_upserted, EventType.browse_optin_responses_deleted, EventType.order_placed, EventType.order_placed_v2, EventType.ready_to_fulfill, EventType.membership_upserted_v2, EventType.membership_deleted_v2, EventType.organization_upserted, EventType.organization_deleted, EventType.organization_upserted_v2, EventType.organization_deleted_v2, EventType.organization_short_id_upserted, EventType.organization_short_id_deleted, EventType.organization_default_configurations_upserted, EventType.organization_default_configurations_deleted, EventType.ecommerce_platform_upserted, EventType.ecommerce_platform_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted_v2, EventType.card_authorization_deleted_v2, EventType.online_authorization_upserted_v2, EventType.online_authorization_deleted_v2, EventType.capture_upserted_v2, EventType.capture_deleted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted_v2, EventType.refund_deleted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, EventType.reversal_deleted, EventType.capture_identifier_upserted, EventType.capture_identifier_deleted, EventType.refund_identifier_upserted, EventType.refund_identifier_deleted, EventType.virtual_card_capture_upserted, EventType.virtual_card_capture_deleted, EventType.virtual_card_refund_upserted, EventType.virtual_card_refund_deleted, EventType.price_book_upserted, EventType.price_book_deleted, EventType.price_book_item_upserted, EventType.price_book_item_deleted, EventType.organization_rates_published, EventType.ratecard_lane_upserted, EventType.ratecard_lane_deleted, EventType.ratecard_upserted, EventType.ratecard_deleted, EventType.return_upserted, EventType.return_deleted, EventType.shopify_localization_setting_upserted, EventType.shopify_localization_setting_deleted, EventType.tracking_label_event_upserted]
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]
15090
15465
  end
15091
15466
 
15092
15467
  def EventType.attribute_upserted
@@ -15269,6 +15644,14 @@ module Io
15269
15644
  @@_experience_upserted_v2 ||= EventType.new('experience_upserted_v2')
15270
15645
  end
15271
15646
 
15647
+ def EventType.country_status_upserted
15648
+ @@_country_status_upserted ||= EventType.new('country_status_upserted')
15649
+ end
15650
+
15651
+ def EventType.country_status_deleted
15652
+ @@_country_status_deleted ||= EventType.new('country_status_deleted')
15653
+ end
15654
+
15272
15655
  def EventType.experience_price_book_mapping_deleted
15273
15656
  @@_experience_price_book_mapping_deleted ||= EventType.new('experience_price_book_mapping_deleted')
15274
15657
  end
@@ -15285,12 +15668,12 @@ module Io
15285
15668
  @@_experience_logistics_settings_deleted ||= EventType.new('experience_logistics_settings_deleted')
15286
15669
  end
15287
15670
 
15288
- def EventType.item_margin_deleted
15289
- @@_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')
15290
15673
  end
15291
15674
 
15292
- def EventType.item_margin_upserted
15293
- @@_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')
15294
15677
  end
15295
15678
 
15296
15679
  def EventType.item_sales_margin_deleted
@@ -15521,6 +15904,10 @@ module Io
15521
15904
  @@_ready_to_fulfill ||= EventType.new('ready_to_fulfill')
15522
15905
  end
15523
15906
 
15907
+ def EventType.ready_to_fulfill_v2
15908
+ @@_ready_to_fulfill_v2 ||= EventType.new('ready_to_fulfill_v2')
15909
+ end
15910
+
15524
15911
  def EventType.membership_upserted_v2
15525
15912
  @@_membership_upserted_v2 ||= EventType.new('membership_upserted_v2')
15526
15913
  end
@@ -15713,6 +16100,14 @@ module Io
15713
16100
  @@_return_deleted ||= EventType.new('return_deleted')
15714
16101
  end
15715
16102
 
16103
+ def EventType.return_upserted_v2
16104
+ @@_return_upserted_v2 ||= EventType.new('return_upserted_v2')
16105
+ end
16106
+
16107
+ def EventType.return_deleted_v2
16108
+ @@_return_deleted_v2 ||= EventType.new('return_deleted_v2')
16109
+ end
16110
+
15716
16111
  def EventType.shopify_localization_setting_upserted
15717
16112
  @@_shopify_localization_setting_upserted ||= EventType.new('shopify_localization_setting_upserted')
15718
16113
  end
@@ -15869,6 +16264,48 @@ module Io
15869
16264
 
15870
16265
  end
15871
16266
 
16267
+ class ExperienceCountryStatus
16268
+
16269
+ attr_reader :value
16270
+
16271
+ def initialize(value)
16272
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
16273
+ end
16274
+
16275
+ # Returns the instance of ExperienceCountryStatus for this value, creating a new instance for an unknown value
16276
+ def ExperienceCountryStatus.apply(value)
16277
+ if value.instance_of?(ExperienceCountryStatus)
16278
+ value
16279
+ else
16280
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
16281
+ value.nil? ? nil : (from_string(value) || ExperienceCountryStatus.new(value))
16282
+ end
16283
+ end
16284
+
16285
+ # Returns the instance of ExperienceCountryStatus for this value, or nil if not found
16286
+ def ExperienceCountryStatus.from_string(value)
16287
+ HttpClient::Preconditions.assert_class('value', value, String)
16288
+ ExperienceCountryStatus.ALL.find { |v| v.value == value }
16289
+ end
16290
+
16291
+ def ExperienceCountryStatus.ALL
16292
+ @@all ||= [ExperienceCountryStatus.enabled, ExperienceCountryStatus.disabled]
16293
+ end
16294
+
16295
+ def ExperienceCountryStatus.enabled
16296
+ @@_enabled ||= ExperienceCountryStatus.new('enabled')
16297
+ end
16298
+
16299
+ def ExperienceCountryStatus.disabled
16300
+ @@_disabled ||= ExperienceCountryStatus.new('disabled')
16301
+ end
16302
+
16303
+ def to_hash
16304
+ value
16305
+ end
16306
+
16307
+ end
16308
+
15872
16309
  class ExperiencePaymentMethodTag < PaymentMethodTag
15873
16310
 
15874
16311
  attr_reader :value
@@ -16705,7 +17142,7 @@ module Io
16705
17142
  end
16706
17143
 
16707
17144
  def ImportType.ALL
16708
- @@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]
16709
17146
  end
16710
17147
 
16711
17148
  # Provides bulk upsert of items into an organization's catalog.
@@ -16713,6 +17150,12 @@ module Io
16713
17150
  @@_catalog_items ||= ImportType.new('catalog_items')
16714
17151
  end
16715
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
+
16716
17159
  # Provides upload of customs descriptions for the products in a catalog.
16717
17160
  def ImportType.customs_descriptions
16718
17161
  @@_customs_descriptions ||= ImportType.new('customs_descriptions')
@@ -18039,7 +18482,7 @@ module Io
18039
18482
  end
18040
18483
 
18041
18484
  def OrderPriceDetailComponentKey.ALL
18042
- @@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]
18043
18486
  end
18044
18487
 
18045
18488
  # A general purpose adjustment applied to the order.
@@ -18131,6 +18574,11 @@ module Io
18131
18574
  @@_shipping ||= OrderPriceDetailComponentKey.new('shipping')
18132
18575
  end
18133
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
+
18134
18582
  # A discount applied to the entire order.
18135
18583
  def OrderPriceDetailComponentKey.order_discount
18136
18584
  @@_order_discount ||= OrderPriceDetailComponentKey.new('order_discount')
@@ -19370,50 +19818,6 @@ module Io
19370
19818
 
19371
19819
  end
19372
19820
 
19373
- class RateType
19374
-
19375
- attr_reader :value
19376
-
19377
- def initialize(value)
19378
- @value = HttpClient::Preconditions.assert_class('value', value, String)
19379
- end
19380
-
19381
- # Returns the instance of RateType for this value, creating a new instance for an unknown value
19382
- def RateType.apply(value)
19383
- if value.instance_of?(RateType)
19384
- value
19385
- else
19386
- HttpClient::Preconditions.assert_class_or_nil('value', value, String)
19387
- value.nil? ? nil : (from_string(value) || RateType.new(value))
19388
- end
19389
- end
19390
-
19391
- # Returns the instance of RateType for this value, or nil if not found
19392
- def RateType.from_string(value)
19393
- HttpClient::Preconditions.assert_class('value', value, String)
19394
- RateType.ALL.find { |v| v.value == value }
19395
- end
19396
-
19397
- def RateType.ALL
19398
- @@all ||= [RateType.flow, RateType.organization]
19399
- end
19400
-
19401
- # Represents a Flow rate type (which excludes currency margins)
19402
- def RateType.flow
19403
- @@_flow ||= RateType.new('flow')
19404
- end
19405
-
19406
- # Represents an organization rate type (which includes currency margins)
19407
- def RateType.organization
19408
- @@_organization ||= RateType.new('organization')
19409
- end
19410
-
19411
- def to_hash
19412
- value
19413
- end
19414
-
19415
- end
19416
-
19417
19821
  class RatecardOwner
19418
19822
 
19419
19823
  attr_reader :value
@@ -19559,6 +19963,96 @@ module Io
19559
19963
 
19560
19964
  end
19561
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
+
19562
20056
  class ReturnStatus
19563
20057
 
19564
20058
  attr_reader :value
@@ -19601,6 +20095,112 @@ module Io
19601
20095
 
19602
20096
  end
19603
20097
 
20098
+ class ReturnTrackingStatus
20099
+
20100
+ attr_reader :value
20101
+
20102
+ def initialize(value)
20103
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
20104
+ end
20105
+
20106
+ # Returns the instance of ReturnTrackingStatus for this value, creating a new instance for an unknown value
20107
+ def ReturnTrackingStatus.apply(value)
20108
+ if value.instance_of?(ReturnTrackingStatus)
20109
+ value
20110
+ else
20111
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
20112
+ value.nil? ? nil : (from_string(value) || ReturnTrackingStatus.new(value))
20113
+ end
20114
+ end
20115
+
20116
+ # Returns the instance of ReturnTrackingStatus for this value, or nil if not found
20117
+ def ReturnTrackingStatus.from_string(value)
20118
+ HttpClient::Preconditions.assert_class('value', value, String)
20119
+ ReturnTrackingStatus.ALL.find { |v| v.value == value }
20120
+ end
20121
+
20122
+ def ReturnTrackingStatus.ALL
20123
+ @@all ||= [ReturnTrackingStatus.awaiting_customs_clearance, ReturnTrackingStatus.cancel_requested, ReturnTrackingStatus.canceled, ReturnTrackingStatus.collection_attempt_failed, ReturnTrackingStatus.customs_clearance_completed, ReturnTrackingStatus.delivered_to_retailer, ReturnTrackingStatus.in_transit_to_local_hub, ReturnTrackingStatus.in_transit_to_retailer, ReturnTrackingStatus.parcel_added_to_pallet, ReturnTrackingStatus.parcel_delayed, ReturnTrackingStatus.parcel_extracted_from_pallet, ReturnTrackingStatus.parcel_lost, ReturnTrackingStatus.parcel_processed_by_retailer, ReturnTrackingStatus.parcel_under_investigation, ReturnTrackingStatus.processed_by_local_hub, ReturnTrackingStatus.received_at_local_hub, ReturnTrackingStatus.received_by_the_carrier, ReturnTrackingStatus.return_registered_online]
20124
+ end
20125
+
20126
+ def ReturnTrackingStatus.awaiting_customs_clearance
20127
+ @@_awaiting_customs_clearance ||= ReturnTrackingStatus.new('awaiting_customs_clearance')
20128
+ end
20129
+
20130
+ def ReturnTrackingStatus.cancel_requested
20131
+ @@_cancel_requested ||= ReturnTrackingStatus.new('cancel_requested')
20132
+ end
20133
+
20134
+ def ReturnTrackingStatus.canceled
20135
+ @@_canceled ||= ReturnTrackingStatus.new('canceled')
20136
+ end
20137
+
20138
+ def ReturnTrackingStatus.collection_attempt_failed
20139
+ @@_collection_attempt_failed ||= ReturnTrackingStatus.new('collection_attempt_failed')
20140
+ end
20141
+
20142
+ def ReturnTrackingStatus.customs_clearance_completed
20143
+ @@_customs_clearance_completed ||= ReturnTrackingStatus.new('customs_clearance_completed')
20144
+ end
20145
+
20146
+ def ReturnTrackingStatus.delivered_to_retailer
20147
+ @@_delivered_to_retailer ||= ReturnTrackingStatus.new('delivered_to_retailer')
20148
+ end
20149
+
20150
+ def ReturnTrackingStatus.in_transit_to_local_hub
20151
+ @@_in_transit_to_local_hub ||= ReturnTrackingStatus.new('in_transit_to_local_hub')
20152
+ end
20153
+
20154
+ def ReturnTrackingStatus.in_transit_to_retailer
20155
+ @@_in_transit_to_retailer ||= ReturnTrackingStatus.new('in_transit_to_retailer')
20156
+ end
20157
+
20158
+ def ReturnTrackingStatus.parcel_added_to_pallet
20159
+ @@_parcel_added_to_pallet ||= ReturnTrackingStatus.new('parcel_added_to_pallet')
20160
+ end
20161
+
20162
+ def ReturnTrackingStatus.parcel_delayed
20163
+ @@_parcel_delayed ||= ReturnTrackingStatus.new('parcel_delayed')
20164
+ end
20165
+
20166
+ def ReturnTrackingStatus.parcel_extracted_from_pallet
20167
+ @@_parcel_extracted_from_pallet ||= ReturnTrackingStatus.new('parcel_extracted_from_pallet')
20168
+ end
20169
+
20170
+ def ReturnTrackingStatus.parcel_lost
20171
+ @@_parcel_lost ||= ReturnTrackingStatus.new('parcel_lost')
20172
+ end
20173
+
20174
+ def ReturnTrackingStatus.parcel_processed_by_retailer
20175
+ @@_parcel_processed_by_retailer ||= ReturnTrackingStatus.new('parcel_processed_by_retailer')
20176
+ end
20177
+
20178
+ def ReturnTrackingStatus.parcel_under_investigation
20179
+ @@_parcel_under_investigation ||= ReturnTrackingStatus.new('parcel_under_investigation')
20180
+ end
20181
+
20182
+ def ReturnTrackingStatus.processed_by_local_hub
20183
+ @@_processed_by_local_hub ||= ReturnTrackingStatus.new('processed_by_local_hub')
20184
+ end
20185
+
20186
+ def ReturnTrackingStatus.received_at_local_hub
20187
+ @@_received_at_local_hub ||= ReturnTrackingStatus.new('received_at_local_hub')
20188
+ end
20189
+
20190
+ def ReturnTrackingStatus.received_by_the_carrier
20191
+ @@_received_by_the_carrier ||= ReturnTrackingStatus.new('received_by_the_carrier')
20192
+ end
20193
+
20194
+ def ReturnTrackingStatus.return_registered_online
20195
+ @@_return_registered_online ||= ReturnTrackingStatus.new('return_registered_online')
20196
+ end
20197
+
20198
+ def to_hash
20199
+ value
20200
+ end
20201
+
20202
+ end
20203
+
19604
20204
  class ReversalErrorCode
19605
20205
 
19606
20206
  attr_reader :value
@@ -20580,6 +21180,48 @@ module Io
20580
21180
 
20581
21181
  end
20582
21182
 
21183
+ class TaxReportType
21184
+
21185
+ attr_reader :value
21186
+
21187
+ def initialize(value)
21188
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
21189
+ end
21190
+
21191
+ # Returns the instance of TaxReportType for this value, creating a new instance for an unknown value
21192
+ def TaxReportType.apply(value)
21193
+ if value.instance_of?(TaxReportType)
21194
+ value
21195
+ else
21196
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
21197
+ value.nil? ? nil : (from_string(value) || TaxReportType.new(value))
21198
+ end
21199
+ end
21200
+
21201
+ # Returns the instance of TaxReportType for this value, or nil if not found
21202
+ def TaxReportType.from_string(value)
21203
+ HttpClient::Preconditions.assert_class('value', value, String)
21204
+ TaxReportType.ALL.find { |v| v.value == value }
21205
+ end
21206
+
21207
+ def TaxReportType.ALL
21208
+ @@all ||= [TaxReportType.consumer, TaxReportType.b2b]
21209
+ end
21210
+
21211
+ def TaxReportType.consumer
21212
+ @@_consumer ||= TaxReportType.new('consumer')
21213
+ end
21214
+
21215
+ def TaxReportType.b2b
21216
+ @@_b2b ||= TaxReportType.new('b2b')
21217
+ end
21218
+
21219
+ def to_hash
21220
+ value
21221
+ end
21222
+
21223
+ end
21224
+
20583
21225
  class TaxVerificationResult
20584
21226
 
20585
21227
  attr_reader :value
@@ -21995,7 +22637,7 @@ module Io
21995
22637
 
21996
22638
  class AddressFieldValidation
21997
22639
 
21998
- 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
21999
22641
 
22000
22642
  def initialize(incoming={})
22001
22643
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -22007,6 +22649,7 @@ module Io
22007
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)) }
22008
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)) }
22009
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)) }
22010
22653
  end
22011
22654
 
22012
22655
  def to_json
@@ -22026,7 +22669,8 @@ module Io
22026
22669
  :city => city.map { |o| o.to_hash },
22027
22670
  :province => province.map { |o| o.to_hash },
22028
22671
  :postal => postal.map { |o| o.to_hash },
22029
- :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 }
22030
22674
  }
22031
22675
  end
22032
22676
 
@@ -23656,15 +24300,12 @@ module Io
23656
24300
 
23657
24301
  class AvalaraTaxCsvSetting < TaxSetting
23658
24302
 
23659
- attr_reader :schedule, :timezone, :email_recipients
24303
+ attr_reader :reports
23660
24304
 
23661
24305
  def initialize(incoming={})
23662
24306
  super(:discriminator => TaxSetting::Types::AVALARA_TAX_CSV_SETTING)
23663
24307
  opts = HttpClient::Helper.symbolize_keys(incoming)
23664
- HttpClient::Preconditions.require_keys(opts, [:schedule, :timezone], 'AvalaraTaxCsvSetting')
23665
- @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::RepeatSchedule) ? x : ::Io::Flow::V0::Models::RepeatSchedule.from_json(x))
23666
- @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
23667
- @email_recipients = (x = opts.delete(:email_recipients); x.nil? ? nil : HttpClient::Preconditions.assert_class('email_recipients', x, Array).map { |v| HttpClient::Preconditions.assert_class('email_recipients', v, String) })
24308
+ @reports = (x = opts.delete(:reports); x.nil? ? nil : HttpClient::Preconditions.assert_class('reports', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TaxReport) ? x : ::Io::Flow::V0::Models::TaxReport.new(x)) })
23668
24309
  end
23669
24310
 
23670
24311
  def to_json
@@ -23677,9 +24318,7 @@ module Io
23677
24318
 
23678
24319
  def subtype_to_hash
23679
24320
  {
23680
- :schedule => schedule.to_hash,
23681
- :timezone => timezone,
23682
- :email_recipients => email_recipients.nil? ? nil : email_recipients
24321
+ :reports => reports.nil? ? nil : reports.map { |o| o.to_hash }
23683
24322
  }
23684
24323
  end
23685
24324
 
@@ -23755,7 +24394,7 @@ module Io
23755
24394
  # our clients
23756
24395
  class B2bCreditMemo
23757
24396
 
23758
- attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :invoice, :lines, :documents, :attributes
24397
+ attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :invoice, :lines, :documents, :attributes, :b2b_invoice_type
23759
24398
 
23760
24399
  def initialize(incoming={})
23761
24400
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -23771,6 +24410,7 @@ module Io
23771
24410
  @lines = HttpClient::Preconditions.assert_class('lines', opts.delete(:lines), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceLine) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceLine.from_json(x)) }
23772
24411
  @documents = HttpClient::Preconditions.assert_class('documents', opts.delete(:documents), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocument) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocument.new(x)) }
23773
24412
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
24413
+ @b2b_invoice_type = (x = (x = opts.delete(:b2b_invoice_type); x.nil? ? "self_bill_invoice" : x); x.is_a?(::Io::Flow::V0::Models::B2bInvoiceType) ? x : ::Io::Flow::V0::Models::B2bInvoiceType.apply(x))
23774
24414
  end
23775
24415
 
23776
24416
  def to_json
@@ -23793,7 +24433,8 @@ module Io
23793
24433
  :invoice => invoice.to_hash,
23794
24434
  :lines => lines.map { |o| o.to_hash },
23795
24435
  :documents => documents.map { |o| o.to_hash },
23796
- :attributes => attributes
24436
+ :attributes => attributes,
24437
+ :b2b_invoice_type => b2b_invoice_type.value
23797
24438
  }
23798
24439
  end
23799
24440
 
@@ -23869,7 +24510,7 @@ module Io
23869
24510
  # (e.g. Flow purchasing inventory to resell to a consumer).
23870
24511
  class B2bInvoice
23871
24512
 
23872
- attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes, :estimated_delivery_date
24513
+ attr_reader :id, :number, :buyer, :seller, :status, :date, :key, :order, :economic_title_location, :center, :destination, :tax, :lines, :documents, :attributes, :estimated_delivery_date, :b2b_invoice_type
23873
24514
 
23874
24515
  def initialize(incoming={})
23875
24516
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -23890,6 +24531,7 @@ module Io
23890
24531
  @documents = HttpClient::Preconditions.assert_class('documents', opts.delete(:documents), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocument) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocument.new(x)) }
23891
24532
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
23892
24533
  @estimated_delivery_date = (x = opts.delete(:estimated_delivery_date); x.nil? ? nil : HttpClient::Preconditions.assert_class('estimated_delivery_date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
24534
+ @b2b_invoice_type = (x = (x = opts.delete(:b2b_invoice_type); x.nil? ? "self_bill_invoice" : x); x.is_a?(::Io::Flow::V0::Models::B2bInvoiceType) ? x : ::Io::Flow::V0::Models::B2bInvoiceType.apply(x))
23893
24535
  end
23894
24536
 
23895
24537
  def to_json
@@ -23917,7 +24559,8 @@ module Io
23917
24559
  :lines => lines.map { |o| o.to_hash },
23918
24560
  :documents => documents.map { |o| o.to_hash },
23919
24561
  :attributes => attributes,
23920
- :estimated_delivery_date => estimated_delivery_date
24562
+ :estimated_delivery_date => estimated_delivery_date,
24563
+ :b2b_invoice_type => b2b_invoice_type.value
23921
24564
  }
23922
24565
  end
23923
24566
 
@@ -24225,6 +24868,37 @@ module Io
24225
24868
 
24226
24869
  end
24227
24870
 
24871
+ # Information to be passed to the payment processor about how to handle browser
24872
+ # inline authorization activities.
24873
+ class BrowserInlineActionConfiguration < InlineActionConfiguration
24874
+
24875
+ attr_reader :inline_notification_urls, :action_configuration
24876
+
24877
+ def initialize(incoming={})
24878
+ super(:discriminator => InlineActionConfiguration::Types::BROWSER_INLINE_ACTION_CONFIGURATION)
24879
+ opts = HttpClient::Helper.symbolize_keys(incoming)
24880
+ HttpClient::Preconditions.require_keys(opts, [:inline_notification_urls], 'BrowserInlineActionConfiguration')
24881
+ @inline_notification_urls = (x = opts.delete(:inline_notification_urls); x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x))
24882
+ @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserActionConfiguration) ? x : ::Io::Flow::V0::Models::BrowserActionConfiguration.from_json(x)))
24883
+ end
24884
+
24885
+ def to_json
24886
+ JSON.dump(to_hash)
24887
+ end
24888
+
24889
+ def copy(incoming={})
24890
+ BrowserInlineActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
24891
+ end
24892
+
24893
+ def subtype_to_hash
24894
+ {
24895
+ :inline_notification_urls => inline_notification_urls.to_hash,
24896
+ :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
24897
+ }
24898
+ end
24899
+
24900
+ end
24901
+
24228
24902
  # Capture actually transfers funds. You can capture as many times as you'd like
24229
24903
  # up until the total amount of the authorization has been captured or the
24230
24904
  # authorization otherwise becomes unavailable (e.g. expires).
@@ -24623,7 +25297,7 @@ module Io
24623
25297
  # capture up to the amount of the authorization.
24624
25298
  class CardAuthorization < Authorization
24625
25299
 
24626
- attr_reader :id, :key, :merchant_of_record, :method, :card, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base
25300
+ attr_reader :id, :key, :merchant_of_record, :method, :card, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base, :processor
24627
25301
 
24628
25302
  def initialize(incoming={})
24629
25303
  super(:discriminator => Authorization::Types::CARD_AUTHORIZATION)
@@ -24647,6 +25321,7 @@ module Io
24647
25321
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
24648
25322
  @expires_at = (x = opts.delete(:expires_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
24649
25323
  @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
25324
+ @processor = (x = opts.delete(:processor); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandablePaymentProcessor) ? x : ::Io::Flow::V0::Models::ExpandablePaymentProcessor.from_json(x)))
24650
25325
  end
24651
25326
 
24652
25327
  def to_json
@@ -24676,7 +25351,8 @@ module Io
24676
25351
  :result => result.to_hash,
24677
25352
  :created_at => created_at,
24678
25353
  :expires_at => expires_at,
24679
- :base => base.nil? ? nil : base.to_hash
25354
+ :base => base.nil? ? nil : base.to_hash,
25355
+ :processor => processor.nil? ? nil : processor.to_hash
24680
25356
  }
24681
25357
  end
24682
25358
 
@@ -24751,6 +25427,33 @@ module Io
24751
25427
 
24752
25428
  end
24753
25429
 
25430
+ # Instructions to the card issuer to render challenges to the user
25431
+ class CardBrowserActionConfiguration < BrowserActionConfiguration
25432
+
25433
+ attr_reader :viewport
25434
+
25435
+ def initialize(incoming={})
25436
+ super(:discriminator => BrowserActionConfiguration::Types::CARD_BROWSER_ACTION_CONFIGURATION)
25437
+ opts = HttpClient::Helper.symbolize_keys(incoming)
25438
+ @viewport = (x = (x = opts.delete(:viewport); x.nil? ? "xxx_small" : x); x.is_a?(::Io::Flow::V0::Models::ThreedsTwoChallengeViewport) ? x : ::Io::Flow::V0::Models::ThreedsTwoChallengeViewport.apply(x))
25439
+ end
25440
+
25441
+ def to_json
25442
+ JSON.dump(to_hash)
25443
+ end
25444
+
25445
+ def copy(incoming={})
25446
+ CardBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
25447
+ end
25448
+
25449
+ def subtype_to_hash
25450
+ {
25451
+ :viewport => viewport.value
25452
+ }
25453
+ end
25454
+
25455
+ end
25456
+
24754
25457
  class CardDeleted < Event
24755
25458
 
24756
25459
  attr_reader :event_id, :timestamp, :organization, :id
@@ -24987,7 +25690,7 @@ module Io
24987
25690
  # Creates an authorization for a transaction from a card payment source.
24988
25691
  class CardPaymentSourceAuthorizationForm < AuthorizationForm
24989
25692
 
24990
- attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :action_configuration
25693
+ attr_reader :key, :card_payment_source_id, :order_number, :amount, :currency, :browser_info, :inline_action_configuration
24991
25694
 
24992
25695
  def initialize(incoming={})
24993
25696
  super(:discriminator => AuthorizationForm::Types::CARD_PAYMENT_SOURCE_AUTHORIZATION_FORM)
@@ -24999,7 +25702,7 @@ module Io
24999
25702
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
25000
25703
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
25001
25704
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
25002
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
25705
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
25003
25706
  end
25004
25707
 
25005
25708
  def to_json
@@ -25018,7 +25721,7 @@ module Io
25018
25721
  :amount => amount.to_f.to_s,
25019
25722
  :currency => currency,
25020
25723
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
25021
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
25724
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
25022
25725
  }
25023
25726
  end
25024
25727
 
@@ -25391,16 +26094,15 @@ module Io
25391
26094
 
25392
26095
  class CatalogDeleted < Event
25393
26096
 
25394
- attr_reader :event_id, :timestamp, :organization, :catalog
26097
+ attr_reader :event_id, :timestamp, :organization
25395
26098
 
25396
26099
  def initialize(incoming={})
25397
26100
  super(:discriminator => Event::Types::CATALOG_DELETED)
25398
26101
  opts = HttpClient::Helper.symbolize_keys(incoming)
25399
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog], 'CatalogDeleted')
26102
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization], 'CatalogDeleted')
25400
26103
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25401
26104
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25402
26105
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25403
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25404
26106
  end
25405
26107
 
25406
26108
  def to_json
@@ -25415,8 +26117,7 @@ module Io
25415
26117
  {
25416
26118
  :event_id => event_id,
25417
26119
  :timestamp => timestamp,
25418
- :organization => organization,
25419
- :catalog => catalog
26120
+ :organization => organization
25420
26121
  }
25421
26122
  end
25422
26123
 
@@ -25424,17 +26125,16 @@ module Io
25424
26125
 
25425
26126
  class CatalogItemDeleted < Event
25426
26127
 
25427
- attr_reader :event_id, :timestamp, :organization, :number, :catalog
26128
+ attr_reader :event_id, :timestamp, :organization, :number
25428
26129
 
25429
26130
  def initialize(incoming={})
25430
26131
  super(:discriminator => Event::Types::CATALOG_ITEM_DELETED)
25431
26132
  opts = HttpClient::Helper.symbolize_keys(incoming)
25432
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog], 'CatalogItemDeleted')
26133
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number], 'CatalogItemDeleted')
25433
26134
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25434
26135
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25435
26136
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25436
26137
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
25437
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25438
26138
  end
25439
26139
 
25440
26140
  def to_json
@@ -25450,8 +26150,7 @@ module Io
25450
26150
  :event_id => event_id,
25451
26151
  :timestamp => timestamp,
25452
26152
  :organization => organization,
25453
- :number => number,
25454
- :catalog => catalog
26153
+ :number => number
25455
26154
  }
25456
26155
  end
25457
26156
 
@@ -25644,17 +26343,16 @@ module Io
25644
26343
 
25645
26344
  class CatalogItemUpserted < Event
25646
26345
 
25647
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :locale, :name, :currency, :price, :categories, :description, :attributes, :dimensions, :images
26346
+ attr_reader :event_id, :timestamp, :organization, :number, :locale, :name, :currency, :price, :categories, :description, :attributes, :dimensions, :images
25648
26347
 
25649
26348
  def initialize(incoming={})
25650
26349
  super(:discriminator => Event::Types::CATALOG_ITEM_UPSERTED)
25651
26350
  opts = HttpClient::Helper.symbolize_keys(incoming)
25652
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :locale, :name, :currency, :price, :categories, :attributes, :dimensions, :images], 'CatalogItemUpserted')
26351
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :locale, :name, :currency, :price, :categories, :attributes, :dimensions, :images], 'CatalogItemUpserted')
25653
26352
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25654
26353
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25655
26354
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25656
26355
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
25657
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25658
26356
  @locale = HttpClient::Preconditions.assert_class('locale', opts.delete(:locale), String)
25659
26357
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
25660
26358
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
@@ -25680,7 +26378,6 @@ module Io
25680
26378
  :timestamp => timestamp,
25681
26379
  :organization => organization,
25682
26380
  :number => number,
25683
- :catalog => catalog,
25684
26381
  :locale => locale,
25685
26382
  :name => name,
25686
26383
  :currency => currency,
@@ -25823,16 +26520,15 @@ module Io
25823
26520
 
25824
26521
  class CatalogUpserted < Event
25825
26522
 
25826
- attr_reader :event_id, :timestamp, :organization, :catalog
26523
+ attr_reader :event_id, :timestamp, :organization
25827
26524
 
25828
26525
  def initialize(incoming={})
25829
26526
  super(:discriminator => Event::Types::CATALOG_UPSERTED)
25830
26527
  opts = HttpClient::Helper.symbolize_keys(incoming)
25831
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog], 'CatalogUpserted')
26528
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization], 'CatalogUpserted')
25832
26529
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
25833
26530
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
25834
26531
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
25835
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
25836
26532
  end
25837
26533
 
25838
26534
  def to_json
@@ -25847,8 +26543,7 @@ module Io
25847
26543
  {
25848
26544
  :event_id => event_id,
25849
26545
  :timestamp => timestamp,
25850
- :organization => organization,
25851
- :catalog => catalog
26546
+ :organization => organization
25852
26547
  }
25853
26548
  end
25854
26549
 
@@ -27561,6 +28256,128 @@ module Io
27561
28256
 
27562
28257
  end
27563
28258
 
28259
+ class CountryStatus
28260
+
28261
+ attr_reader :id, :country, :status
28262
+
28263
+ def initialize(incoming={})
28264
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28265
+ HttpClient::Preconditions.require_keys(opts, [:id, :country, :status], 'CountryStatus')
28266
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
28267
+ @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
28268
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ExperienceCountryStatus) ? x : ::Io::Flow::V0::Models::ExperienceCountryStatus.apply(x))
28269
+ end
28270
+
28271
+ def to_json
28272
+ JSON.dump(to_hash)
28273
+ end
28274
+
28275
+ def copy(incoming={})
28276
+ CountryStatus.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28277
+ end
28278
+
28279
+ def to_hash
28280
+ {
28281
+ :id => id,
28282
+ :country => country,
28283
+ :status => status.value
28284
+ }
28285
+ end
28286
+
28287
+ end
28288
+
28289
+ class CountryStatusDeleted < Event
28290
+
28291
+ attr_reader :event_id, :timestamp, :organization, :country_status
28292
+
28293
+ def initialize(incoming={})
28294
+ super(:discriminator => Event::Types::COUNTRY_STATUS_DELETED)
28295
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28296
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :country_status], 'CountryStatusDeleted')
28297
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
28298
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
28299
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
28300
+ @country_status = (x = opts.delete(:country_status); x.is_a?(::Io::Flow::V0::Models::CountryStatus) ? x : ::Io::Flow::V0::Models::CountryStatus.new(x))
28301
+ end
28302
+
28303
+ def to_json
28304
+ JSON.dump(to_hash)
28305
+ end
28306
+
28307
+ def copy(incoming={})
28308
+ CountryStatusDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28309
+ end
28310
+
28311
+ def subtype_to_hash
28312
+ {
28313
+ :event_id => event_id,
28314
+ :timestamp => timestamp,
28315
+ :organization => organization,
28316
+ :country_status => country_status.to_hash
28317
+ }
28318
+ end
28319
+
28320
+ end
28321
+
28322
+ class CountryStatusForm
28323
+
28324
+ attr_reader :status
28325
+
28326
+ def initialize(incoming={})
28327
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28328
+ HttpClient::Preconditions.require_keys(opts, [:status], 'CountryStatusForm')
28329
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::ExperienceCountryStatus) ? x : ::Io::Flow::V0::Models::ExperienceCountryStatus.apply(x))
28330
+ end
28331
+
28332
+ def to_json
28333
+ JSON.dump(to_hash)
28334
+ end
28335
+
28336
+ def copy(incoming={})
28337
+ CountryStatusForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28338
+ end
28339
+
28340
+ def to_hash
28341
+ {
28342
+ :status => status.value
28343
+ }
28344
+ end
28345
+
28346
+ end
28347
+
28348
+ class CountryStatusUpserted < Event
28349
+
28350
+ attr_reader :event_id, :timestamp, :organization, :country_status
28351
+
28352
+ def initialize(incoming={})
28353
+ super(:discriminator => Event::Types::COUNTRY_STATUS_UPSERTED)
28354
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28355
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :country_status], 'CountryStatusUpserted')
28356
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
28357
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
28358
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
28359
+ @country_status = (x = opts.delete(:country_status); x.is_a?(::Io::Flow::V0::Models::CountryStatus) ? x : ::Io::Flow::V0::Models::CountryStatus.new(x))
28360
+ end
28361
+
28362
+ def to_json
28363
+ JSON.dump(to_hash)
28364
+ end
28365
+
28366
+ def copy(incoming={})
28367
+ CountryStatusUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28368
+ end
28369
+
28370
+ def subtype_to_hash
28371
+ {
28372
+ :event_id => event_id,
28373
+ :timestamp => timestamp,
28374
+ :organization => organization,
28375
+ :country_status => country_status.to_hash
28376
+ }
28377
+ end
28378
+
28379
+ end
28380
+
27564
28381
  # The credit memo represents the details of a refund and the reasons for the
27565
28382
  # issuance of the refund.
27566
28383
  class CreditMemo
@@ -27977,23 +28794,20 @@ module Io
27977
28794
 
27978
28795
  end
27979
28796
 
27980
- # Represents the format used to export price book item documents
27981
- class CsvPriceBookItemExportRow
28797
+ class CsvPriceBookItemExportRowByItemNumber
27982
28798
 
27983
- attr_reader :price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :item_attributes, :starts_at, :ends_at
28799
+ attr_reader :item_number, :price_book_key, :price_book_item_key, :item_name, :amount, :item_attributes, :schedule
27984
28800
 
27985
28801
  def initialize(incoming={})
27986
28802
  opts = HttpClient::Helper.symbolize_keys(incoming)
27987
- HttpClient::Preconditions.require_keys(opts, [:price_book_key, :price_book_item_key, :item_number, :sku, :item_name, :amount, :starts_at], 'CsvPriceBookItemExportRow')
28803
+ HttpClient::Preconditions.require_keys(opts, [:item_number, :price_book_key, :price_book_item_key, :item_name, :amount, :schedule], 'CsvPriceBookItemExportRowByItemNumber')
28804
+ @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27988
28805
  @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
27989
28806
  @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
27990
- @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
27991
- @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
27992
28807
  @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
27993
28808
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
27994
28809
  @item_attributes = (x = opts.delete(:item_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('item_attributes', d[1], String); h })
27995
- @starts_at = HttpClient::Preconditions.assert_class('starts_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:starts_at)), DateTime)
27996
- @ends_at = (x = opts.delete(:ends_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('ends_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
28810
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::PriceBookItemSchedule) ? x : ::Io::Flow::V0::Models::PriceBookItemSchedule.new(x))
27997
28811
  end
27998
28812
 
27999
28813
  def to_json
@@ -28001,20 +28815,56 @@ module Io
28001
28815
  end
28002
28816
 
28003
28817
  def copy(incoming={})
28004
- CsvPriceBookItemExportRow.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28818
+ CsvPriceBookItemExportRowByItemNumber.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28005
28819
  end
28006
28820
 
28007
28821
  def to_hash
28008
28822
  {
28823
+ :item_number => item_number,
28009
28824
  :price_book_key => price_book_key,
28010
28825
  :price_book_item_key => price_book_item_key,
28011
- :item_number => item_number,
28826
+ :item_name => item_name,
28827
+ :amount => amount.to_f.to_s,
28828
+ :item_attributes => item_attributes.nil? ? nil : item_attributes,
28829
+ :schedule => schedule.to_hash
28830
+ }
28831
+ end
28832
+
28833
+ end
28834
+
28835
+ class CsvPriceBookItemExportRowBySku
28836
+
28837
+ attr_reader :sku, :price_book_key, :price_book_item_key, :item_name, :amount, :item_attributes, :schedule
28838
+
28839
+ def initialize(incoming={})
28840
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28841
+ HttpClient::Preconditions.require_keys(opts, [:sku, :price_book_key, :price_book_item_key, :item_name, :amount, :schedule], 'CsvPriceBookItemExportRowBySku')
28842
+ @sku = HttpClient::Preconditions.assert_class('sku', opts.delete(:sku), String)
28843
+ @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
28844
+ @price_book_item_key = HttpClient::Preconditions.assert_class('price_book_item_key', opts.delete(:price_book_item_key), String)
28845
+ @item_name = HttpClient::Preconditions.assert_class('item_name', opts.delete(:item_name), String)
28846
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
28847
+ @item_attributes = (x = opts.delete(:item_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('item_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('item_attributes', d[1], String); h })
28848
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::PriceBookItemSchedule) ? x : ::Io::Flow::V0::Models::PriceBookItemSchedule.new(x))
28849
+ end
28850
+
28851
+ def to_json
28852
+ JSON.dump(to_hash)
28853
+ end
28854
+
28855
+ def copy(incoming={})
28856
+ CsvPriceBookItemExportRowBySku.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28857
+ end
28858
+
28859
+ def to_hash
28860
+ {
28012
28861
  :sku => sku,
28862
+ :price_book_key => price_book_key,
28863
+ :price_book_item_key => price_book_item_key,
28013
28864
  :item_name => item_name,
28014
28865
  :amount => amount.to_f.to_s,
28015
28866
  :item_attributes => item_attributes.nil? ? nil : item_attributes,
28016
- :starts_at => starts_at,
28017
- :ends_at => ends_at
28867
+ :schedule => schedule.to_hash
28018
28868
  }
28019
28869
  end
28020
28870
 
@@ -29894,7 +30744,7 @@ module Io
29894
30744
  # you can capture up to the amount of the authorization.
29895
30745
  class DirectAuthorizationForm < AuthorizationForm
29896
30746
 
29897
- attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :action_configuration
30747
+ attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :billing_address, :ip, :options, :redirect_urls, :browser_info, :inline_action_configuration
29898
30748
 
29899
30749
  def initialize(incoming={})
29900
30750
  super(:discriminator => AuthorizationForm::Types::DIRECT_AUTHORIZATION_FORM)
@@ -29913,7 +30763,7 @@ module Io
29913
30763
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
29914
30764
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
29915
30765
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
29916
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
30766
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
29917
30767
  end
29918
30768
 
29919
30769
  def to_json
@@ -29939,7 +30789,7 @@ module Io
29939
30789
  :options => options.nil? ? nil : options.map { |o| o.value },
29940
30790
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
29941
30791
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
29942
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
30792
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
29943
30793
  }
29944
30794
  end
29945
30795
 
@@ -30825,6 +31675,37 @@ module Io
30825
31675
 
30826
31676
  end
30827
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
+
30828
31709
  class EstimatedDimensions
30829
31710
 
30830
31711
  attr_reader :depth, :length, :weight, :width
@@ -31048,6 +31929,36 @@ module Io
31048
31929
 
31049
31930
  end
31050
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
+
31051
31962
  # Experiences define a local experience for a given geographic region
31052
31963
  class Experience < ExpandableExperience
31053
31964
 
@@ -31466,7 +32377,7 @@ module Io
31466
32377
  # Experiences define a local experience for a given geographic region
31467
32378
  class ExperienceForm
31468
32379
 
31469
- attr_reader :region_id, :name, :delivered_duty, :country, :currency, :language, :key, :measurement_system, :subcatalog_id
32380
+ attr_reader :region_id, :name, :delivered_duty, :country, :currency, :language, :key, :position, :measurement_system, :subcatalog_id
31470
32381
 
31471
32382
  def initialize(incoming={})
31472
32383
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -31478,6 +32389,7 @@ module Io
31478
32389
  @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
31479
32390
  @language = (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
31480
32391
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
32392
+ @position = (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Integer))
31481
32393
  @measurement_system = (x = opts.delete(:measurement_system); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::MeasurementSystem) ? x : ::Io::Flow::V0::Models::MeasurementSystem.apply(x)))
31482
32394
  @subcatalog_id = (x = opts.delete(:subcatalog_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('subcatalog_id', x, String))
31483
32395
  end
@@ -31499,6 +32411,7 @@ module Io
31499
32411
  :currency => currency,
31500
32412
  :language => language,
31501
32413
  :key => key,
32414
+ :position => position,
31502
32415
  :measurement_system => measurement_system.nil? ? nil : measurement_system.value,
31503
32416
  :subcatalog_id => subcatalog_id
31504
32417
  }
@@ -32564,16 +33477,17 @@ module Io
32564
33477
 
32565
33478
  class ExportLocalizedItemPrices
32566
33479
 
32567
- attr_reader :organization, :experience, :item, :prices, :status
33480
+ attr_reader :organization, :experience, :item, :prices, :status, :rates
32568
33481
 
32569
33482
  def initialize(incoming={})
32570
33483
  opts = HttpClient::Helper.symbolize_keys(incoming)
32571
33484
  HttpClient::Preconditions.require_keys(opts, [:organization, :experience, :item, :prices], 'ExportLocalizedItemPrices')
32572
33485
  @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x))
32573
- @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))
32574
33487
  @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::CatalogItemReference) ? x : ::Io::Flow::V0::Models::CatalogItemReference.new(x))
32575
33488
  @prices = (x = opts.delete(:prices); x.is_a?(::Io::Flow::V0::Models::ExportLocalizedItemPricesDetail) ? x : ::Io::Flow::V0::Models::ExportLocalizedItemPricesDetail.new(x))
32576
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)) })
32577
33491
  end
32578
33492
 
32579
33493
  def to_json
@@ -32590,7 +33504,8 @@ module Io
32590
33504
  :experience => experience.to_hash,
32591
33505
  :item => item.to_hash,
32592
33506
  :prices => prices.to_hash,
32593
- :status => status.nil? ? nil : status.value
33507
+ :status => status.nil? ? nil : status.value,
33508
+ :rates => rates.nil? ? nil : rates.map { |o| o.to_hash }
32594
33509
  }
32595
33510
  end
32596
33511
 
@@ -32795,6 +33710,33 @@ module Io
32795
33710
 
32796
33711
  end
32797
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
+
32798
33740
  # Rule outcome where shipping surfaced in quote is pre-defined flat rate
32799
33741
  class FlatRate < TierRuleOutcome
32800
33742
 
@@ -32906,7 +33848,7 @@ module Io
32906
33848
 
32907
33849
  end
32908
33850
 
32909
- # Rule to apply to enable white-listing and black-listing for an email address.
33851
+ # Rule to apply to enable allow-listing and deny-listing for an email address.
32910
33852
  class FraudEmailRule
32911
33853
 
32912
33854
  attr_reader :id, :email, :decision
@@ -34052,37 +34994,6 @@ module Io
34052
34994
 
34053
34995
  end
34054
34996
 
34055
- # Categories optimized for harmonization
34056
- class HarmonizedCategory
34057
-
34058
- attr_reader :id, :name, :parent
34059
-
34060
- def initialize(incoming={})
34061
- opts = HttpClient::Helper.symbolize_keys(incoming)
34062
- HttpClient::Preconditions.require_keys(opts, [:id, :name], 'HarmonizedCategory')
34063
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
34064
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
34065
- @parent = (x = opts.delete(:parent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::HarmonizedCategoryReference) ? x : ::Io::Flow::V0::Models::HarmonizedCategoryReference.new(x)))
34066
- end
34067
-
34068
- def to_json
34069
- JSON.dump(to_hash)
34070
- end
34071
-
34072
- def copy(incoming={})
34073
- HarmonizedCategory.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34074
- end
34075
-
34076
- def to_hash
34077
- {
34078
- :id => id,
34079
- :name => name,
34080
- :parent => parent.nil? ? nil : parent.to_hash
34081
- }
34082
- end
34083
-
34084
- end
34085
-
34086
34997
  class HarmonizedCategoryReference
34087
34998
 
34088
34999
  attr_reader :id
@@ -35491,6 +36402,35 @@ module Io
35491
36402
 
35492
36403
  end
35493
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
+
35494
36434
  class InventoryItemReference
35495
36435
 
35496
36436
  attr_reader :number
@@ -36393,7 +37333,7 @@ module Io
36393
37333
  # Defines a fixed and percent margin to apply to items matching a query.
36394
37334
  class ItemMargin
36395
37335
 
36396
- attr_reader :id, :key, :name, :q, :fixed, :percent, :position
37336
+ attr_reader :id, :key, :name, :q, :fixed, :percent, :position, :experience
36397
37337
 
36398
37338
  def initialize(incoming={})
36399
37339
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -36405,6 +37345,7 @@ module Io
36405
37345
  @fixed = HttpClient::Preconditions.assert_class('fixed', HttpClient::Helper.to_big_decimal(opts.delete(:fixed)), BigDecimal)
36406
37346
  @percent = HttpClient::Preconditions.assert_class('percent', HttpClient::Helper.to_big_decimal(opts.delete(:percent)), BigDecimal)
36407
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)))
36408
37349
  end
36409
37350
 
36410
37351
  def to_json
@@ -36423,25 +37364,25 @@ module Io
36423
37364
  :q => q,
36424
37365
  :fixed => fixed.to_f.to_s,
36425
37366
  :percent => percent.to_f.to_s,
36426
- :position => position
37367
+ :position => position,
37368
+ :experience => experience.nil? ? nil : experience.to_hash
36427
37369
  }
36428
37370
  end
36429
37371
 
36430
37372
  end
36431
37373
 
36432
- class ItemMarginDeleted < Event
37374
+ class ItemMarginDeletedV2 < Event
36433
37375
 
36434
- attr_reader :event_id, :timestamp, :item_margin_id, :organization_id, :experience_key
37376
+ attr_reader :event_id, :timestamp, :organization, :item_margin
36435
37377
 
36436
37378
  def initialize(incoming={})
36437
- super(:discriminator => Event::Types::ITEM_MARGIN_DELETED)
37379
+ super(:discriminator => Event::Types::ITEM_MARGIN_DELETED_V2)
36438
37380
  opts = HttpClient::Helper.symbolize_keys(incoming)
36439
- 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')
36440
37382
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
36441
37383
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
36442
- @item_margin_id = HttpClient::Preconditions.assert_class('item_margin_id', opts.delete(:item_margin_id), String)
36443
- @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
36444
- @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))
36445
37386
  end
36446
37387
 
36447
37388
  def to_json
@@ -36449,16 +37390,15 @@ module Io
36449
37390
  end
36450
37391
 
36451
37392
  def copy(incoming={})
36452
- ItemMarginDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37393
+ ItemMarginDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
36453
37394
  end
36454
37395
 
36455
37396
  def subtype_to_hash
36456
37397
  {
36457
37398
  :event_id => event_id,
36458
37399
  :timestamp => timestamp,
36459
- :item_margin_id => item_margin_id,
36460
- :organization_id => organization_id,
36461
- :experience_key => experience_key
37400
+ :organization => organization,
37401
+ :item_margin => item_margin.to_hash
36462
37402
  }
36463
37403
  end
36464
37404
 
@@ -36536,25 +37476,18 @@ module Io
36536
37476
 
36537
37477
  end
36538
37478
 
36539
- class ItemMarginUpserted < Event
37479
+ class ItemMarginUpsertedV2 < Event
36540
37480
 
36541
- 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
36542
37482
 
36543
37483
  def initialize(incoming={})
36544
- super(:discriminator => Event::Types::ITEM_MARGIN_UPSERTED)
37484
+ super(:discriminator => Event::Types::ITEM_MARGIN_UPSERTED_V2)
36545
37485
  opts = HttpClient::Helper.symbolize_keys(incoming)
36546
- 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')
36547
37487
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
36548
37488
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
36549
- @item_margin_id = HttpClient::Preconditions.assert_class('item_margin_id', opts.delete(:item_margin_id), String)
36550
- @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
36551
- @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
36552
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
36553
- @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
36554
- @fixed = HttpClient::Preconditions.assert_class('fixed', HttpClient::Helper.to_big_decimal(opts.delete(:fixed)), BigDecimal)
36555
- @percent = HttpClient::Preconditions.assert_class('percent', HttpClient::Helper.to_big_decimal(opts.delete(:percent)), BigDecimal)
36556
- @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
36557
- @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))
36558
37491
  end
36559
37492
 
36560
37493
  def to_json
@@ -36562,22 +37495,15 @@ module Io
36562
37495
  end
36563
37496
 
36564
37497
  def copy(incoming={})
36565
- ItemMarginUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37498
+ ItemMarginUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
36566
37499
  end
36567
37500
 
36568
37501
  def subtype_to_hash
36569
37502
  {
36570
37503
  :event_id => event_id,
36571
37504
  :timestamp => timestamp,
36572
- :item_margin_id => item_margin_id,
36573
- :organization_id => organization_id,
36574
- :experience_key => experience_key,
36575
- :name => name,
36576
- :q => q,
36577
- :fixed => fixed.to_f.to_s,
36578
- :percent => percent.to_f.to_s,
36579
- :position => position,
36580
- :key => key
37505
+ :organization => organization,
37506
+ :item_margin => item_margin.to_hash
36581
37507
  }
36582
37508
  end
36583
37509
 
@@ -37711,6 +38637,39 @@ module Io
37711
38637
 
37712
38638
  end
37713
38639
 
38640
+ # Localized item attribute pricing information
38641
+ class LocalItemAttributePricing
38642
+
38643
+ attr_reader :pretax_price, :vat, :duty, :price
38644
+
38645
+ def initialize(incoming={})
38646
+ opts = HttpClient::Helper.symbolize_keys(incoming)
38647
+ HttpClient::Preconditions.require_keys(opts, [:pretax_price, :price], 'LocalItemAttributePricing')
38648
+ @pretax_price = (x = opts.delete(:pretax_price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
38649
+ @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemVat) ? x : ::Io::Flow::V0::Models::LocalizedItemVat.new(x)))
38650
+ @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemDuty) ? x : ::Io::Flow::V0::Models::LocalizedItemDuty.new(x)))
38651
+ @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::LocalizedItemPrice) ? x : ::Io::Flow::V0::Models::LocalizedItemPrice.new(x))
38652
+ end
38653
+
38654
+ def to_json
38655
+ JSON.dump(to_hash)
38656
+ end
38657
+
38658
+ def copy(incoming={})
38659
+ LocalItemAttributePricing.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
38660
+ end
38661
+
38662
+ def to_hash
38663
+ {
38664
+ :pretax_price => pretax_price.to_hash,
38665
+ :vat => vat.nil? ? nil : vat.to_hash,
38666
+ :duty => duty.nil? ? nil : duty.to_hash,
38667
+ :price => price.to_hash
38668
+ }
38669
+ end
38670
+
38671
+ end
38672
+
37714
38673
  class LocalItemDeleted < Event
37715
38674
 
37716
38675
  attr_reader :event_id, :timestamp, :organization, :local_item
@@ -37747,7 +38706,7 @@ module Io
37747
38706
  # Localized item pricing information
37748
38707
  class LocalItemPricing
37749
38708
 
37750
- attr_reader :price, :vat, :duty, :attributes
38709
+ attr_reader :price, :vat, :duty, :attributes, :price_attributes
37751
38710
 
37752
38711
  def initialize(incoming={})
37753
38712
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -37756,6 +38715,7 @@ module Io
37756
38715
  @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemVat) ? x : ::Io::Flow::V0::Models::LocalizedItemVat.new(x)))
37757
38716
  @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LocalizedItemDuty) ? x : ::Io::Flow::V0::Models::LocalizedItemDuty.new(x)))
37758
38717
  @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Hash).inject({}) { |h, d| h[d[0]] = (x = d[1]; x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x)); h }
38718
+ @price_attributes = (x = opts.delete(:price_attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('price_attributes', x, Hash).inject({}) { |h, d| h[d[0]] = (x = d[1]; x.is_a?(::Io::Flow::V0::Models::LocalItemAttributePricing) ? x : ::Io::Flow::V0::Models::LocalItemAttributePricing.new(x)); h })
37759
38719
  end
37760
38720
 
37761
38721
  def to_json
@@ -37771,7 +38731,8 @@ module Io
37771
38731
  :price => price.to_hash,
37772
38732
  :vat => vat.nil? ? nil : vat.to_hash,
37773
38733
  :duty => duty.nil? ? nil : duty.to_hash,
37774
- :attributes => attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
38734
+ :attributes => attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash },
38735
+ :price_attributes => price_attributes.nil? ? nil : price_attributes.inject({}) { |hash, o| hash[o[0]] = o[1].nil? ? nil : o[1].to_hash; hash }
37775
38736
  }
37776
38737
  end
37777
38738
 
@@ -38942,7 +39903,7 @@ module Io
38942
39903
  # you can capture up to the amount of the authorization
38943
39904
  class MerchantOfRecordAuthorizationForm < AuthorizationForm
38944
39905
 
38945
- attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :action_configuration
39906
+ attr_reader :token, :order_number, :amount, :currency, :key, :cvv, :attributes, :ip, :options, :redirect_urls, :browser_info, :inline_action_configuration
38946
39907
 
38947
39908
  def initialize(incoming={})
38948
39909
  super(:discriminator => AuthorizationForm::Types::MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
@@ -38959,7 +39920,7 @@ module Io
38959
39920
  @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
38960
39921
  @redirect_urls = (x = opts.delete(:redirect_urls); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PostPaymentRedirectUrls) ? x : ::Io::Flow::V0::Models::PostPaymentRedirectUrls.new(x)))
38961
39922
  @browser_info = (x = opts.delete(:browser_info); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BrowserInfo) ? x : ::Io::Flow::V0::Models::BrowserInfo.new(x)))
38962
- @action_configuration = (x = opts.delete(:action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ActionConfiguration) ? x : ::Io::Flow::V0::Models::ActionConfiguration.from_json(x)))
39923
+ @inline_action_configuration = (x = opts.delete(:inline_action_configuration); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::InlineActionConfiguration) ? x : ::Io::Flow::V0::Models::InlineActionConfiguration.from_json(x)))
38963
39924
  end
38964
39925
 
38965
39926
  def to_json
@@ -38983,7 +39944,7 @@ module Io
38983
39944
  :options => options.nil? ? nil : options.map { |o| o.value },
38984
39945
  :redirect_urls => redirect_urls.nil? ? nil : redirect_urls.to_hash,
38985
39946
  :browser_info => browser_info.nil? ? nil : browser_info.to_hash,
38986
- :action_configuration => action_configuration.nil? ? nil : action_configuration.to_hash
39947
+ :inline_action_configuration => inline_action_configuration.nil? ? nil : inline_action_configuration.to_hash
38987
39948
  }
38988
39949
  end
38989
39950
 
@@ -38993,14 +39954,15 @@ module Io
38993
39954
  # specific Flow entity serving as merchant of record.
38994
39955
  class MerchantOfRecordEntity
38995
39956
 
38996
- 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
38997
39958
 
38998
39959
  def initialize(incoming={})
38999
39960
  opts = HttpClient::Helper.symbolize_keys(incoming)
39000
- HttpClient::Preconditions.require_keys(opts, [:organization, :name, :vat, :streets, :city, :country], 'MerchantOfRecordEntity')
39961
+ HttpClient::Preconditions.require_keys(opts, [:organization, :name, :streets, :city, :country], 'MerchantOfRecordEntity')
39001
39962
  @organization = (x = opts.delete(:organization); x.is_a?(::Io::Flow::V0::Models::OrganizationReference) ? x : ::Io::Flow::V0::Models::OrganizationReference.new(x))
39002
39963
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
39003
- @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)) })
39004
39966
  @streets = HttpClient::Preconditions.assert_class('streets', opts.delete(:streets), Array).map { |v| HttpClient::Preconditions.assert_class('streets', v, String) }
39005
39967
  @city = HttpClient::Preconditions.assert_class('city', opts.delete(:city), String)
39006
39968
  @province = (x = opts.delete(:province); x.nil? ? nil : HttpClient::Preconditions.assert_class('province', x, String))
@@ -39022,7 +39984,8 @@ module Io
39022
39984
  {
39023
39985
  :organization => organization.to_hash,
39024
39986
  :name => name,
39025
- :vat => vat.to_hash,
39987
+ :vat => vat.nil? ? nil : vat.to_hash,
39988
+ :identifiers => identifiers.nil? ? nil : identifiers.map { |o| o.to_hash },
39026
39989
  :streets => streets,
39027
39990
  :city => city,
39028
39991
  :province => province,
@@ -39433,7 +40396,7 @@ module Io
39433
40396
 
39434
40397
  class OnlineAuthorization < Authorization
39435
40398
 
39436
- attr_reader :id, :key, :method, :merchant_of_record, :details, :payment, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base
40399
+ attr_reader :id, :key, :method, :merchant_of_record, :details, :payment, :amount, :currency, :requested, :customer, :attributes, :destination, :billing_address, :order, :ip, :result, :created_at, :expires_at, :base, :processor
39437
40400
 
39438
40401
  def initialize(incoming={})
39439
40402
  super(:discriminator => Authorization::Types::ONLINE_AUTHORIZATION)
@@ -39458,6 +40421,7 @@ module Io
39458
40421
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
39459
40422
  @expires_at = (x = opts.delete(:expires_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
39460
40423
  @base = (x = opts.delete(:base); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
40424
+ @processor = (x = opts.delete(:processor); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandablePaymentProcessor) ? x : ::Io::Flow::V0::Models::ExpandablePaymentProcessor.from_json(x)))
39461
40425
  end
39462
40426
 
39463
40427
  def to_json
@@ -39488,7 +40452,8 @@ module Io
39488
40452
  :result => result.to_hash,
39489
40453
  :created_at => created_at,
39490
40454
  :expires_at => expires_at,
39491
- :base => base.nil? ? nil : base.to_hash
40455
+ :base => base.nil? ? nil : base.to_hash,
40456
+ :processor => processor.nil? ? nil : processor.to_hash
39492
40457
  }
39493
40458
  end
39494
40459
 
@@ -40926,7 +41891,7 @@ module Io
40926
41891
  # type of the payment can be used to further lookup transaction level detail
40927
41892
  class OrderPayment
40928
41893
 
40929
- 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
40930
41895
 
40931
41896
  def initialize(incoming={})
40932
41897
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -40940,6 +41905,7 @@ module Io
40940
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)))
40941
41906
  @date = (x = opts.delete(:date); x.nil? ? nil : HttpClient::Preconditions.assert_class('date', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
40942
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))
40943
41909
  end
40944
41910
 
40945
41911
  def to_json
@@ -40960,7 +41926,8 @@ module Io
40960
41926
  :total => total.to_hash,
40961
41927
  :address => address.nil? ? nil : address.to_hash,
40962
41928
  :date => date,
40963
- :attributes => attributes
41929
+ :attributes => attributes,
41930
+ :method => method
40964
41931
  }
40965
41932
  end
40966
41933
 
@@ -42025,102 +42992,6 @@ module Io
42025
42992
 
42026
42993
  end
42027
42994
 
42028
- # Represents organization-specific currency conversion adjustments.
42029
- class OrganizationCurrencySetting
42030
-
42031
- attr_reader :id, :base, :target, :margin
42032
-
42033
- def initialize(incoming={})
42034
- opts = HttpClient::Helper.symbolize_keys(incoming)
42035
- HttpClient::Preconditions.require_keys(opts, [:id, :base, :target, :margin], 'OrganizationCurrencySetting')
42036
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42037
- @base = HttpClient::Preconditions.assert_class('base', opts.delete(:base), String)
42038
- @target = HttpClient::Preconditions.assert_class('target', opts.delete(:target), String)
42039
- @margin = HttpClient::Preconditions.assert_class('margin', HttpClient::Helper.to_big_decimal(opts.delete(:margin)), BigDecimal)
42040
- end
42041
-
42042
- def to_json
42043
- JSON.dump(to_hash)
42044
- end
42045
-
42046
- def copy(incoming={})
42047
- OrganizationCurrencySetting.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42048
- end
42049
-
42050
- def to_hash
42051
- {
42052
- :id => id,
42053
- :base => base,
42054
- :target => target,
42055
- :margin => margin.to_f.to_s
42056
- }
42057
- end
42058
-
42059
- end
42060
-
42061
- # Represents the parts of an organization setting that can be updated.
42062
- class OrganizationCurrencySettingForm
42063
-
42064
- attr_reader :base, :target, :margin
42065
-
42066
- def initialize(incoming={})
42067
- opts = HttpClient::Helper.symbolize_keys(incoming)
42068
- HttpClient::Preconditions.require_keys(opts, [:base, :target, :margin], 'OrganizationCurrencySettingForm')
42069
- @base = HttpClient::Preconditions.assert_class('base', opts.delete(:base), String)
42070
- @target = HttpClient::Preconditions.assert_class('target', opts.delete(:target), String)
42071
- @margin = HttpClient::Preconditions.assert_class('margin', HttpClient::Helper.to_big_decimal(opts.delete(:margin)), BigDecimal)
42072
- end
42073
-
42074
- def to_json
42075
- JSON.dump(to_hash)
42076
- end
42077
-
42078
- def copy(incoming={})
42079
- OrganizationCurrencySettingForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42080
- end
42081
-
42082
- def to_hash
42083
- {
42084
- :base => base,
42085
- :target => target,
42086
- :margin => margin.to_f.to_s
42087
- }
42088
- end
42089
-
42090
- end
42091
-
42092
- class OrganizationCurrencySettingVersion
42093
-
42094
- attr_reader :id, :timestamp, :type, :organization_currency_setting
42095
-
42096
- def initialize(incoming={})
42097
- opts = HttpClient::Helper.symbolize_keys(incoming)
42098
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :organization_currency_setting], 'OrganizationCurrencySettingVersion')
42099
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42100
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
42101
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
42102
- @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))
42103
- end
42104
-
42105
- def to_json
42106
- JSON.dump(to_hash)
42107
- end
42108
-
42109
- def copy(incoming={})
42110
- OrganizationCurrencySettingVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
42111
- end
42112
-
42113
- def to_hash
42114
- {
42115
- :id => id,
42116
- :timestamp => timestamp,
42117
- :type => type.value,
42118
- :organization_currency_setting => organization_currency_setting.to_hash
42119
- }
42120
- end
42121
-
42122
- end
42123
-
42124
42995
  class OrganizationDefaultConfigurations
42125
42996
 
42126
42997
  attr_reader :id, :checkout_configuration
@@ -42680,13 +43551,14 @@ module Io
42680
43551
 
42681
43552
  class OrganizationSummary
42682
43553
 
42683
- attr_reader :id, :name
43554
+ attr_reader :id, :name, :environment
42684
43555
 
42685
43556
  def initialize(incoming={})
42686
43557
  opts = HttpClient::Helper.symbolize_keys(incoming)
42687
- HttpClient::Preconditions.require_keys(opts, [:id, :name], 'OrganizationSummary')
43558
+ HttpClient::Preconditions.require_keys(opts, [:id, :name, :environment], 'OrganizationSummary')
42688
43559
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
42689
43560
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
43561
+ @environment = (x = opts.delete(:environment); x.is_a?(::Io::Flow::V0::Models::Environment) ? x : ::Io::Flow::V0::Models::Environment.apply(x))
42690
43562
  end
42691
43563
 
42692
43564
  def to_json
@@ -42700,7 +43572,8 @@ module Io
42700
43572
  def to_hash
42701
43573
  {
42702
43574
  :id => id,
42703
- :name => name
43575
+ :name => name,
43576
+ :environment => environment.value
42704
43577
  }
42705
43578
  end
42706
43579
 
@@ -43644,6 +44517,155 @@ module Io
43644
44517
 
43645
44518
  end
43646
44519
 
44520
+ # Information about which payment processor performed the transaction and how it
44521
+ # can be tracked in their system
44522
+ class PaymentProcessor < ExpandablePaymentProcessor
44523
+
44524
+ attr_reader :processor, :operation_identifier, :account
44525
+
44526
+ def initialize(incoming={})
44527
+ super(:discriminator => ExpandablePaymentProcessor::Types::PAYMENT_PROCESSOR)
44528
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44529
+ HttpClient::Preconditions.require_keys(opts, [:processor], 'PaymentProcessor')
44530
+ @processor = HttpClient::Preconditions.assert_class('processor', opts.delete(:processor), String)
44531
+ @operation_identifier = (x = opts.delete(:operation_identifier); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorIdentifier) ? x : ::Io::Flow::V0::Models::PaymentProcessorIdentifier.new(x)))
44532
+ @account = (x = opts.delete(:account); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorAccount) ? x : ::Io::Flow::V0::Models::PaymentProcessorAccount.new(x)))
44533
+ end
44534
+
44535
+ def to_json
44536
+ JSON.dump(to_hash)
44537
+ end
44538
+
44539
+ def copy(incoming={})
44540
+ PaymentProcessor.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44541
+ end
44542
+
44543
+ def subtype_to_hash
44544
+ {
44545
+ :processor => processor,
44546
+ :operation_identifier => operation_identifier.nil? ? nil : operation_identifier.to_hash,
44547
+ :account => account.nil? ? nil : account.to_hash
44548
+ }
44549
+ end
44550
+
44551
+ end
44552
+
44553
+ # Information about an account with a payment processor
44554
+ class PaymentProcessorAccount
44555
+
44556
+ attr_reader :organization, :key, :identifier, :parent_account
44557
+
44558
+ def initialize(incoming={})
44559
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44560
+ HttpClient::Preconditions.require_keys(opts, [:organization, :key, :identifier], 'PaymentProcessorAccount')
44561
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
44562
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
44563
+ @identifier = (x = opts.delete(:identifier); x.is_a?(::Io::Flow::V0::Models::PaymentProcessorIdentifier) ? x : ::Io::Flow::V0::Models::PaymentProcessorIdentifier.new(x))
44564
+ @parent_account = (x = opts.delete(:parent_account); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PaymentProcessorAccountReference) ? x : ::Io::Flow::V0::Models::PaymentProcessorAccountReference.new(x)))
44565
+ end
44566
+
44567
+ def to_json
44568
+ JSON.dump(to_hash)
44569
+ end
44570
+
44571
+ def copy(incoming={})
44572
+ PaymentProcessorAccount.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44573
+ end
44574
+
44575
+ def to_hash
44576
+ {
44577
+ :organization => organization,
44578
+ :key => key,
44579
+ :identifier => identifier.to_hash,
44580
+ :parent_account => parent_account.nil? ? nil : parent_account.to_hash
44581
+ }
44582
+ end
44583
+
44584
+ end
44585
+
44586
+ class PaymentProcessorAccountReference
44587
+
44588
+ attr_reader :organization, :key
44589
+
44590
+ def initialize(incoming={})
44591
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44592
+ HttpClient::Preconditions.require_keys(opts, [:organization, :key], 'PaymentProcessorAccountReference')
44593
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
44594
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
44595
+ end
44596
+
44597
+ def to_json
44598
+ JSON.dump(to_hash)
44599
+ end
44600
+
44601
+ def copy(incoming={})
44602
+ PaymentProcessorAccountReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44603
+ end
44604
+
44605
+ def to_hash
44606
+ {
44607
+ :organization => organization,
44608
+ :key => key
44609
+ }
44610
+ end
44611
+
44612
+ end
44613
+
44614
+ class PaymentProcessorIdentifier
44615
+
44616
+ attr_reader :id, :label
44617
+
44618
+ def initialize(incoming={})
44619
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44620
+ HttpClient::Preconditions.require_keys(opts, [:id, :label], 'PaymentProcessorIdentifier')
44621
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
44622
+ @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
44623
+ end
44624
+
44625
+ def to_json
44626
+ JSON.dump(to_hash)
44627
+ end
44628
+
44629
+ def copy(incoming={})
44630
+ PaymentProcessorIdentifier.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44631
+ end
44632
+
44633
+ def to_hash
44634
+ {
44635
+ :id => id,
44636
+ :label => label
44637
+ }
44638
+ end
44639
+
44640
+ end
44641
+
44642
+ class PaymentProcessorReference < ExpandablePaymentProcessor
44643
+
44644
+ attr_reader :processor
44645
+
44646
+ def initialize(incoming={})
44647
+ super(:discriminator => ExpandablePaymentProcessor::Types::PAYMENT_PROCESSOR_REFERENCE)
44648
+ opts = HttpClient::Helper.symbolize_keys(incoming)
44649
+ HttpClient::Preconditions.require_keys(opts, [:processor], 'PaymentProcessorReference')
44650
+ @processor = HttpClient::Preconditions.assert_class('processor', opts.delete(:processor), String)
44651
+ end
44652
+
44653
+ def to_json
44654
+ JSON.dump(to_hash)
44655
+ end
44656
+
44657
+ def copy(incoming={})
44658
+ PaymentProcessorReference.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
44659
+ end
44660
+
44661
+ def subtype_to_hash
44662
+ {
44663
+ :processor => processor
44664
+ }
44665
+ end
44666
+
44667
+ end
44668
+
43647
44669
  class PaymentReference
43648
44670
 
43649
44671
  attr_reader :id
@@ -44361,6 +45383,32 @@ module Io
44361
45383
 
44362
45384
  end
44363
45385
 
45386
+ class PriceBookItemExportOptions
45387
+
45388
+ attr_reader :available_identifiers
45389
+
45390
+ def initialize(incoming={})
45391
+ opts = HttpClient::Helper.symbolize_keys(incoming)
45392
+ HttpClient::Preconditions.require_keys(opts, [:available_identifiers], 'PriceBookItemExportOptions')
45393
+ @available_identifiers = HttpClient::Preconditions.assert_class('available_identifiers', opts.delete(:available_identifiers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ItemIdentifier) ? x : ::Io::Flow::V0::Models::ItemIdentifier.apply(x)) }
45394
+ end
45395
+
45396
+ def to_json
45397
+ JSON.dump(to_hash)
45398
+ end
45399
+
45400
+ def copy(incoming={})
45401
+ PriceBookItemExportOptions.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
45402
+ end
45403
+
45404
+ def to_hash
45405
+ {
45406
+ :available_identifiers => available_identifiers.map { |o| o.value }
45407
+ }
45408
+ end
45409
+
45410
+ end
45411
+
44364
45412
  # Defines the filters that can be applied when requesting a price book item data
44365
45413
  # export
44366
45414
  class PriceBookItemExportType < ExportType
@@ -45126,6 +46174,38 @@ module Io
45126
46174
 
45127
46175
  end
45128
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
+
45129
46209
  class ProcessingEstimate
45130
46210
 
45131
46211
  attr_reader :location, :min_date, :max_date, :source
@@ -46922,6 +48002,75 @@ module Io
46922
48002
 
46923
48003
  end
46924
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
+
46925
48074
  # Represents an online payment that requires the user to redirect to another
46926
48075
  # site before entering their payment information.
46927
48076
  class RedirectAuthorizationDetails < OnlineAuthorizationDetails
@@ -47988,15 +49137,23 @@ module Io
47988
49137
 
47989
49138
  class Return
47990
49139
 
47991
- attr_reader :id, :key, :items, :labels
49140
+ attr_reader :id, :key, :order, :service, :items, :labels, :origin, :destination, :source, :tracking_status, :tracking_status_timestamp, :carrier_tracking_number
47992
49141
 
47993
49142
  def initialize(incoming={})
47994
49143
  opts = HttpClient::Helper.symbolize_keys(incoming)
47995
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :items, :labels], 'Return')
49144
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :service, :items, :origin, :destination, :source], 'Return')
47996
49145
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
47997
49146
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
49147
+ @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnOrderReference) ? x : ::Io::Flow::V0::Models::ReturnOrderReference.new(x)))
49148
+ @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
47998
49149
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReturnLineItem) ? x : ::Io::Flow::V0::Models::ReturnLineItem.new(x)) }
47999
- @labels = HttpClient::Preconditions.assert_class('labels', opts.delete(:labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) }
49150
+ @labels = (x = opts.delete(:labels); x.nil? ? nil : HttpClient::Preconditions.assert_class('labels', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) })
49151
+ @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
49152
+ @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
49153
+ @source = (x = opts.delete(:source); x.is_a?(::Io::Flow::V0::Models::ReturnSource) ? x : ::Io::Flow::V0::Models::ReturnSource.from_json(x))
49154
+ @tracking_status = (x = opts.delete(:tracking_status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnTrackingStatus) ? x : ::Io::Flow::V0::Models::ReturnTrackingStatus.apply(x)))
49155
+ @tracking_status_timestamp = (x = opts.delete(:tracking_status_timestamp); x.nil? ? nil : HttpClient::Preconditions.assert_class('tracking_status_timestamp', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
49156
+ @carrier_tracking_number = (x = opts.delete(:carrier_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number', x, String))
48000
49157
  end
48001
49158
 
48002
49159
  def to_json
@@ -48011,8 +49168,16 @@ module Io
48011
49168
  {
48012
49169
  :id => id,
48013
49170
  :key => key,
49171
+ :order => order.nil? ? nil : order.to_hash,
49172
+ :service => service.to_hash,
48014
49173
  :items => items.map { |o| o.to_hash },
48015
- :labels => labels.map { |o| o.to_hash }
49174
+ :labels => labels.nil? ? nil : labels.map { |o| o.to_hash },
49175
+ :origin => origin.to_hash,
49176
+ :destination => destination.to_hash,
49177
+ :source => source.to_hash,
49178
+ :tracking_status => tracking_status.nil? ? nil : tracking_status.value,
49179
+ :tracking_status_timestamp => tracking_status_timestamp,
49180
+ :carrier_tracking_number => carrier_tracking_number
48016
49181
  }
48017
49182
  end
48018
49183
 
@@ -48049,9 +49214,42 @@ module Io
48049
49214
 
48050
49215
  end
48051
49216
 
49217
+ class ReturnDeletedV2 < Event
49218
+
49219
+ attr_reader :event_id, :timestamp, :organization, :return_
49220
+
49221
+ def initialize(incoming={})
49222
+ super(:discriminator => Event::Types::RETURN_DELETED_V2)
49223
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49224
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :return_], 'ReturnDeletedV2')
49225
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
49226
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
49227
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
49228
+ @return_ = (x = opts.delete(:return); x.is_a?(::Io::Flow::V0::Models::Return) ? x : ::Io::Flow::V0::Models::Return.new(x))
49229
+ end
49230
+
49231
+ def to_json
49232
+ JSON.dump(to_hash)
49233
+ end
49234
+
49235
+ def copy(incoming={})
49236
+ ReturnDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49237
+ end
49238
+
49239
+ def subtype_to_hash
49240
+ {
49241
+ :event_id => event_id,
49242
+ :timestamp => timestamp,
49243
+ :organization => organization,
49244
+ :return => return_.to_hash
49245
+ }
49246
+ end
49247
+
49248
+ end
49249
+
48052
49250
  class ReturnForm
48053
49251
 
48054
- attr_reader :items, :tier_id, :order_number, :service, :destination, :key, :origin, :center_key
49252
+ attr_reader :items, :tier_id, :order_number, :service, :destination, :key, :origin, :center_key, :source, :tracking_status, :tracking_status_timestamp, :carrier_tracking_number
48055
49253
 
48056
49254
  def initialize(incoming={})
48057
49255
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -48064,6 +49262,10 @@ module Io
48064
49262
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
48065
49263
  @origin = (x = opts.delete(:origin); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x)))
48066
49264
  @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
49265
+ @source = (x = opts.delete(:source); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnSource) ? x : ::Io::Flow::V0::Models::ReturnSource.from_json(x)))
49266
+ @tracking_status = (x = opts.delete(:tracking_status); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnTrackingStatus) ? x : ::Io::Flow::V0::Models::ReturnTrackingStatus.apply(x)))
49267
+ @tracking_status_timestamp = (x = opts.delete(:tracking_status_timestamp); x.nil? ? nil : HttpClient::Preconditions.assert_class('tracking_status_timestamp', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
49268
+ @carrier_tracking_number = (x = opts.delete(:carrier_tracking_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number', x, String))
48067
49269
  end
48068
49270
 
48069
49271
  def to_json
@@ -48083,7 +49285,11 @@ module Io
48083
49285
  :destination => destination.nil? ? nil : destination.to_hash,
48084
49286
  :key => key,
48085
49287
  :origin => origin.nil? ? nil : origin.to_hash,
48086
- :center_key => center_key
49288
+ :center_key => center_key,
49289
+ :source => source.nil? ? nil : source.to_hash,
49290
+ :tracking_status => tracking_status.nil? ? nil : tracking_status.value,
49291
+ :tracking_status_timestamp => tracking_status_timestamp,
49292
+ :carrier_tracking_number => carrier_tracking_number
48087
49293
  }
48088
49294
  end
48089
49295
 
@@ -48117,7 +49323,7 @@ module Io
48117
49323
 
48118
49324
  class ReturnLineItem
48119
49325
 
48120
- attr_reader :item_number, :order_number, :quantity, :reason, :notes
49326
+ attr_reader :item_number, :order_number, :quantity, :reason, :notes, :attributes
48121
49327
 
48122
49328
  def initialize(incoming={})
48123
49329
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -48127,6 +49333,7 @@ module Io
48127
49333
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
48128
49334
  @reason = (x = opts.delete(:reason); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReturnReason) ? x : ::Io::Flow::V0::Models::ReturnReason.new(x)))
48129
49335
  @notes = (x = opts.delete(:notes); x.nil? ? nil : HttpClient::Preconditions.assert_class('notes', x, String))
49336
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
48130
49337
  end
48131
49338
 
48132
49339
  def to_json
@@ -48143,7 +49350,8 @@ module Io
48143
49350
  :order_number => order_number,
48144
49351
  :quantity => quantity,
48145
49352
  :reason => reason.nil? ? nil : reason.to_hash,
48146
- :notes => notes
49353
+ :notes => notes,
49354
+ :attributes => attributes.nil? ? nil : attributes
48147
49355
  }
48148
49356
  end
48149
49357
 
@@ -48202,14 +49410,173 @@ module Io
48202
49410
 
48203
49411
  end
48204
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
+
48205
49573
  class ReturnReason
48206
49574
 
48207
- attr_reader :key, :name
49575
+ attr_reader :name
48208
49576
 
48209
49577
  def initialize(incoming={})
48210
49578
  opts = HttpClient::Helper.symbolize_keys(incoming)
48211
- HttpClient::Preconditions.require_keys(opts, [:key, :name], 'ReturnReason')
48212
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
49579
+ HttpClient::Preconditions.require_keys(opts, [:name], 'ReturnReason')
48213
49580
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
48214
49581
  end
48215
49582
 
@@ -48223,7 +49590,6 @@ module Io
48223
49590
 
48224
49591
  def to_hash
48225
49592
  {
48226
- :key => key,
48227
49593
  :name => name
48228
49594
  }
48229
49595
  end
@@ -48232,11 +49598,10 @@ module Io
48232
49598
 
48233
49599
  class ReturnReasonForm
48234
49600
 
48235
- attr_reader :key, :name
49601
+ attr_reader :name
48236
49602
 
48237
49603
  def initialize(incoming={})
48238
49604
  opts = HttpClient::Helper.symbolize_keys(incoming)
48239
- @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
48240
49605
  @name = (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String))
48241
49606
  end
48242
49607
 
@@ -48250,7 +49615,6 @@ module Io
48250
49615
 
48251
49616
  def to_hash
48252
49617
  {
48253
- :key => key,
48254
49618
  :name => name
48255
49619
  }
48256
49620
  end
@@ -48282,6 +49646,59 @@ module Io
48282
49646
 
48283
49647
  end
48284
49648
 
49649
+ class ReturnSourceExternalVendor < ReturnSource
49650
+
49651
+ attr_reader :key
49652
+
49653
+ def initialize(incoming={})
49654
+ super(:discriminator => ReturnSource::Types::RETURN_SOURCE_EXTERNAL_VENDOR)
49655
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49656
+ HttpClient::Preconditions.require_keys(opts, [:key], 'ReturnSourceExternalVendor')
49657
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
49658
+ end
49659
+
49660
+ def to_json
49661
+ JSON.dump(to_hash)
49662
+ end
49663
+
49664
+ def copy(incoming={})
49665
+ ReturnSourceExternalVendor.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49666
+ end
49667
+
49668
+ def subtype_to_hash
49669
+ {
49670
+ :key => key
49671
+ }
49672
+ end
49673
+
49674
+ end
49675
+
49676
+ class ReturnSourceFlow < ReturnSource
49677
+
49678
+ attr_reader :attributes
49679
+
49680
+ def initialize(incoming={})
49681
+ super(:discriminator => ReturnSource::Types::RETURN_SOURCE_FLOW)
49682
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49683
+ @attributes = (x = opts.delete(:attributes); x.nil? ? nil : HttpClient::Preconditions.assert_class('attributes', x, Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h })
49684
+ end
49685
+
49686
+ def to_json
49687
+ JSON.dump(to_hash)
49688
+ end
49689
+
49690
+ def copy(incoming={})
49691
+ ReturnSourceFlow.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49692
+ end
49693
+
49694
+ def subtype_to_hash
49695
+ {
49696
+ :attributes => attributes.nil? ? nil : attributes
49697
+ }
49698
+ end
49699
+
49700
+ end
49701
+
48285
49702
  class ReturnUpserted < Event
48286
49703
 
48287
49704
  attr_reader :event_id, :timestamp, :id, :organization, :destination, :items, :key, :labels, :service, :origin
@@ -48289,7 +49706,7 @@ module Io
48289
49706
  def initialize(incoming={})
48290
49707
  super(:discriminator => Event::Types::RETURN_UPSERTED)
48291
49708
  opts = HttpClient::Helper.symbolize_keys(incoming)
48292
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :destination, :items, :key, :labels, :service, :origin], 'ReturnUpserted')
49709
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :destination, :items, :key, :service, :origin], 'ReturnUpserted')
48293
49710
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
48294
49711
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
48295
49712
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
@@ -48297,7 +49714,7 @@ module Io
48297
49714
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48298
49715
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReturnLineItem) ? x : ::Io::Flow::V0::Models::ReturnLineItem.new(x)) }
48299
49716
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
48300
- @labels = HttpClient::Preconditions.assert_class('labels', opts.delete(:labels), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) }
49717
+ @labels = (x = opts.delete(:labels); x.nil? ? nil : HttpClient::Preconditions.assert_class('labels', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLabel) ? x : ::Io::Flow::V0::Models::ShippingLabel.new(x)) })
48301
49718
  @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
48302
49719
  @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
48303
49720
  end
@@ -48319,7 +49736,7 @@ module Io
48319
49736
  :destination => destination.to_hash,
48320
49737
  :items => items.map { |o| o.to_hash },
48321
49738
  :key => key,
48322
- :labels => labels.map { |o| o.to_hash },
49739
+ :labels => labels.nil? ? nil : labels.map { |o| o.to_hash },
48323
49740
  :service => service,
48324
49741
  :origin => origin.to_hash
48325
49742
  }
@@ -48327,6 +49744,39 @@ module Io
48327
49744
 
48328
49745
  end
48329
49746
 
49747
+ class ReturnUpsertedV2 < Event
49748
+
49749
+ attr_reader :event_id, :timestamp, :organization, :return_
49750
+
49751
+ def initialize(incoming={})
49752
+ super(:discriminator => Event::Types::RETURN_UPSERTED_V2)
49753
+ opts = HttpClient::Helper.symbolize_keys(incoming)
49754
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :return_], 'ReturnUpsertedV2')
49755
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
49756
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
49757
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
49758
+ @return_ = (x = opts.delete(:return); x.is_a?(::Io::Flow::V0::Models::Return) ? x : ::Io::Flow::V0::Models::Return.new(x))
49759
+ end
49760
+
49761
+ def to_json
49762
+ JSON.dump(to_hash)
49763
+ end
49764
+
49765
+ def copy(incoming={})
49766
+ ReturnUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
49767
+ end
49768
+
49769
+ def subtype_to_hash
49770
+ {
49771
+ :event_id => event_id,
49772
+ :timestamp => timestamp,
49773
+ :organization => organization,
49774
+ :return => return_.to_hash
49775
+ }
49776
+ end
49777
+
49778
+ end
49779
+
48330
49780
  class ReturnVersion
48331
49781
 
48332
49782
  attr_reader :id, :timestamp, :type, :return_
@@ -48601,6 +50051,63 @@ module Io
48601
50051
 
48602
50052
  end
48603
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
+
48604
50111
  class Rounding
48605
50112
 
48606
50113
  attr_reader :type, :method, :value
@@ -49908,7 +51415,7 @@ module Io
49908
51415
  # shipper to transport a package from a given origin to destination
49909
51416
  class ShippingLabel
49910
51417
 
49911
- attr_reader :id, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :return_, :order, :package, :order_identifier, :fulfillment_key, :shipment_recipient
51418
+ attr_reader :id, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :return_, :order, :package, :order_identifier, :fulfillment_key, :shipment_recipient, :created_at, :updated_at
49912
51419
 
49913
51420
  def initialize(incoming={})
49914
51421
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -49932,6 +51439,8 @@ module Io
49932
51439
  @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
49933
51440
  @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
49934
51441
  @shipment_recipient = (x = opts.delete(:shipment_recipient); x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(x))
51442
+ @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
51443
+ @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
49935
51444
  end
49936
51445
 
49937
51446
  def to_json
@@ -49962,7 +51471,9 @@ module Io
49962
51471
  :package => package.nil? ? nil : package.to_hash,
49963
51472
  :order_identifier => order_identifier,
49964
51473
  :fulfillment_key => fulfillment_key,
49965
- :shipment_recipient => shipment_recipient.value
51474
+ :shipment_recipient => shipment_recipient.value,
51475
+ :created_at => created_at,
51476
+ :updated_at => updated_at
49966
51477
  }
49967
51478
  end
49968
51479
 
@@ -51390,12 +52901,13 @@ module Io
51390
52901
  # Model to represent romanized order detail metafield
51391
52902
  class ShopifyOrderRomanizationMetafield
51392
52903
 
51393
- attr_reader :destination
52904
+ attr_reader :destination, :billing
51394
52905
 
51395
52906
  def initialize(incoming={})
51396
52907
  opts = HttpClient::Helper.symbolize_keys(incoming)
51397
52908
  HttpClient::Preconditions.require_keys(opts, [:destination], 'ShopifyOrderRomanizationMetafield')
51398
52909
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x))
52910
+ @billing = (x = opts.delete(:billing); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::BillingAddress) ? x : ::Io::Flow::V0::Models::BillingAddress.new(x)))
51399
52911
  end
51400
52912
 
51401
52913
  def to_json
@@ -51408,7 +52920,8 @@ module Io
51408
52920
 
51409
52921
  def to_hash
51410
52922
  {
51411
- :destination => destination.to_hash
52923
+ :destination => destination.to_hash,
52924
+ :billing => billing.nil? ? nil : billing.to_hash
51412
52925
  }
51413
52926
  end
51414
52927
 
@@ -51909,8 +53422,8 @@ module Io
51909
53422
 
51910
53423
  end
51911
53424
 
51912
- # A configuration with custom query to select a subset of master catalog items
51913
- # for a localized experience
53425
+ # A configuration with custom query to select a subset of the catalog items for
53426
+ # a localized experience
51914
53427
  class Subcatalog < ExpandableSubcatalog
51915
53428
 
51916
53429
  attr_reader :id, :catalog, :settings
@@ -51944,16 +53457,15 @@ module Io
51944
53457
 
51945
53458
  class SubcatalogDeleted < Event
51946
53459
 
51947
- attr_reader :event_id, :timestamp, :organization, :catalog, :subcatalog_id
53460
+ attr_reader :event_id, :timestamp, :organization, :subcatalog_id
51948
53461
 
51949
53462
  def initialize(incoming={})
51950
53463
  super(:discriminator => Event::Types::SUBCATALOG_DELETED)
51951
53464
  opts = HttpClient::Helper.symbolize_keys(incoming)
51952
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog, :subcatalog_id], 'SubcatalogDeleted')
53465
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :subcatalog_id], 'SubcatalogDeleted')
51953
53466
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
51954
53467
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
51955
53468
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
51956
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
51957
53469
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
51958
53470
  end
51959
53471
 
@@ -51970,7 +53482,6 @@ module Io
51970
53482
  :event_id => event_id,
51971
53483
  :timestamp => timestamp,
51972
53484
  :organization => organization,
51973
- :catalog => catalog,
51974
53485
  :subcatalog_id => subcatalog_id
51975
53486
  }
51976
53487
  end
@@ -52035,17 +53546,16 @@ module Io
52035
53546
 
52036
53547
  class SubcatalogItemDeleted < Event
52037
53548
 
52038
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id
53549
+ attr_reader :event_id, :timestamp, :organization, :number, :subcatalog_id
52039
53550
 
52040
53551
  def initialize(incoming={})
52041
53552
  super(:discriminator => Event::Types::SUBCATALOG_ITEM_DELETED)
52042
53553
  opts = HttpClient::Helper.symbolize_keys(incoming)
52043
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id], 'SubcatalogItemDeleted')
53554
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :subcatalog_id], 'SubcatalogItemDeleted')
52044
53555
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
52045
53556
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
52046
53557
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
52047
53558
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
52048
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
52049
53559
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
52050
53560
  end
52051
53561
 
@@ -52063,7 +53573,6 @@ module Io
52063
53573
  :timestamp => timestamp,
52064
53574
  :organization => organization,
52065
53575
  :number => number,
52066
- :catalog => catalog,
52067
53576
  :subcatalog_id => subcatalog_id
52068
53577
  }
52069
53578
  end
@@ -52072,17 +53581,16 @@ module Io
52072
53581
 
52073
53582
  class SubcatalogItemUpserted < Event
52074
53583
 
52075
- attr_reader :event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id, :status
53584
+ attr_reader :event_id, :timestamp, :organization, :number, :subcatalog_id, :status
52076
53585
 
52077
53586
  def initialize(incoming={})
52078
53587
  super(:discriminator => Event::Types::SUBCATALOG_ITEM_UPSERTED)
52079
53588
  opts = HttpClient::Helper.symbolize_keys(incoming)
52080
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :catalog, :subcatalog_id, :status], 'SubcatalogItemUpserted')
53589
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :number, :subcatalog_id, :status], 'SubcatalogItemUpserted')
52081
53590
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
52082
53591
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
52083
53592
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
52084
53593
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
52085
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
52086
53594
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
52087
53595
  @status = HttpClient::Preconditions.assert_class('status', opts.delete(:status), String)
52088
53596
  end
@@ -52101,7 +53609,6 @@ module Io
52101
53609
  :timestamp => timestamp,
52102
53610
  :organization => organization,
52103
53611
  :number => number,
52104
- :catalog => catalog,
52105
53612
  :subcatalog_id => subcatalog_id,
52106
53613
  :status => status
52107
53614
  }
@@ -52256,16 +53763,15 @@ module Io
52256
53763
 
52257
53764
  class SubcatalogUpserted < Event
52258
53765
 
52259
- attr_reader :event_id, :timestamp, :organization, :catalog, :subcatalog_id
53766
+ attr_reader :event_id, :timestamp, :organization, :subcatalog_id
52260
53767
 
52261
53768
  def initialize(incoming={})
52262
53769
  super(:discriminator => Event::Types::SUBCATALOG_UPSERTED)
52263
53770
  opts = HttpClient::Helper.symbolize_keys(incoming)
52264
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :catalog, :subcatalog_id], 'SubcatalogUpserted')
53771
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :subcatalog_id], 'SubcatalogUpserted')
52265
53772
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
52266
53773
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
52267
53774
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
52268
- @catalog = HttpClient::Preconditions.assert_class('catalog', opts.delete(:catalog), String)
52269
53775
  @subcatalog_id = HttpClient::Preconditions.assert_class('subcatalog_id', opts.delete(:subcatalog_id), String)
52270
53776
  end
52271
53777
 
@@ -52282,7 +53788,6 @@ module Io
52282
53788
  :event_id => event_id,
52283
53789
  :timestamp => timestamp,
52284
53790
  :organization => organization,
52285
- :catalog => catalog,
52286
53791
  :subcatalog_id => subcatalog_id
52287
53792
  }
52288
53793
  end
@@ -52924,6 +54429,38 @@ module Io
52924
54429
 
52925
54430
  end
52926
54431
 
54432
+ class TaxReport
54433
+
54434
+ attr_reader :schedule, :timezone, :types, :email_recipients
54435
+
54436
+ def initialize(incoming={})
54437
+ opts = HttpClient::Helper.symbolize_keys(incoming)
54438
+ HttpClient::Preconditions.require_keys(opts, [:schedule, :timezone], 'TaxReport')
54439
+ @schedule = (x = opts.delete(:schedule); x.is_a?(::Io::Flow::V0::Models::RepeatSchedule) ? x : ::Io::Flow::V0::Models::RepeatSchedule.from_json(x))
54440
+ @timezone = HttpClient::Preconditions.assert_class('timezone', opts.delete(:timezone), String)
54441
+ @types = HttpClient::Preconditions.assert_class('types', (x = opts.delete(:types); x.nil? ? ["consumer","b2b"] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TaxReportType) ? x : ::Io::Flow::V0::Models::TaxReportType.apply(x)) }
54442
+ @email_recipients = (x = opts.delete(:email_recipients); x.nil? ? nil : HttpClient::Preconditions.assert_class('email_recipients', x, Array).map { |v| HttpClient::Preconditions.assert_class('email_recipients', v, String) })
54443
+ end
54444
+
54445
+ def to_json
54446
+ JSON.dump(to_hash)
54447
+ end
54448
+
54449
+ def copy(incoming={})
54450
+ TaxReport.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
54451
+ end
54452
+
54453
+ def to_hash
54454
+ {
54455
+ :schedule => schedule.to_hash,
54456
+ :timezone => timezone,
54457
+ :types => types.map { |o| o.value },
54458
+ :email_recipients => email_recipients.nil? ? nil : email_recipients
54459
+ }
54460
+ end
54461
+
54462
+ end
54463
+
52927
54464
  # Represents the results from 3D Secure, if applied to an authorization
52928
54465
  class ThreeDSecure
52929
54466
 
@@ -53015,33 +54552,6 @@ module Io
53015
54552
 
53016
54553
  end
53017
54554
 
53018
- # Instructions to the card issuer to render challenges to the user
53019
- class ThreedsTwoBrowserActionConfiguration < ActionConfiguration
53020
-
53021
- attr_reader :viewport
53022
-
53023
- def initialize(incoming={})
53024
- super(:discriminator => ActionConfiguration::Types::THREEDS_TWO_BROWSER_ACTION_CONFIGURATION)
53025
- opts = HttpClient::Helper.symbolize_keys(incoming)
53026
- @viewport = (x = (x = opts.delete(:viewport); x.nil? ? "xxx_small" : x); x.is_a?(::Io::Flow::V0::Models::ThreedsTwoChallengeViewport) ? x : ::Io::Flow::V0::Models::ThreedsTwoChallengeViewport.apply(x))
53027
- end
53028
-
53029
- def to_json
53030
- JSON.dump(to_hash)
53031
- end
53032
-
53033
- def copy(incoming={})
53034
- ThreedsTwoBrowserActionConfiguration.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
53035
- end
53036
-
53037
- def subtype_to_hash
53038
- {
53039
- :viewport => viewport.value
53040
- }
53041
- end
53042
-
53043
- end
53044
-
53045
54555
  # Data that must be passed to the 3DS Client to help the issuer ACS render a
53046
54556
  # challenge for the user.
53047
54557
  class ThreedsTwoChallengeRequest < ThreedsChallengeAction