flowcommerce 0.2.89 → 0.2.97

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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