flowcommerce 0.2.63 → 0.2.64

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 18702d01a7a78baae688b340f68363b824cf7831
4
- data.tar.gz: 8044fab9fb8c4c1531354a2899b75e20a2615a72
3
+ metadata.gz: ace4f9d944adf91e60b2e2c9c4c9b61e1d511c19
4
+ data.tar.gz: a06c7e68823b28ca5513761f3f7a89e441b641cf
5
5
  SHA512:
6
- metadata.gz: 8ec707d551cde0619154c03f84cf751ee97eef6d89c4048c32ad98b2b5e98a8adc89f7d5f2116a2710cd30162da651bf3073b8b3cef4ec6906a6729311dc0402
7
- data.tar.gz: dfca66dd0db327c1fc49684610babdc0c0e6fa1a286b676b25d02bf65597b7484a3b5edccdbbb6ae3c172f957cb958f22aa20515f49e777670828996ade59f72
6
+ metadata.gz: e8b22f46e6d80e4a1f548281623c0d14edadc0037997813e214f1b97eee48a560bd7b5b38b0e9069c2b638e5efaf0048166cf9cc104c796d7be5a8d2e5a904d5
7
+ data.tar.gz: 3b29554264674b3ec100fe781a42a7905ac008f4874a48ccdbf9583f3516d6bdc9c5b6e07bb0db16aa88ec20f097e0fbcff0a6deb5b78b5093c7b6f98fc8da64
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
- # Service version: 0.5.41
3
- # apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.41/ruby_client
2
+ # Service version: 0.5.59
3
+ # apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.62/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,8 +25,8 @@ module Io
25
25
 
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
- USER_AGENT = 'apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.41/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.5.41' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apibuilder 0.14.3 app.apibuilder.io/flow/api/0.5.62/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.5.59' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -216,6 +216,10 @@ module Io
216
216
  @cards ||= ::Io::Flow::V0::Clients::Cards.new(self)
217
217
  end
218
218
 
219
+ def gateway_authentication_data
220
+ @gateway_authentication_data ||= ::Io::Flow::V0::Clients::GatewayAuthenticationData.new(self)
221
+ end
222
+
219
223
  def payments
220
224
  @payments ||= ::Io::Flow::V0::Clients::Payments.new(self)
221
225
  end
@@ -236,6 +240,14 @@ module Io
236
240
  @virtual_cards ||= ::Io::Flow::V0::Clients::VirtualCards.new(self)
237
241
  end
238
242
 
243
+ def virtual_card_captures
244
+ @virtual_card_captures ||= ::Io::Flow::V0::Clients::VirtualCardCaptures.new(self)
245
+ end
246
+
247
+ def virtual_card_refunds
248
+ @virtual_card_refunds ||= ::Io::Flow::V0::Clients::VirtualCardRefunds.new(self)
249
+ end
250
+
239
251
  def centers
240
252
  @centers ||= ::Io::Flow::V0::Clients::Centers.new(self)
241
253
  end
@@ -272,6 +284,14 @@ module Io
272
284
  @serials ||= ::Io::Flow::V0::Clients::Serials.new(self)
273
285
  end
274
286
 
287
+ def shipping_configurations
288
+ @shipping_configurations ||= ::Io::Flow::V0::Clients::ShippingConfigurations.new(self)
289
+ end
290
+
291
+ def shipping_configuration_copies
292
+ @shipping_configuration_copies ||= ::Io::Flow::V0::Clients::ShippingConfigurationCopies.new(self)
293
+ end
294
+
275
295
  def shipping_labels
276
296
  @shipping_labels ||= ::Io::Flow::V0::Clients::ShippingLabels.new(self)
277
297
  end
@@ -352,6 +372,14 @@ module Io
352
372
  @regions ||= ::Io::Flow::V0::Clients::Regions.new(self)
353
373
  end
354
374
 
375
+ def consumer_invoices
376
+ @consumer_invoices ||= ::Io::Flow::V0::Clients::ConsumerInvoices.new(self)
377
+ end
378
+
379
+ def consumer_invoice_urls
380
+ @consumer_invoice_urls ||= ::Io::Flow::V0::Clients::ConsumerInvoiceUrls.new(self)
381
+ end
382
+
355
383
  def documents
356
384
  @documents ||= ::Io::Flow::V0::Clients::Documents.new(self)
357
385
  end
@@ -880,6 +908,13 @@ module Io
880
908
  ::Io::Flow::V0::Models::ExperienceCurrencyFormat.new(r)
881
909
  end
882
910
 
911
+ def get_logistics_and_summary_by_experience_key(organization, experience_key)
912
+ HttpClient::Preconditions.assert_class('organization', organization, String)
913
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
914
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/logistics/summary").get
915
+ ::Io::Flow::V0::Models::ExperienceLogisticsSummary.new(r)
916
+ end
917
+
883
918
  def get_margins_by_experience_key(organization, experience_key, incoming={})
884
919
  HttpClient::Preconditions.assert_class('organization', organization, String)
885
920
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
@@ -3100,6 +3135,22 @@ module Io
3100
3135
 
3101
3136
  end
3102
3137
 
3138
+ class GatewayAuthenticationData
3139
+
3140
+ def initialize(client)
3141
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3142
+ end
3143
+
3144
+ # Specify authentication data for payment processor
3145
+ def post(organization, gateway_authentication_data_form)
3146
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3147
+ (x = gateway_authentication_data_form; x.is_a?(::Io::Flow::V0::Models::GatewayAuthenticationDataForm) ? x : ::Io::Flow::V0::Models::GatewayAuthenticationDataForm.from_json(x))
3148
+ r = @client.request("/#{CGI.escape(organization)}/gateways/authentication").with_json(gateway_authentication_data_form.to_json).post
3149
+ ::Io::Flow::V0::Models::GatewayAuthenticationData.from_json(r)
3150
+ end
3151
+
3152
+ end
3153
+
3103
3154
  class Payments
3104
3155
 
3105
3156
  def initialize(client)
@@ -3324,6 +3375,28 @@ module Io
3324
3375
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3325
3376
  end
3326
3377
 
3378
+ def get(organization, incoming={})
3379
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3380
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3381
+ query = {
3382
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3383
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String)),
3384
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3385
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3386
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3387
+ }.delete_if { |k, v| v.nil? }
3388
+ r = @client.request("/#{CGI.escape(organization)}/virtual/cards").with_query(query).get
3389
+ r.map { |x| ::Io::Flow::V0::Models::VirtualCard.new(x) }
3390
+ end
3391
+
3392
+ # Retrieves a virtual card.
3393
+ def get_by_key(organization, key)
3394
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3395
+ HttpClient::Preconditions.assert_class('key', key, String)
3396
+ r = @client.request("/#{CGI.escape(organization)}/virtual/cards/#{CGI.escape(key)}").get
3397
+ ::Io::Flow::V0::Models::VirtualCard.new(r)
3398
+ end
3399
+
3327
3400
  # Create a new virtual card.
3328
3401
  def put_authorizations_by_key_and_authorization_key(organization, key, authorization_key, virtual_card_form)
3329
3402
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -3336,6 +3409,64 @@ module Io
3336
3409
 
3337
3410
  end
3338
3411
 
3412
+ class VirtualCardCaptures
3413
+
3414
+ def initialize(client)
3415
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3416
+ end
3417
+
3418
+ def get(organization, incoming={})
3419
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3420
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3421
+ query = {
3422
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3423
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3424
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3425
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3426
+ }.delete_if { |k, v| v.nil? }
3427
+ r = @client.request("/#{CGI.escape(organization)}/virtual/card/captures").with_query(query).get
3428
+ r.map { |x| ::Io::Flow::V0::Models::VirtualCardCapture.new(x) }
3429
+ end
3430
+
3431
+ # Retrieve captures for a specific virtual card.
3432
+ def get_by_virtual_card_id(organization, virtual_card_id)
3433
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3434
+ HttpClient::Preconditions.assert_class('virtual_card_id', virtual_card_id, String)
3435
+ r = @client.request("/#{CGI.escape(organization)}/virtual/card/captures/#{CGI.escape(virtual_card_id)}").get
3436
+ r.map { |x| ::Io::Flow::V0::Models::VirtualCardCapture.new(x) }
3437
+ end
3438
+
3439
+ end
3440
+
3441
+ class VirtualCardRefunds
3442
+
3443
+ def initialize(client)
3444
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3445
+ end
3446
+
3447
+ def get(organization, incoming={})
3448
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3449
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3450
+ query = {
3451
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3452
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3453
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3454
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
3455
+ }.delete_if { |k, v| v.nil? }
3456
+ r = @client.request("/#{CGI.escape(organization)}/virtual/card/refunds").with_query(query).get
3457
+ r.map { |x| ::Io::Flow::V0::Models::VirtualCardRefund.new(x) }
3458
+ end
3459
+
3460
+ # Retrieve refunds for a specific virtual card.
3461
+ def get_by_virtual_card_id(organization, virtual_card_id)
3462
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3463
+ HttpClient::Preconditions.assert_class('virtual_card_id', virtual_card_id, String)
3464
+ r = @client.request("/#{CGI.escape(organization)}/virtual/card/refunds/#{CGI.escape(virtual_card_id)}").get
3465
+ r.map { |x| ::Io::Flow::V0::Models::VirtualCardRefund.new(x) }
3466
+ end
3467
+
3468
+ end
3469
+
3339
3470
  class Centers
3340
3471
 
3341
3472
  def initialize(client)
@@ -3363,6 +3494,13 @@ module Io
3363
3494
  ::Io::Flow::V0::Models::Center.new(r)
3364
3495
  end
3365
3496
 
3497
+ def post_query(organization, center_query)
3498
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3499
+ (x = center_query; x.is_a?(::Io::Flow::V0::Models::CenterQuery) ? x : ::Io::Flow::V0::Models::CenterQuery.new(x))
3500
+ r = @client.request("/#{CGI.escape(organization)}/centers/query").with_json(center_query.to_json).post
3501
+ r.map { |x| ::Io::Flow::V0::Models::Center.new(x) }
3502
+ end
3503
+
3366
3504
  def get_versions(organization, incoming={})
3367
3505
  HttpClient::Preconditions.assert_class('organization', organization, String)
3368
3506
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -3806,6 +3944,151 @@ module Io
3806
3944
 
3807
3945
  end
3808
3946
 
3947
+ class ShippingConfigurations
3948
+
3949
+ def initialize(client)
3950
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3951
+ end
3952
+
3953
+ def get(organization, incoming={})
3954
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3955
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3956
+ query = {
3957
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3958
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
3959
+ :name => (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String)),
3960
+ :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
3961
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3962
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3963
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "name" : x), String)
3964
+ }.delete_if { |k, v| v.nil? }
3965
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration").with_query(query).get
3966
+ r.map { |x| ::Io::Flow::V0::Models::ShippingConfiguration.new(x) }
3967
+ end
3968
+
3969
+ def post(organization, shipping_configuration_form)
3970
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3971
+ (x = shipping_configuration_form; x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationForm) ? x : ::Io::Flow::V0::Models::ShippingConfigurationForm.new(x))
3972
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration").with_json(shipping_configuration_form.to_json).post
3973
+ ::Io::Flow::V0::Models::ShippingConfiguration.new(r)
3974
+ end
3975
+
3976
+ def get_versions(organization, incoming={})
3977
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3978
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3979
+ query = {
3980
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
3981
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
3982
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
3983
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
3984
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
3985
+ }.delete_if { |k, v| v.nil? }
3986
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/versions").with_query(query).get
3987
+ r.map { |x| ::Io::Flow::V0::Models::ShippingConfigurationVersion.new(x) }
3988
+ end
3989
+
3990
+ def get_by_key(organization, key)
3991
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3992
+ HttpClient::Preconditions.assert_class('key', key, String)
3993
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}").get
3994
+ ::Io::Flow::V0::Models::ShippingConfiguration.new(r)
3995
+ end
3996
+
3997
+ def put_by_key(organization, key, shipping_configuration_form)
3998
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3999
+ HttpClient::Preconditions.assert_class('key', key, String)
4000
+ (x = shipping_configuration_form; x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationForm) ? x : ::Io::Flow::V0::Models::ShippingConfigurationForm.new(x))
4001
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}").with_json(shipping_configuration_form.to_json).put
4002
+ ::Io::Flow::V0::Models::ShippingConfiguration.new(r)
4003
+ end
4004
+
4005
+ def delete_by_key(organization, key)
4006
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4007
+ HttpClient::Preconditions.assert_class('key', key, String)
4008
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}").delete
4009
+ nil
4010
+ end
4011
+
4012
+ def get_lanes_by_key(organization, key, incoming={})
4013
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4014
+ HttpClient::Preconditions.assert_class('key', key, String)
4015
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4016
+ query = {
4017
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
4018
+ :region => (x = opts.delete(:region); x.nil? ? nil : HttpClient::Preconditions.assert_class('region', x, String)),
4019
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4020
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4021
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
4022
+ }.delete_if { |k, v| v.nil? }
4023
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes").with_query(query).get
4024
+ r.map { |x| ::Io::Flow::V0::Models::ShippingLane.new(x) }
4025
+ end
4026
+
4027
+ def post_lanes_by_key(organization, key, shipping_lane_form)
4028
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4029
+ HttpClient::Preconditions.assert_class('key', key, String)
4030
+ (x = shipping_lane_form; x.is_a?(::Io::Flow::V0::Models::ShippingLaneForm) ? x : ::Io::Flow::V0::Models::ShippingLaneForm.new(x))
4031
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes").with_json(shipping_lane_form.to_json).post
4032
+ ::Io::Flow::V0::Models::ShippingLane.new(r)
4033
+ end
4034
+
4035
+ def get_lanes_and_versions_by_key(organization, key, incoming={})
4036
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4037
+ HttpClient::Preconditions.assert_class('key', key, String)
4038
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4039
+ query = {
4040
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
4041
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4042
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4043
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
4044
+ }.delete_if { |k, v| v.nil? }
4045
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes/versions").with_query(query).get
4046
+ r.map { |x| ::Io::Flow::V0::Models::ShippingLaneVersion.new(x) }
4047
+ end
4048
+
4049
+ def get_lanes_by_key_and_id(organization, key, id)
4050
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4051
+ HttpClient::Preconditions.assert_class('key', key, String)
4052
+ HttpClient::Preconditions.assert_class('id', id, String)
4053
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes/#{CGI.escape(id)}").get
4054
+ ::Io::Flow::V0::Models::ShippingLane.new(r)
4055
+ end
4056
+
4057
+ def put_lanes_by_key_and_id(organization, key, id, shipping_lane_form)
4058
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4059
+ HttpClient::Preconditions.assert_class('key', key, String)
4060
+ HttpClient::Preconditions.assert_class('id', id, String)
4061
+ (x = shipping_lane_form; x.is_a?(::Io::Flow::V0::Models::ShippingLaneForm) ? x : ::Io::Flow::V0::Models::ShippingLaneForm.new(x))
4062
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes/#{CGI.escape(id)}").with_json(shipping_lane_form.to_json).put
4063
+ ::Io::Flow::V0::Models::ShippingLane.new(r)
4064
+ end
4065
+
4066
+ def delete_lanes_by_key_and_id(organization, key, id)
4067
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4068
+ HttpClient::Preconditions.assert_class('key', key, String)
4069
+ HttpClient::Preconditions.assert_class('id', id, String)
4070
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/#{CGI.escape(key)}/lanes/#{CGI.escape(id)}").delete
4071
+ nil
4072
+ end
4073
+
4074
+ end
4075
+
4076
+ class ShippingConfigurationCopies
4077
+
4078
+ def initialize(client)
4079
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
4080
+ end
4081
+
4082
+ def post_by_key(organization, key, shipping_configuration_copy_form)
4083
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4084
+ HttpClient::Preconditions.assert_class('key', key, String)
4085
+ (x = shipping_configuration_copy_form; x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationCopyForm) ? x : ::Io::Flow::V0::Models::ShippingConfigurationCopyForm.new(x))
4086
+ r = @client.request("/#{CGI.escape(organization)}/shipping/configuration/copies/#{CGI.escape(key)}").with_json(shipping_configuration_copy_form.to_json).post
4087
+ ::Io::Flow::V0::Models::ShippingConfigurationCopy.new(r)
4088
+ end
4089
+
4090
+ end
4091
+
3809
4092
  class ShippingLabels
3810
4093
 
3811
4094
  def initialize(client)
@@ -4598,6 +4881,80 @@ module Io
4598
4881
 
4599
4882
  end
4600
4883
 
4884
+ class ConsumerInvoices
4885
+
4886
+ def initialize(client)
4887
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
4888
+ end
4889
+
4890
+ def get(organization, incoming={})
4891
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4892
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4893
+ query = {
4894
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
4895
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String)),
4896
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
4897
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
4898
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
4899
+ }.delete_if { |k, v| v.nil? }
4900
+ r = @client.request("/#{CGI.escape(organization)}/consumer/invoices").with_query(query).get
4901
+ r.map { |x| ::Io::Flow::V0::Models::ConsumerInvoice.new(x) }
4902
+ end
4903
+
4904
+ def post(organization, consumer_invoice_form, incoming={})
4905
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4906
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4907
+ query = {
4908
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
4909
+ }.delete_if { |k, v| v.nil? }
4910
+ (x = consumer_invoice_form; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceForm) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceForm.new(x))
4911
+ r = @client.request("/#{CGI.escape(organization)}/consumer/invoices").with_query(query).with_json(consumer_invoice_form.to_json).post
4912
+ ::Io::Flow::V0::Models::ConsumerInvoice.new(r)
4913
+ end
4914
+
4915
+ def get_by_key(organization, key)
4916
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4917
+ HttpClient::Preconditions.assert_class('key', key, String)
4918
+ r = @client.request("/#{CGI.escape(organization)}/consumer/invoices/#{CGI.escape(key)}").get
4919
+ ::Io::Flow::V0::Models::ConsumerInvoice.new(r)
4920
+ end
4921
+
4922
+ def put_by_key(organization, key, consumer_invoice_form, incoming={})
4923
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4924
+ HttpClient::Preconditions.assert_class('key', key, String)
4925
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4926
+ query = {
4927
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String))
4928
+ }.delete_if { |k, v| v.nil? }
4929
+ (x = consumer_invoice_form; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceForm) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceForm.new(x))
4930
+ r = @client.request("/#{CGI.escape(organization)}/consumer/invoices/#{CGI.escape(key)}").with_query(query).with_json(consumer_invoice_form.to_json).put
4931
+ ::Io::Flow::V0::Models::ConsumerInvoice.new(r)
4932
+ end
4933
+
4934
+ def delete_by_key(organization, key)
4935
+ HttpClient::Preconditions.assert_class('organization', organization, String)
4936
+ HttpClient::Preconditions.assert_class('key', key, String)
4937
+ r = @client.request("/#{CGI.escape(organization)}/consumer/invoices/#{CGI.escape(key)}").delete
4938
+ nil
4939
+ end
4940
+
4941
+ end
4942
+
4943
+ class ConsumerInvoiceUrls
4944
+
4945
+ def initialize(client)
4946
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
4947
+ end
4948
+
4949
+ def get_tokens_and_type_by_token_and_type(token, type)
4950
+ HttpClient::Preconditions.assert_class('token', token, String)
4951
+ (x = type; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocumentType) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocumentType.apply(x))
4952
+ r = @client.request("/consumer/invoice/tokens/#{CGI.escape(token)}/type/#{type.value}").get
4953
+ ::Io::Flow::V0::Models::ConsumerInvoiceUrl.new(r)
4954
+ end
4955
+
4956
+ end
4957
+
4601
4958
  class Documents
4602
4959
 
4603
4960
  def initialize(client)
@@ -5753,6 +6110,8 @@ module Io
5753
6110
  # Enables authorizations for a credit card; will eventually replace direct and
5754
6111
  # merchant of record authorization forms.
5755
6112
  CARD_AUTHORIZATION_FORM = 'card_authorization_form' unless defined?(CARD_AUTHORIZATION_FORM)
6113
+ # Enables authorizations via ACH (Automated Clearing House) bank transfer.
6114
+ ACH_AUTHORIZATION_FORM = 'ach_authorization_form' unless defined?(ACH_AUTHORIZATION_FORM)
5756
6115
  end
5757
6116
 
5758
6117
  attr_reader :discriminator
@@ -5764,7 +6123,7 @@ module Io
5764
6123
  end
5765
6124
 
5766
6125
  def subtype_to_hash
5767
- raise 'Cannot serialize an instance of authorization_form directly - must use one of the specific types: authorization_copy_form, direct_authorization_form, merchant_of_record_authorization_form, paypal_authorization_form, redirect_authorization_form, inline_authorization_form, card_authorization_form'
6126
+ raise 'Cannot serialize an instance of authorization_form directly - must use one of the specific types: authorization_copy_form, direct_authorization_form, merchant_of_record_authorization_form, paypal_authorization_form, redirect_authorization_form, inline_authorization_form, card_authorization_form, ach_authorization_form'
5768
6127
  end
5769
6128
 
5770
6129
  def to_hash
@@ -5785,6 +6144,7 @@ module Io
5785
6144
  when Types::REDIRECT_AUTHORIZATION_FORM; RedirectAuthorizationForm.new(hash)
5786
6145
  when Types::INLINE_AUTHORIZATION_FORM; InlineAuthorizationForm.new(hash)
5787
6146
  when Types::CARD_AUTHORIZATION_FORM; CardAuthorizationForm.new(hash)
6147
+ when Types::ACH_AUTHORIZATION_FORM; AchAuthorizationForm.new(hash)
5788
6148
  else AuthorizationFormUndefinedType.new(:discriminator => discriminator)
5789
6149
  end
5790
6150
  end
@@ -6099,8 +6459,12 @@ module Io
6099
6459
  CURRENCY_FORMAT_UPSERTED = 'currency_format_upserted' unless defined?(CURRENCY_FORMAT_UPSERTED)
6100
6460
  EXPERIENCE_DELETED = 'experience_deleted' unless defined?(EXPERIENCE_DELETED)
6101
6461
  EXPERIENCE_UPSERTED = 'experience_upserted' unless defined?(EXPERIENCE_UPSERTED)
6462
+ EXPERIENCE_DELETED_V2 = 'experience_deleted_v2' unless defined?(EXPERIENCE_DELETED_V2)
6463
+ EXPERIENCE_UPSERTED_V2 = 'experience_upserted_v2' unless defined?(EXPERIENCE_UPSERTED_V2)
6102
6464
  EXPERIENCE_PRICE_BOOK_MAPPING_DELETED = 'experience_price_book_mapping_deleted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_DELETED)
6103
6465
  EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED = 'experience_price_book_mapping_upserted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
6466
+ EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED = 'experience_logistics_settings_upserted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED)
6467
+ EXPERIENCE_LOGISTICS_SETTINGS_DELETED = 'experience_logistics_settings_deleted' unless defined?(EXPERIENCE_LOGISTICS_SETTINGS_DELETED)
6104
6468
  ITEM_MARGIN_DELETED = 'item_margin_deleted' unless defined?(ITEM_MARGIN_DELETED)
6105
6469
  ITEM_MARGIN_UPSERTED = 'item_margin_upserted' unless defined?(ITEM_MARGIN_UPSERTED)
6106
6470
  ITEM_SALES_MARGIN_DELETED = 'item_sales_margin_deleted' unless defined?(ITEM_SALES_MARGIN_DELETED)
@@ -6109,6 +6473,8 @@ module Io
6109
6473
  LABEL_FORMAT_UPSERTED = 'label_format_upserted' unless defined?(LABEL_FORMAT_UPSERTED)
6110
6474
  ORDER_DELETED = 'order_deleted' unless defined?(ORDER_DELETED)
6111
6475
  ORDER_UPSERTED = 'order_upserted' unless defined?(ORDER_UPSERTED)
6476
+ ORDER_DELETED_V2 = 'order_deleted_v2' unless defined?(ORDER_DELETED_V2)
6477
+ ORDER_UPSERTED_V2 = 'order_upserted_v2' unless defined?(ORDER_UPSERTED_V2)
6112
6478
  ORDER_IDENTIFIER_DELETED = 'order_identifier_deleted' unless defined?(ORDER_IDENTIFIER_DELETED)
6113
6479
  ORDER_IDENTIFIER_UPSERTED = 'order_identifier_upserted' unless defined?(ORDER_IDENTIFIER_UPSERTED)
6114
6480
  ORDER_IDENTIFIER_DELETED_V2 = 'order_identifier_deleted_v2' unless defined?(ORDER_IDENTIFIER_DELETED_V2)
@@ -6120,6 +6486,8 @@ module Io
6120
6486
  TIER_DELETED = 'tier_deleted' unless defined?(TIER_DELETED)
6121
6487
  DELIVERY_OPTION_UPSERTED = 'delivery_option_upserted' unless defined?(DELIVERY_OPTION_UPSERTED)
6122
6488
  DELIVERY_OPTION_DELETED = 'delivery_option_deleted' unless defined?(DELIVERY_OPTION_DELETED)
6489
+ SHIPPING_CONFIGURATION_UPSERTED = 'shipping_configuration_upserted' unless defined?(SHIPPING_CONFIGURATION_UPSERTED)
6490
+ SHIPPING_CONFIGURATION_DELETED = 'shipping_configuration_deleted' unless defined?(SHIPPING_CONFIGURATION_DELETED)
6123
6491
  HS6_CODE_UPSERTED = 'hs6_code_upserted' unless defined?(HS6_CODE_UPSERTED)
6124
6492
  HS6_CODE_DELETED = 'hs6_code_deleted' unless defined?(HS6_CODE_DELETED)
6125
6493
  HS10_CODE_UPSERTED = 'hs10_code_upserted' unless defined?(HS10_CODE_UPSERTED)
@@ -6196,7 +6564,7 @@ module Io
6196
6564
  end
6197
6565
 
6198
6566
  def subtype_to_hash
6199
- 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, subcatalog_item_upserted, subcatalog_item_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, available_promotions_upserted, available_promotions_deleted, allocation_deleted_v2, allocation_upserted_v2, currency_format_deleted, currency_format_upserted, experience_deleted, experience_upserted, experience_price_book_mapping_deleted, experience_price_book_mapping_upserted, 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_identifier_deleted, order_identifier_upserted, order_identifier_deleted_v2, order_identifier_upserted_v2, pricing_deleted, pricing_upserted, fraud_status_changed, tier_upserted, tier_deleted, delivery_option_upserted, delivery_option_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_item_upserted, harmonized_item_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, serial_upserted, serial_deleted, snapshot_upserted, snapshot_deleted, label_upserted, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, membership_upserted, membership_deleted, organization_upserted, organization_deleted, authorization_upserted, authorization_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted, card_authorization_upserted_v2, online_authorization_upserted, online_authorization_upserted_v2, capture_upserted, capture_upserted_v2, card_upserted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted, refund_upserted_v2, refund_capture_upserted_v2, reversal_upserted, 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, organization_countries_published, organization_ratecard_transit_windows_published, return_upserted, return_deleted, targeting_item_upserted, targeting_item_deleted, tracking_label_event_upserted'
6567
+ 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, subcatalog_item_upserted, subcatalog_item_deleted, crossdock_shipment_upserted, rate_deleted, rate_upserted, available_promotions_upserted, available_promotions_deleted, 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, pricing_deleted, pricing_upserted, fraud_status_changed, tier_upserted, tier_deleted, delivery_option_upserted, delivery_option_deleted, shipping_configuration_upserted, shipping_configuration_deleted, hs6_code_upserted, hs6_code_deleted, hs10_code_upserted, hs10_code_deleted, item_origin_upserted, item_origin_deleted, harmonized_item_upserted, harmonized_item_deleted, harmonized_landed_cost_upserted, fully_harmonized_item_upserted, rule_upserted, rule_deleted, serial_upserted, serial_deleted, snapshot_upserted, snapshot_deleted, label_upserted, notification_upserted, notification_deleted, manifested_label_upserted, manifested_label_deleted, local_item_upserted, local_item_deleted, membership_upserted, membership_deleted, organization_upserted, organization_deleted, authorization_upserted, authorization_deleted, authorization_deleted_v2, authorization_status_changed, card_authorization_upserted, card_authorization_upserted_v2, online_authorization_upserted, online_authorization_upserted_v2, capture_upserted, capture_upserted_v2, card_upserted, card_upserted_v2, card_deleted, payment_upserted, payment_deleted, refund_upserted, refund_upserted_v2, refund_capture_upserted_v2, reversal_upserted, 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, organization_countries_published, organization_ratecard_transit_windows_published, return_upserted, return_deleted, targeting_item_upserted, targeting_item_deleted, tracking_label_event_upserted'
6200
6568
  end
6201
6569
 
6202
6570
  def to_hash
@@ -6233,8 +6601,12 @@ module Io
6233
6601
  when Types::CURRENCY_FORMAT_UPSERTED; CurrencyFormatUpserted.new(hash)
6234
6602
  when Types::EXPERIENCE_DELETED; ExperienceDeleted.new(hash)
6235
6603
  when Types::EXPERIENCE_UPSERTED; ExperienceUpserted.new(hash)
6604
+ when Types::EXPERIENCE_DELETED_V2; ExperienceDeletedV2.new(hash)
6605
+ when Types::EXPERIENCE_UPSERTED_V2; ExperienceUpsertedV2.new(hash)
6236
6606
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_DELETED; ExperiencePriceBookMappingDeleted.new(hash)
6237
6607
  when Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED; ExperiencePriceBookMappingUpserted.new(hash)
6608
+ when Types::EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED; ExperienceLogisticsSettingsUpserted.new(hash)
6609
+ when Types::EXPERIENCE_LOGISTICS_SETTINGS_DELETED; ExperienceLogisticsSettingsDeleted.new(hash)
6238
6610
  when Types::ITEM_MARGIN_DELETED; ItemMarginDeleted.new(hash)
6239
6611
  when Types::ITEM_MARGIN_UPSERTED; ItemMarginUpserted.new(hash)
6240
6612
  when Types::ITEM_SALES_MARGIN_DELETED; ItemSalesMarginDeleted.new(hash)
@@ -6243,6 +6615,8 @@ module Io
6243
6615
  when Types::LABEL_FORMAT_UPSERTED; LabelFormatUpserted.new(hash)
6244
6616
  when Types::ORDER_DELETED; OrderDeleted.new(hash)
6245
6617
  when Types::ORDER_UPSERTED; OrderUpserted.new(hash)
6618
+ when Types::ORDER_DELETED_V2; OrderDeletedV2.new(hash)
6619
+ when Types::ORDER_UPSERTED_V2; OrderUpsertedV2.new(hash)
6246
6620
  when Types::ORDER_IDENTIFIER_DELETED; OrderIdentifierDeleted.new(hash)
6247
6621
  when Types::ORDER_IDENTIFIER_UPSERTED; OrderIdentifierUpserted.new(hash)
6248
6622
  when Types::ORDER_IDENTIFIER_DELETED_V2; OrderIdentifierDeletedV2.new(hash)
@@ -6254,6 +6628,8 @@ module Io
6254
6628
  when Types::TIER_DELETED; TierDeleted.new(hash)
6255
6629
  when Types::DELIVERY_OPTION_UPSERTED; DeliveryOptionUpserted.new(hash)
6256
6630
  when Types::DELIVERY_OPTION_DELETED; DeliveryOptionDeleted.new(hash)
6631
+ when Types::SHIPPING_CONFIGURATION_UPSERTED; ShippingConfigurationUpserted.new(hash)
6632
+ when Types::SHIPPING_CONFIGURATION_DELETED; ShippingConfigurationDeleted.new(hash)
6257
6633
  when Types::HS6_CODE_UPSERTED; Hs6CodeUpserted.new(hash)
6258
6634
  when Types::HS6_CODE_DELETED; Hs6CodeDeleted.new(hash)
6259
6635
  when Types::HS10_CODE_UPSERTED; Hs10CodeUpserted.new(hash)
@@ -6990,48 +7366,168 @@ module Io
6990
7366
 
6991
7367
  end
6992
7368
 
6993
- # Describes types of forms that can be used to assign an HS code based on
6994
- # product data.
6995
- class HintForm
7369
+ class GatewayAuthenticationData
6996
7370
 
6997
7371
  module Types
6998
- # A short phrase describing a product in generic terms, intended to uniquely
6999
- # identify a code from a harmonization system. Hints of this type must provide
7000
- # an exact match and will never return more than one result.
7001
- PHRASE_HINT_FORM = 'phrase_hint_form' unless defined?(PHRASE_HINT_FORM)
7372
+ STRIPE_AUTHENTICATION_DATA = 'stripe_authentication_data' unless defined?(STRIPE_AUTHENTICATION_DATA)
7002
7373
  end
7003
7374
 
7004
7375
  attr_reader :discriminator
7005
7376
 
7006
7377
  def initialize(incoming={})
7007
7378
  opts = HttpClient::Helper.symbolize_keys(incoming)
7008
- HttpClient::Preconditions.require_keys(opts, [:discriminator], 'HintForm')
7379
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'GatewayAuthenticationData')
7009
7380
  @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7010
7381
  end
7011
7382
 
7012
7383
  def subtype_to_hash
7013
- raise 'Cannot serialize an instance of hint_form directly - must use one of the specific types: phrase_hint_form'
7384
+ raise 'Cannot serialize an instance of gateway_authentication_data directly - must use one of the specific types: stripe_authentication_data'
7014
7385
  end
7015
7386
 
7016
7387
  def to_hash
7017
7388
  subtype_to_hash.merge(:discriminator => @discriminator)
7018
7389
  end
7019
7390
 
7020
- def HintForm.from_json(hash)
7391
+ def GatewayAuthenticationData.from_json(hash)
7021
7392
  HttpClient::Preconditions.assert_class('hash', hash, Hash)
7022
7393
  discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7023
7394
  if discriminator.empty?
7024
- raise "Union type[hint_form] requires a field named 'discriminator'"
7395
+ raise "Union type[gateway_authentication_data] requires a field named 'discriminator'"
7025
7396
  end
7026
7397
  case discriminator
7027
- when Types::PHRASE_HINT_FORM; PhraseHintForm.new(hash)
7028
- else HintFormUndefinedType.new(:discriminator => discriminator)
7398
+ when Types::STRIPE_AUTHENTICATION_DATA; StripeAuthenticationData.new(hash)
7399
+ else GatewayAuthenticationDataUndefinedType.new(:discriminator => discriminator)
7029
7400
  end
7030
7401
  end
7031
7402
 
7032
7403
  end
7033
7404
 
7034
- class HintFormUndefinedType < HintForm
7405
+ class GatewayAuthenticationDataUndefinedType < GatewayAuthenticationData
7406
+
7407
+ attr_reader :name
7408
+
7409
+ def initialize(incoming={})
7410
+ super(:discriminator => 'undefined_type')
7411
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7412
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7413
+ end
7414
+
7415
+ def subtype_to_hash
7416
+ raise 'Unable to serialize undefined type to json'
7417
+ end
7418
+
7419
+ def copy(incoming={})
7420
+ raise 'Operation not supported for undefined type'
7421
+ end
7422
+
7423
+ def to_hash
7424
+ raise 'Operation not supported for undefined type'
7425
+ end
7426
+
7427
+ end
7428
+
7429
+ class GatewayAuthenticationDataForm
7430
+
7431
+ module Types
7432
+ STRIPE_AUTHENTICATION_DATA_FORM = 'stripe_authentication_data_form' unless defined?(STRIPE_AUTHENTICATION_DATA_FORM)
7433
+ end
7434
+
7435
+ attr_reader :discriminator
7436
+
7437
+ def initialize(incoming={})
7438
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7439
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'GatewayAuthenticationDataForm')
7440
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7441
+ end
7442
+
7443
+ def subtype_to_hash
7444
+ raise 'Cannot serialize an instance of gateway_authentication_data_form directly - must use one of the specific types: stripe_authentication_data_form'
7445
+ end
7446
+
7447
+ def to_hash
7448
+ subtype_to_hash.merge(:discriminator => @discriminator)
7449
+ end
7450
+
7451
+ def GatewayAuthenticationDataForm.from_json(hash)
7452
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7453
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7454
+ if discriminator.empty?
7455
+ raise "Union type[gateway_authentication_data_form] requires a field named 'discriminator'"
7456
+ end
7457
+ case discriminator
7458
+ when Types::STRIPE_AUTHENTICATION_DATA_FORM; StripeAuthenticationDataForm.new(hash)
7459
+ else GatewayAuthenticationDataFormUndefinedType.new(:discriminator => discriminator)
7460
+ end
7461
+ end
7462
+
7463
+ end
7464
+
7465
+ class GatewayAuthenticationDataFormUndefinedType < GatewayAuthenticationDataForm
7466
+
7467
+ attr_reader :name
7468
+
7469
+ def initialize(incoming={})
7470
+ super(:discriminator => 'undefined_type')
7471
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7472
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
7473
+ end
7474
+
7475
+ def subtype_to_hash
7476
+ raise 'Unable to serialize undefined type to json'
7477
+ end
7478
+
7479
+ def copy(incoming={})
7480
+ raise 'Operation not supported for undefined type'
7481
+ end
7482
+
7483
+ def to_hash
7484
+ raise 'Operation not supported for undefined type'
7485
+ end
7486
+
7487
+ end
7488
+
7489
+ # Describes types of forms that can be used to assign an HS code based on
7490
+ # product data.
7491
+ class HintForm
7492
+
7493
+ module Types
7494
+ # A short phrase describing a product in generic terms, intended to uniquely
7495
+ # identify a code from a harmonization system. Hints of this type must provide
7496
+ # an exact match and will never return more than one result.
7497
+ PHRASE_HINT_FORM = 'phrase_hint_form' unless defined?(PHRASE_HINT_FORM)
7498
+ end
7499
+
7500
+ attr_reader :discriminator
7501
+
7502
+ def initialize(incoming={})
7503
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7504
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'HintForm')
7505
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
7506
+ end
7507
+
7508
+ def subtype_to_hash
7509
+ raise 'Cannot serialize an instance of hint_form directly - must use one of the specific types: phrase_hint_form'
7510
+ end
7511
+
7512
+ def to_hash
7513
+ subtype_to_hash.merge(:discriminator => @discriminator)
7514
+ end
7515
+
7516
+ def HintForm.from_json(hash)
7517
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7518
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
7519
+ if discriminator.empty?
7520
+ raise "Union type[hint_form] requires a field named 'discriminator'"
7521
+ end
7522
+ case discriminator
7523
+ when Types::PHRASE_HINT_FORM; PhraseHintForm.new(hash)
7524
+ else HintFormUndefinedType.new(:discriminator => discriminator)
7525
+ end
7526
+ end
7527
+
7528
+ end
7529
+
7530
+ class HintFormUndefinedType < HintForm
7035
7531
 
7036
7532
  attr_reader :name
7037
7533
 
@@ -9233,6 +9729,44 @@ module Io
9233
9729
 
9234
9730
  end
9235
9731
 
9732
+ class ConsumerInvoiceDocumentType
9733
+
9734
+ attr_reader :value
9735
+
9736
+ def initialize(value)
9737
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
9738
+ end
9739
+
9740
+ # Returns the instance of ConsumerInvoiceDocumentType for this value, creating a new instance for an unknown value
9741
+ def ConsumerInvoiceDocumentType.apply(value)
9742
+ if value.instance_of?(ConsumerInvoiceDocumentType)
9743
+ value
9744
+ else
9745
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
9746
+ value.nil? ? nil : (from_string(value) || ConsumerInvoiceDocumentType.new(value))
9747
+ end
9748
+ end
9749
+
9750
+ # Returns the instance of ConsumerInvoiceDocumentType for this value, or nil if not found
9751
+ def ConsumerInvoiceDocumentType.from_string(value)
9752
+ HttpClient::Preconditions.assert_class('value', value, String)
9753
+ ConsumerInvoiceDocumentType.ALL.find { |v| v.value == value }
9754
+ end
9755
+
9756
+ def ConsumerInvoiceDocumentType.ALL
9757
+ @@all ||= [ConsumerInvoiceDocumentType.pdf]
9758
+ end
9759
+
9760
+ def ConsumerInvoiceDocumentType.pdf
9761
+ @@_pdf ||= ConsumerInvoiceDocumentType.new('pdf')
9762
+ end
9763
+
9764
+ def to_hash
9765
+ value
9766
+ end
9767
+
9768
+ end
9769
+
9236
9770
  class CreditPaymentErrorCode
9237
9771
 
9238
9772
  attr_reader :value
@@ -9925,7 +10459,7 @@ module Io
9925
10459
  end
9926
10460
 
9927
10461
  def EventType.ALL
9928
- @@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.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.allocation_deleted_v2, EventType.allocation_upserted_v2, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_upserted, EventType.experience_price_book_mapping_deleted, EventType.experience_price_book_mapping_upserted, 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_identifier_deleted, EventType.order_identifier_upserted, EventType.order_identifier_deleted_v2, EventType.order_identifier_upserted_v2, EventType.pricing_deleted, EventType.pricing_upserted, EventType.fraud_status_changed, EventType.tier_upserted, EventType.tier_deleted, EventType.delivery_option_upserted, EventType.delivery_option_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_item_upserted, EventType.harmonized_item_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.serial_upserted, EventType.serial_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.membership_upserted, EventType.membership_deleted, EventType.organization_upserted, EventType.organization_deleted, EventType.authorization_upserted, EventType.authorization_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted, EventType.card_authorization_upserted_v2, EventType.online_authorization_upserted, EventType.online_authorization_upserted_v2, EventType.capture_upserted, EventType.capture_upserted_v2, EventType.card_upserted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted, EventType.refund_upserted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, 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.organization_countries_published, EventType.organization_ratecard_transit_windows_published, EventType.return_upserted, EventType.return_deleted, EventType.targeting_item_upserted, EventType.targeting_item_deleted, EventType.tracking_label_event_upserted]
10462
+ @@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.subcatalog_item_upserted, EventType.subcatalog_item_deleted, EventType.crossdock_shipment_upserted, EventType.rate_deleted, EventType.rate_upserted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, 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.pricing_deleted, EventType.pricing_upserted, EventType.fraud_status_changed, EventType.tier_upserted, EventType.tier_deleted, EventType.delivery_option_upserted, EventType.delivery_option_deleted, EventType.shipping_configuration_upserted, EventType.shipping_configuration_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_item_upserted, EventType.harmonized_item_deleted, EventType.harmonized_landed_cost_upserted, EventType.fully_harmonized_item_upserted, EventType.rule_upserted, EventType.rule_deleted, EventType.serial_upserted, EventType.serial_deleted, EventType.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.notification_upserted, EventType.notification_deleted, EventType.manifested_label_upserted, EventType.manifested_label_deleted, EventType.local_item_upserted, EventType.local_item_deleted, EventType.membership_upserted, EventType.membership_deleted, EventType.organization_upserted, EventType.organization_deleted, EventType.authorization_upserted, EventType.authorization_deleted, EventType.authorization_deleted_v2, EventType.authorization_status_changed, EventType.card_authorization_upserted, EventType.card_authorization_upserted_v2, EventType.online_authorization_upserted, EventType.online_authorization_upserted_v2, EventType.capture_upserted, EventType.capture_upserted_v2, EventType.card_upserted, EventType.card_upserted_v2, EventType.card_deleted, EventType.payment_upserted, EventType.payment_deleted, EventType.refund_upserted, EventType.refund_upserted_v2, EventType.refund_capture_upserted_v2, EventType.reversal_upserted, 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.organization_countries_published, EventType.organization_ratecard_transit_windows_published, EventType.return_upserted, EventType.return_deleted, EventType.targeting_item_upserted, EventType.targeting_item_deleted, EventType.tracking_label_event_upserted]
9929
10463
  end
9930
10464
 
9931
10465
  def EventType.attribute_upserted
@@ -10020,6 +10554,14 @@ module Io
10020
10554
  @@_experience_upserted ||= EventType.new('experience_upserted')
10021
10555
  end
10022
10556
 
10557
+ def EventType.experience_deleted_v2
10558
+ @@_experience_deleted_v2 ||= EventType.new('experience_deleted_v2')
10559
+ end
10560
+
10561
+ def EventType.experience_upserted_v2
10562
+ @@_experience_upserted_v2 ||= EventType.new('experience_upserted_v2')
10563
+ end
10564
+
10023
10565
  def EventType.experience_price_book_mapping_deleted
10024
10566
  @@_experience_price_book_mapping_deleted ||= EventType.new('experience_price_book_mapping_deleted')
10025
10567
  end
@@ -10028,6 +10570,14 @@ module Io
10028
10570
  @@_experience_price_book_mapping_upserted ||= EventType.new('experience_price_book_mapping_upserted')
10029
10571
  end
10030
10572
 
10573
+ def EventType.experience_logistics_settings_upserted
10574
+ @@_experience_logistics_settings_upserted ||= EventType.new('experience_logistics_settings_upserted')
10575
+ end
10576
+
10577
+ def EventType.experience_logistics_settings_deleted
10578
+ @@_experience_logistics_settings_deleted ||= EventType.new('experience_logistics_settings_deleted')
10579
+ end
10580
+
10031
10581
  def EventType.item_margin_deleted
10032
10582
  @@_item_margin_deleted ||= EventType.new('item_margin_deleted')
10033
10583
  end
@@ -10060,6 +10610,14 @@ module Io
10060
10610
  @@_order_upserted ||= EventType.new('order_upserted')
10061
10611
  end
10062
10612
 
10613
+ def EventType.order_deleted_v2
10614
+ @@_order_deleted_v2 ||= EventType.new('order_deleted_v2')
10615
+ end
10616
+
10617
+ def EventType.order_upserted_v2
10618
+ @@_order_upserted_v2 ||= EventType.new('order_upserted_v2')
10619
+ end
10620
+
10063
10621
  def EventType.order_identifier_deleted
10064
10622
  @@_order_identifier_deleted ||= EventType.new('order_identifier_deleted')
10065
10623
  end
@@ -10104,6 +10662,14 @@ module Io
10104
10662
  @@_delivery_option_deleted ||= EventType.new('delivery_option_deleted')
10105
10663
  end
10106
10664
 
10665
+ def EventType.shipping_configuration_upserted
10666
+ @@_shipping_configuration_upserted ||= EventType.new('shipping_configuration_upserted')
10667
+ end
10668
+
10669
+ def EventType.shipping_configuration_deleted
10670
+ @@_shipping_configuration_deleted ||= EventType.new('shipping_configuration_deleted')
10671
+ end
10672
+
10107
10673
  def EventType.hs6_code_upserted
10108
10674
  @@_hs6_code_upserted ||= EventType.new('hs6_code_upserted')
10109
10675
  end
@@ -11160,6 +11726,115 @@ module Io
11160
11726
 
11161
11727
  end
11162
11728
 
11729
+ class Incoterm
11730
+
11731
+ attr_reader :value
11732
+
11733
+ def initialize(value)
11734
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
11735
+ end
11736
+
11737
+ # Returns the instance of Incoterm for this value, creating a new instance for an unknown value
11738
+ def Incoterm.apply(value)
11739
+ if value.instance_of?(Incoterm)
11740
+ value
11741
+ else
11742
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
11743
+ value.nil? ? nil : (from_string(value) || Incoterm.new(value))
11744
+ end
11745
+ end
11746
+
11747
+ # Returns the instance of Incoterm for this value, or nil if not found
11748
+ def Incoterm.from_string(value)
11749
+ HttpClient::Preconditions.assert_class('value', value, String)
11750
+ Incoterm.ALL.find { |v| v.value == value }
11751
+ end
11752
+
11753
+ def Incoterm.ALL
11754
+ @@all ||= [Incoterm.exw, Incoterm.fca, Incoterm.cpt, Incoterm.cip, Incoterm.dat, Incoterm.dap, Incoterm.ddp, Incoterm.fas, Incoterm.fob, Incoterm.cfr, Incoterm.cif, Incoterm.daf, Incoterm.des, Incoterm.deq, Incoterm.ddu]
11755
+ end
11756
+
11757
+ # Ex Works (named place of delivery)
11758
+ def Incoterm.exw
11759
+ @@_exw ||= Incoterm.new('EXW')
11760
+ end
11761
+
11762
+ # Free Carrier (named place of delivery)
11763
+ def Incoterm.fca
11764
+ @@_fca ||= Incoterm.new('FCA')
11765
+ end
11766
+
11767
+ # Carriage Paid To (named place of destination)
11768
+ def Incoterm.cpt
11769
+ @@_cpt ||= Incoterm.new('CPT')
11770
+ end
11771
+
11772
+ # Carriage and Insurance Paid to (named place of destination)
11773
+ def Incoterm.cip
11774
+ @@_cip ||= Incoterm.new('CIP')
11775
+ end
11776
+
11777
+ # Delivered At Terminal (named terminal at port or place of destination)
11778
+ def Incoterm.dat
11779
+ @@_dat ||= Incoterm.new('DAT')
11780
+ end
11781
+
11782
+ # Delivered At Place (named place of destination)
11783
+ def Incoterm.dap
11784
+ @@_dap ||= Incoterm.new('DAP')
11785
+ end
11786
+
11787
+ # Delivered Duty Paid (named place of destination)
11788
+ def Incoterm.ddp
11789
+ @@_ddp ||= Incoterm.new('DDP')
11790
+ end
11791
+
11792
+ # Free Alongside Ship (named port of shipment)
11793
+ def Incoterm.fas
11794
+ @@_fas ||= Incoterm.new('FAS')
11795
+ end
11796
+
11797
+ # Free on Board (named port of shipment)
11798
+ def Incoterm.fob
11799
+ @@_fob ||= Incoterm.new('FOB')
11800
+ end
11801
+
11802
+ # Cost and Freight (named port of destination)
11803
+ def Incoterm.cfr
11804
+ @@_cfr ||= Incoterm.new('CFR')
11805
+ end
11806
+
11807
+ # Cost, Insurance & Freight (named port of destination)
11808
+ def Incoterm.cif
11809
+ @@_cif ||= Incoterm.new('CIF')
11810
+ end
11811
+
11812
+ # Delivered at Frontier (named place of delivery)
11813
+ def Incoterm.daf
11814
+ @@_daf ||= Incoterm.new('DAF')
11815
+ end
11816
+
11817
+ # Delivered Ex Ship
11818
+ def Incoterm.des
11819
+ @@_des ||= Incoterm.new('DES')
11820
+ end
11821
+
11822
+ # Delivered Ex Quay (named port of delivery)
11823
+ def Incoterm.deq
11824
+ @@_deq ||= Incoterm.new('DEQ')
11825
+ end
11826
+
11827
+ # Delivered Duty Unpaid (named place of destination)
11828
+ def Incoterm.ddu
11829
+ @@_ddu ||= Incoterm.new('DDU')
11830
+ end
11831
+
11832
+ def to_hash
11833
+ value
11834
+ end
11835
+
11836
+ end
11837
+
11163
11838
  class InstallmentPlanPaymentErrorCode
11164
11839
 
11165
11840
  attr_reader :value
@@ -13489,6 +14164,48 @@ module Io
13489
14164
 
13490
14165
  end
13491
14166
 
14167
+ class ShippingConfigurationType
14168
+
14169
+ attr_reader :value
14170
+
14171
+ def initialize(value)
14172
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
14173
+ end
14174
+
14175
+ # Returns the instance of ShippingConfigurationType for this value, creating a new instance for an unknown value
14176
+ def ShippingConfigurationType.apply(value)
14177
+ if value.instance_of?(ShippingConfigurationType)
14178
+ value
14179
+ else
14180
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
14181
+ value.nil? ? nil : (from_string(value) || ShippingConfigurationType.new(value))
14182
+ end
14183
+ end
14184
+
14185
+ # Returns the instance of ShippingConfigurationType for this value, or nil if not found
14186
+ def ShippingConfigurationType.from_string(value)
14187
+ HttpClient::Preconditions.assert_class('value', value, String)
14188
+ ShippingConfigurationType.ALL.find { |v| v.value == value }
14189
+ end
14190
+
14191
+ def ShippingConfigurationType.ALL
14192
+ @@all ||= [ShippingConfigurationType.default, ShippingConfigurationType.variant]
14193
+ end
14194
+
14195
+ def ShippingConfigurationType.default
14196
+ @@_default ||= ShippingConfigurationType.new('default')
14197
+ end
14198
+
14199
+ def ShippingConfigurationType.variant
14200
+ @@_variant ||= ShippingConfigurationType.new('variant')
14201
+ end
14202
+
14203
+ def to_hash
14204
+ value
14205
+ end
14206
+
14207
+ end
14208
+
13492
14209
  class ShopifyGrant
13493
14210
 
13494
14211
  attr_reader :value
@@ -14586,16 +15303,63 @@ module Io
14586
15303
 
14587
15304
  end
14588
15305
 
15306
+ # Used for initiating an ACH (Automated Clearing House) bank transfer.
15307
+ class AchAuthorizationForm < AuthorizationForm
15308
+
15309
+ attr_reader :account_owner_name, :account_number, :routing_number, :billing_address, :order_number, :amount, :currency, :key, :attributes, :ip
15310
+
15311
+ def initialize(incoming={})
15312
+ super(:discriminator => AuthorizationForm::Types::ACH_AUTHORIZATION_FORM)
15313
+ opts = HttpClient::Helper.symbolize_keys(incoming)
15314
+ HttpClient::Preconditions.require_keys(opts, [:account_owner_name, :account_number, :routing_number, :billing_address, :amount, :currency], 'AchAuthorizationForm')
15315
+ @account_owner_name = HttpClient::Preconditions.assert_class('account_owner_name', opts.delete(:account_owner_name), String)
15316
+ @account_number = HttpClient::Preconditions.assert_class('account_number', opts.delete(:account_number), String)
15317
+ @routing_number = HttpClient::Preconditions.assert_class('routing_number', opts.delete(:routing_number), String)
15318
+ @billing_address = (x = opts.delete(:billing_address); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
15319
+ @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
15320
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
15321
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
15322
+ @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
15323
+ @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 })
15324
+ @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
15325
+ end
15326
+
15327
+ def to_json
15328
+ JSON.dump(to_hash)
15329
+ end
15330
+
15331
+ def copy(incoming={})
15332
+ AchAuthorizationForm.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
15333
+ end
15334
+
15335
+ def subtype_to_hash
15336
+ {
15337
+ :account_owner_name => account_owner_name,
15338
+ :account_number => account_number,
15339
+ :routing_number => routing_number,
15340
+ :billing_address => billing_address.to_hash,
15341
+ :order_number => order_number,
15342
+ :amount => amount,
15343
+ :currency => currency,
15344
+ :key => key,
15345
+ :attributes => attributes.nil? ? nil : attributes,
15346
+ :ip => ip
15347
+ }
15348
+ end
15349
+
15350
+ end
15351
+
14589
15352
  # Defines structured fields for address to be used in user/form input. Either
14590
15353
  # text or the structured input needs to be present.
14591
15354
  class Address
14592
15355
 
14593
- attr_reader :text, :streets, :city, :province, :postal, :country, :latitude, :longitude
15356
+ attr_reader :text, :streets, :street_number, :city, :province, :postal, :country, :latitude, :longitude
14594
15357
 
14595
15358
  def initialize(incoming={})
14596
15359
  opts = HttpClient::Helper.symbolize_keys(incoming)
14597
15360
  @text = (x = opts.delete(:text); x.nil? ? nil : HttpClient::Preconditions.assert_class('text', x, String))
14598
15361
  @streets = (x = opts.delete(:streets); x.nil? ? nil : HttpClient::Preconditions.assert_class('streets', x, Array).map { |v| HttpClient::Preconditions.assert_class('streets', v, String) })
15362
+ @street_number = (x = opts.delete(:street_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('street_number', x, String))
14599
15363
  @city = (x = opts.delete(:city); x.nil? ? nil : HttpClient::Preconditions.assert_class('city', x, String))
14600
15364
  @province = (x = opts.delete(:province); x.nil? ? nil : HttpClient::Preconditions.assert_class('province', x, String))
14601
15365
  @postal = (x = opts.delete(:postal); x.nil? ? nil : HttpClient::Preconditions.assert_class('postal', x, String))
@@ -14616,6 +15380,7 @@ module Io
14616
15380
  {
14617
15381
  :text => text,
14618
15382
  :streets => streets.nil? ? nil : streets,
15383
+ :street_number => street_number,
14619
15384
  :city => city,
14620
15385
  :province => province,
14621
15386
  :postal => postal,
@@ -17403,6 +18168,32 @@ module Io
17403
18168
 
17404
18169
  end
17405
18170
 
18171
+ class CenterQuery
18172
+
18173
+ attr_reader :q
18174
+
18175
+ def initialize(incoming={})
18176
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18177
+ HttpClient::Preconditions.require_keys(opts, [:q], 'CenterQuery')
18178
+ @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
18179
+ end
18180
+
18181
+ def to_json
18182
+ JSON.dump(to_hash)
18183
+ end
18184
+
18185
+ def copy(incoming={})
18186
+ CenterQuery.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18187
+ end
18188
+
18189
+ def to_hash
18190
+ {
18191
+ :q => q
18192
+ }
18193
+ end
18194
+
18195
+ end
18196
+
17406
18197
  class CenterReference
17407
18198
 
17408
18199
  attr_reader :organization_id, :center_key
@@ -17679,6 +18470,185 @@ module Io
17679
18470
 
17680
18471
  end
17681
18472
 
18473
+ # The consumer invoice represents the details of a set of items from a given
18474
+ # order. This may represent either the full order or a partial fulfillment.
18475
+ class ConsumerInvoice
18476
+
18477
+ attr_reader :id, :key, :order, :items, :documents, :attributes
18478
+
18479
+ def initialize(incoming={})
18480
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18481
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :order, :items, :documents, :attributes], 'ConsumerInvoice')
18482
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
18483
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
18484
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::OrderReference) ? x : ::Io::Flow::V0::Models::OrderReference.new(x))
18485
+ @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceItem) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceItem.new(x)) }
18486
+ @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)) }
18487
+ @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 }
18488
+ end
18489
+
18490
+ def to_json
18491
+ JSON.dump(to_hash)
18492
+ end
18493
+
18494
+ def copy(incoming={})
18495
+ ConsumerInvoice.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18496
+ end
18497
+
18498
+ def to_hash
18499
+ {
18500
+ :id => id,
18501
+ :key => key,
18502
+ :order => order.to_hash,
18503
+ :items => items.map { |o| o.to_hash },
18504
+ :documents => documents.map { |o| o.to_hash },
18505
+ :attributes => attributes
18506
+ }
18507
+ end
18508
+
18509
+ end
18510
+
18511
+ class ConsumerInvoiceDocument
18512
+
18513
+ attr_reader :type, :url
18514
+
18515
+ def initialize(incoming={})
18516
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18517
+ HttpClient::Preconditions.require_keys(opts, [:type, :url], 'ConsumerInvoiceDocument')
18518
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceDocumentType) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceDocumentType.apply(x))
18519
+ @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
18520
+ end
18521
+
18522
+ def to_json
18523
+ JSON.dump(to_hash)
18524
+ end
18525
+
18526
+ def copy(incoming={})
18527
+ ConsumerInvoiceDocument.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18528
+ end
18529
+
18530
+ def to_hash
18531
+ {
18532
+ :type => type.value,
18533
+ :url => url
18534
+ }
18535
+ end
18536
+
18537
+ end
18538
+
18539
+ class ConsumerInvoiceForm
18540
+
18541
+ attr_reader :order_number, :items, :attributes
18542
+
18543
+ def initialize(incoming={})
18544
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18545
+ HttpClient::Preconditions.require_keys(opts, [:order_number, :items], 'ConsumerInvoiceForm')
18546
+ @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
18547
+ @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ConsumerInvoiceItemForm) ? x : ::Io::Flow::V0::Models::ConsumerInvoiceItemForm.new(x)) }
18548
+ @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 })
18549
+ end
18550
+
18551
+ def to_json
18552
+ JSON.dump(to_hash)
18553
+ end
18554
+
18555
+ def copy(incoming={})
18556
+ ConsumerInvoiceForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18557
+ end
18558
+
18559
+ def to_hash
18560
+ {
18561
+ :order_number => order_number,
18562
+ :items => items.map { |o| o.to_hash },
18563
+ :attributes => attributes.nil? ? nil : attributes
18564
+ }
18565
+ end
18566
+
18567
+ end
18568
+
18569
+ class ConsumerInvoiceItem
18570
+
18571
+ attr_reader :item, :quantity
18572
+
18573
+ def initialize(incoming={})
18574
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18575
+ HttpClient::Preconditions.require_keys(opts, [:item, :quantity], 'ConsumerInvoiceItem')
18576
+ @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::ItemReference) ? x : ::Io::Flow::V0::Models::ItemReference.new(x))
18577
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
18578
+ end
18579
+
18580
+ def to_json
18581
+ JSON.dump(to_hash)
18582
+ end
18583
+
18584
+ def copy(incoming={})
18585
+ ConsumerInvoiceItem.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18586
+ end
18587
+
18588
+ def to_hash
18589
+ {
18590
+ :item => item.to_hash,
18591
+ :quantity => quantity
18592
+ }
18593
+ end
18594
+
18595
+ end
18596
+
18597
+ class ConsumerInvoiceItemForm
18598
+
18599
+ attr_reader :item_number, :quantity
18600
+
18601
+ def initialize(incoming={})
18602
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18603
+ HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity], 'ConsumerInvoiceItemForm')
18604
+ @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
18605
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
18606
+ end
18607
+
18608
+ def to_json
18609
+ JSON.dump(to_hash)
18610
+ end
18611
+
18612
+ def copy(incoming={})
18613
+ ConsumerInvoiceItemForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18614
+ end
18615
+
18616
+ def to_hash
18617
+ {
18618
+ :item_number => item_number,
18619
+ :quantity => quantity
18620
+ }
18621
+ end
18622
+
18623
+ end
18624
+
18625
+ # Provides the underlying URL to a given document for this invoice
18626
+ class ConsumerInvoiceUrl
18627
+
18628
+ attr_reader :url
18629
+
18630
+ def initialize(incoming={})
18631
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18632
+ HttpClient::Preconditions.require_keys(opts, [:url], 'ConsumerInvoiceUrl')
18633
+ @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
18634
+ end
18635
+
18636
+ def to_json
18637
+ JSON.dump(to_hash)
18638
+ end
18639
+
18640
+ def copy(incoming={})
18641
+ ConsumerInvoiceUrl.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18642
+ end
18643
+
18644
+ def to_hash
18645
+ {
18646
+ :url => url
18647
+ }
18648
+ end
18649
+
18650
+ end
18651
+
17682
18652
  # Defines structured fields for a contact person. Typically used for specifying
17683
18653
  # contact person for an account, shipment, or organization representative
17684
18654
  class Contact
@@ -19387,6 +20357,39 @@ module Io
19387
20357
 
19388
20358
  end
19389
20359
 
20360
+ class ExperienceDeletedV2 < Event
20361
+
20362
+ attr_reader :event_id, :timestamp, :organization, :experience
20363
+
20364
+ def initialize(incoming={})
20365
+ super(:discriminator => Event::Types::EXPERIENCE_DELETED_V2)
20366
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20367
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :experience], 'ExperienceDeletedV2')
20368
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
20369
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
20370
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
20371
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::Experience) ? x : ::Io::Flow::V0::Models::Experience.new(x))
20372
+ end
20373
+
20374
+ def to_json
20375
+ JSON.dump(to_hash)
20376
+ end
20377
+
20378
+ def copy(incoming={})
20379
+ ExperienceDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20380
+ end
20381
+
20382
+ def subtype_to_hash
20383
+ {
20384
+ :event_id => event_id,
20385
+ :timestamp => timestamp,
20386
+ :organization => organization,
20387
+ :experience => experience.to_hash
20388
+ }
20389
+ end
20390
+
20391
+ end
20392
+
19390
20393
  class ExperienceFeedSummary
19391
20394
 
19392
20395
  attr_reader :experience, :url, :last_construct_date
@@ -19499,6 +20502,208 @@ module Io
19499
20502
 
19500
20503
  end
19501
20504
 
20505
+ class ExperienceLogisticsSettings
20506
+
20507
+ attr_reader :id, :experience_key, :shipping_configuration
20508
+
20509
+ def initialize(incoming={})
20510
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20511
+ HttpClient::Preconditions.require_keys(opts, [:id, :experience_key, :shipping_configuration], 'ExperienceLogisticsSettings')
20512
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
20513
+ @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
20514
+ @shipping_configuration = (x = opts.delete(:shipping_configuration); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationReference) ? x : ::Io::Flow::V0::Models::ShippingConfigurationReference.new(x))
20515
+ end
20516
+
20517
+ def to_json
20518
+ JSON.dump(to_hash)
20519
+ end
20520
+
20521
+ def copy(incoming={})
20522
+ ExperienceLogisticsSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20523
+ end
20524
+
20525
+ def to_hash
20526
+ {
20527
+ :id => id,
20528
+ :experience_key => experience_key,
20529
+ :shipping_configuration => shipping_configuration.to_hash
20530
+ }
20531
+ end
20532
+
20533
+ end
20534
+
20535
+ class ExperienceLogisticsSettingsDeleted < Event
20536
+
20537
+ attr_reader :event_id, :timestamp, :organization, :logistics_settings
20538
+
20539
+ def initialize(incoming={})
20540
+ super(:discriminator => Event::Types::EXPERIENCE_LOGISTICS_SETTINGS_DELETED)
20541
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20542
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :logistics_settings], 'ExperienceLogisticsSettingsDeleted')
20543
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
20544
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
20545
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
20546
+ @logistics_settings = (x = opts.delete(:logistics_settings); x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsSettings) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(x))
20547
+ end
20548
+
20549
+ def to_json
20550
+ JSON.dump(to_hash)
20551
+ end
20552
+
20553
+ def copy(incoming={})
20554
+ ExperienceLogisticsSettingsDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20555
+ end
20556
+
20557
+ def subtype_to_hash
20558
+ {
20559
+ :event_id => event_id,
20560
+ :timestamp => timestamp,
20561
+ :organization => organization,
20562
+ :logistics_settings => logistics_settings.to_hash
20563
+ }
20564
+ end
20565
+
20566
+ end
20567
+
20568
+ # Assigns logistics related settings to an experience
20569
+ class ExperienceLogisticsSettingsPutForm
20570
+
20571
+ attr_reader :shipping_configuration_key
20572
+
20573
+ def initialize(incoming={})
20574
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20575
+ HttpClient::Preconditions.require_keys(opts, [:shipping_configuration_key], 'ExperienceLogisticsSettingsPutForm')
20576
+ @shipping_configuration_key = HttpClient::Preconditions.assert_class('shipping_configuration_key', opts.delete(:shipping_configuration_key), String)
20577
+ end
20578
+
20579
+ def to_json
20580
+ JSON.dump(to_hash)
20581
+ end
20582
+
20583
+ def copy(incoming={})
20584
+ ExperienceLogisticsSettingsPutForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20585
+ end
20586
+
20587
+ def to_hash
20588
+ {
20589
+ :shipping_configuration_key => shipping_configuration_key
20590
+ }
20591
+ end
20592
+
20593
+ end
20594
+
20595
+ class ExperienceLogisticsSettingsUpserted < Event
20596
+
20597
+ attr_reader :event_id, :timestamp, :organization, :logistics_settings
20598
+
20599
+ def initialize(incoming={})
20600
+ super(:discriminator => Event::Types::EXPERIENCE_LOGISTICS_SETTINGS_UPSERTED)
20601
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20602
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :logistics_settings], 'ExperienceLogisticsSettingsUpserted')
20603
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
20604
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
20605
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
20606
+ @logistics_settings = (x = opts.delete(:logistics_settings); x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsSettings) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsSettings.new(x))
20607
+ end
20608
+
20609
+ def to_json
20610
+ JSON.dump(to_hash)
20611
+ end
20612
+
20613
+ def copy(incoming={})
20614
+ ExperienceLogisticsSettingsUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20615
+ end
20616
+
20617
+ def subtype_to_hash
20618
+ {
20619
+ :event_id => event_id,
20620
+ :timestamp => timestamp,
20621
+ :organization => organization,
20622
+ :logistics_settings => logistics_settings.to_hash
20623
+ }
20624
+ end
20625
+
20626
+ end
20627
+
20628
+ class ExperienceLogisticsSummary
20629
+
20630
+ attr_reader :outbound, :return_
20631
+
20632
+ def initialize(incoming={})
20633
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20634
+ @outbound = (x = opts.delete(:outbound); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsTierSummary) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsTierSummary.new(x)))
20635
+ @return_ = (x = opts.delete(:return); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsTierSummary) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsTierSummary.new(x)))
20636
+ end
20637
+
20638
+ def to_json
20639
+ JSON.dump(to_hash)
20640
+ end
20641
+
20642
+ def copy(incoming={})
20643
+ ExperienceLogisticsSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20644
+ end
20645
+
20646
+ def to_hash
20647
+ {
20648
+ :outbound => outbound.nil? ? nil : outbound.to_hash,
20649
+ :return => return_.nil? ? nil : return_.to_hash
20650
+ }
20651
+ end
20652
+
20653
+ end
20654
+
20655
+ class ExperienceLogisticsTierSummary
20656
+
20657
+ attr_reader :prices
20658
+
20659
+ def initialize(incoming={})
20660
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20661
+ HttpClient::Preconditions.require_keys(opts, [:prices], 'ExperienceLogisticsTierSummary')
20662
+ @prices = (x = opts.delete(:prices); x.is_a?(::Io::Flow::V0::Models::ExperienceLogisticsTierSummaryPrices) ? x : ::Io::Flow::V0::Models::ExperienceLogisticsTierSummaryPrices.new(x))
20663
+ end
20664
+
20665
+ def to_json
20666
+ JSON.dump(to_hash)
20667
+ end
20668
+
20669
+ def copy(incoming={})
20670
+ ExperienceLogisticsTierSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20671
+ end
20672
+
20673
+ def to_hash
20674
+ {
20675
+ :prices => prices.to_hash
20676
+ }
20677
+ end
20678
+
20679
+ end
20680
+
20681
+ class ExperienceLogisticsTierSummaryPrices
20682
+
20683
+ attr_reader :minimum
20684
+
20685
+ def initialize(incoming={})
20686
+ opts = HttpClient::Helper.symbolize_keys(incoming)
20687
+ HttpClient::Preconditions.require_keys(opts, [:minimum], 'ExperienceLogisticsTierSummaryPrices')
20688
+ @minimum = (x = opts.delete(:minimum); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
20689
+ end
20690
+
20691
+ def to_json
20692
+ JSON.dump(to_hash)
20693
+ end
20694
+
20695
+ def copy(incoming={})
20696
+ ExperienceLogisticsTierSummaryPrices.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
20697
+ end
20698
+
20699
+ def to_hash
20700
+ {
20701
+ :minimum => minimum.to_hash
20702
+ }
20703
+ end
20704
+
20705
+ end
20706
+
19502
20707
  class ExperiencePaymentMethodRuleForm
19503
20708
 
19504
20709
  attr_reader :payment_method_id, :tags
@@ -19824,6 +21029,39 @@ module Io
19824
21029
 
19825
21030
  end
19826
21031
 
21032
+ class ExperienceUpsertedV2 < Event
21033
+
21034
+ attr_reader :event_id, :timestamp, :organization, :experience
21035
+
21036
+ def initialize(incoming={})
21037
+ super(:discriminator => Event::Types::EXPERIENCE_UPSERTED_V2)
21038
+ opts = HttpClient::Helper.symbolize_keys(incoming)
21039
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :experience], 'ExperienceUpsertedV2')
21040
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
21041
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
21042
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
21043
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::Experience) ? x : ::Io::Flow::V0::Models::Experience.new(x))
21044
+ end
21045
+
21046
+ def to_json
21047
+ JSON.dump(to_hash)
21048
+ end
21049
+
21050
+ def copy(incoming={})
21051
+ ExperienceUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
21052
+ end
21053
+
21054
+ def subtype_to_hash
21055
+ {
21056
+ :event_id => event_id,
21057
+ :timestamp => timestamp,
21058
+ :organization => organization,
21059
+ :experience => experience.to_hash
21060
+ }
21061
+ end
21062
+
21063
+ end
21064
+
19827
21065
  class ExperienceVersion
19828
21066
 
19829
21067
  attr_reader :id, :timestamp, :type, :experience
@@ -22191,7 +23429,7 @@ module Io
22191
23429
  # Executes a widget-based payment based on the provided payment method.
22192
23430
  class InlineAuthorizationForm < AuthorizationForm
22193
23431
 
22194
- attr_reader :method, :issuer, :order_number, :amount, :currency, :key, :attributes, :ip
23432
+ attr_reader :method, :issuer, :order_number, :amount, :currency, :billing_address, :key, :attributes, :ip
22195
23433
 
22196
23434
  def initialize(incoming={})
22197
23435
  super(:discriminator => AuthorizationForm::Types::INLINE_AUTHORIZATION_FORM)
@@ -22202,6 +23440,7 @@ module Io
22202
23440
  @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
22203
23441
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
22204
23442
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
23443
+ @billing_address = (x = opts.delete(:billing_address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
22205
23444
  @key = (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, String))
22206
23445
  @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 })
22207
23446
  @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
@@ -22222,6 +23461,7 @@ module Io
22222
23461
  :order_number => order_number,
22223
23462
  :amount => amount,
22224
23463
  :currency => currency,
23464
+ :billing_address => billing_address.nil? ? nil : billing_address.to_hash,
22225
23465
  :key => key,
22226
23466
  :attributes => attributes.nil? ? nil : attributes,
22227
23467
  :ip => ip
@@ -23761,6 +25001,32 @@ module Io
23761
25001
 
23762
25002
  end
23763
25003
 
25004
+ class ItemReference
25005
+
25006
+ attr_reader :number
25007
+
25008
+ def initialize(incoming={})
25009
+ opts = HttpClient::Helper.symbolize_keys(incoming)
25010
+ HttpClient::Preconditions.require_keys(opts, [:number], 'ItemReference')
25011
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
25012
+ end
25013
+
25014
+ def to_json
25015
+ JSON.dump(to_hash)
25016
+ end
25017
+
25018
+ def copy(incoming={})
25019
+ ItemReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
25020
+ end
25021
+
25022
+ def to_hash
25023
+ {
25024
+ :number => number
25025
+ }
25026
+ end
25027
+
25028
+ end
25029
+
23764
25030
  class ItemSalesMarginDeleted < Event
23765
25031
 
23766
25032
  attr_reader :event_id, :timestamp, :item_sales_margin_id, :organization_id, :experience_key
@@ -25584,7 +26850,7 @@ module Io
25584
26850
 
25585
26851
  class NotificationUpserted < Event
25586
26852
 
25587
- attr_reader :event_id, :timestamp, :organization, :notification_id, :carrier_tracking_number, :flow_tracking_number, :destination, :origin, :carrier, :service, :order, :package
26853
+ attr_reader :event_id, :timestamp, :organization, :notification_id, :carrier_tracking_number, :flow_tracking_number, :destination, :origin, :carrier, :service, :order, :order_identifier, :fulfillment_key, :package
25588
26854
 
25589
26855
  def initialize(incoming={})
25590
26856
  super(:discriminator => Event::Types::NOTIFICATION_UPSERTED)
@@ -25601,6 +26867,8 @@ module Io
25601
26867
  @carrier = HttpClient::Preconditions.assert_class('carrier', opts.delete(:carrier), String)
25602
26868
  @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
25603
26869
  @order = HttpClient::Preconditions.assert_class('order', opts.delete(:order), String)
26870
+ @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
26871
+ @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
25604
26872
  @package = (x = opts.delete(:package); x.is_a?(::Io::Flow::V0::Models::ShippingLabelPackage) ? x : ::Io::Flow::V0::Models::ShippingLabelPackage.new(x))
25605
26873
  end
25606
26874
 
@@ -25625,6 +26893,8 @@ module Io
25625
26893
  :carrier => carrier,
25626
26894
  :service => service,
25627
26895
  :order => order,
26896
+ :order_identifier => order_identifier,
26897
+ :fulfillment_key => fulfillment_key,
25628
26898
  :package => package.to_hash
25629
26899
  }
25630
26900
  end
@@ -25661,7 +26931,7 @@ module Io
25661
26931
 
25662
26932
  class OnlineAuthorization < Authorization
25663
26933
 
25664
- attr_reader :id, :key, :method, :merchant_of_record, :details, :payment, :amount, :currency, :requested, :customer, :attributes, :destination, :order, :ip, :result, :created_at, :expires_at
26934
+ 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
25665
26935
 
25666
26936
  def initialize(incoming={})
25667
26937
  super(:discriminator => Authorization::Types::ONLINE_AUTHORIZATION)
@@ -25679,6 +26949,7 @@ module Io
25679
26949
  @customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
25680
26950
  @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 }
25681
26951
  @destination = (x = opts.delete(:destination); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
26952
+ @billing_address = (x = opts.delete(:billing_address); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
25682
26953
  @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AuthorizationOrderReference) ? x : ::Io::Flow::V0::Models::AuthorizationOrderReference.new(x)))
25683
26954
  @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
25684
26955
  @result = (x = opts.delete(:result); x.is_a?(::Io::Flow::V0::Models::AuthorizationResult) ? x : ::Io::Flow::V0::Models::AuthorizationResult.new(x))
@@ -25708,6 +26979,7 @@ module Io
25708
26979
  :customer => customer.to_hash,
25709
26980
  :attributes => attributes,
25710
26981
  :destination => destination.nil? ? nil : destination.to_hash,
26982
+ :billing_address => billing_address.nil? ? nil : billing_address.to_hash,
25711
26983
  :order => order.nil? ? nil : order.to_hash,
25712
26984
  :ip => ip,
25713
26985
  :result => result.to_hash,
@@ -26104,6 +27376,39 @@ module Io
26104
27376
 
26105
27377
  end
26106
27378
 
27379
+ class OrderDeletedV2 < Event
27380
+
27381
+ attr_reader :event_id, :timestamp, :organization, :order
27382
+
27383
+ def initialize(incoming={})
27384
+ super(:discriminator => Event::Types::ORDER_DELETED_V2)
27385
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27386
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :order], 'OrderDeletedV2')
27387
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
27388
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
27389
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
27390
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::Order) ? x : ::Io::Flow::V0::Models::Order.new(x))
27391
+ end
27392
+
27393
+ def to_json
27394
+ JSON.dump(to_hash)
27395
+ end
27396
+
27397
+ def copy(incoming={})
27398
+ OrderDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27399
+ end
27400
+
27401
+ def subtype_to_hash
27402
+ {
27403
+ :event_id => event_id,
27404
+ :timestamp => timestamp,
27405
+ :organization => organization,
27406
+ :order => order.to_hash
27407
+ }
27408
+ end
27409
+
27410
+ end
27411
+
26107
27412
  # Purpose-built form specifically for only address-related changes to
26108
27413
  # destination on an order
26109
27414
  class OrderDestinationPutForm
@@ -26997,6 +28302,39 @@ module Io
26997
28302
 
26998
28303
  end
26999
28304
 
28305
+ class OrderUpsertedV2 < Event
28306
+
28307
+ attr_reader :event_id, :timestamp, :organization, :order
28308
+
28309
+ def initialize(incoming={})
28310
+ super(:discriminator => Event::Types::ORDER_UPSERTED_V2)
28311
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28312
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :order], 'OrderUpsertedV2')
28313
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
28314
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
28315
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
28316
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::Order) ? x : ::Io::Flow::V0::Models::Order.new(x))
28317
+ end
28318
+
28319
+ def to_json
28320
+ JSON.dump(to_hash)
28321
+ end
28322
+
28323
+ def copy(incoming={})
28324
+ OrderUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28325
+ end
28326
+
28327
+ def subtype_to_hash
28328
+ {
28329
+ :event_id => event_id,
28330
+ :timestamp => timestamp,
28331
+ :organization => organization,
28332
+ :order => order.to_hash
28333
+ }
28334
+ end
28335
+
28336
+ end
28337
+
27000
28338
  class OrderVersion
27001
28339
 
27002
28340
  attr_reader :id, :timestamp, :type, :order
@@ -32440,6 +33778,244 @@ module Io
32440
33778
 
32441
33779
  end
32442
33780
 
33781
+ class ShippingConfiguration
33782
+
33783
+ attr_reader :id, :name, :key, :type, :shipping_lanes
33784
+
33785
+ def initialize(incoming={})
33786
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33787
+ HttpClient::Preconditions.require_keys(opts, [:id, :name, :key, :type, :shipping_lanes], 'ShippingConfiguration')
33788
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
33789
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
33790
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
33791
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationType) ? x : ::Io::Flow::V0::Models::ShippingConfigurationType.apply(x))
33792
+ @shipping_lanes = HttpClient::Preconditions.assert_class('shipping_lanes', opts.delete(:shipping_lanes), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShippingLane) ? x : ::Io::Flow::V0::Models::ShippingLane.new(x)) }
33793
+ end
33794
+
33795
+ def to_json
33796
+ JSON.dump(to_hash)
33797
+ end
33798
+
33799
+ def copy(incoming={})
33800
+ ShippingConfiguration.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33801
+ end
33802
+
33803
+ def to_hash
33804
+ {
33805
+ :id => id,
33806
+ :name => name,
33807
+ :key => key,
33808
+ :type => type.value,
33809
+ :shipping_lanes => shipping_lanes.map { |o| o.to_hash }
33810
+ }
33811
+ end
33812
+
33813
+ end
33814
+
33815
+ class ShippingConfigurationCopy
33816
+
33817
+ attr_reader :original, :new
33818
+
33819
+ def initialize(incoming={})
33820
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33821
+ HttpClient::Preconditions.require_keys(opts, [:original, :new], 'ShippingConfigurationCopy')
33822
+ @original = (x = opts.delete(:original); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationReference) ? x : ::Io::Flow::V0::Models::ShippingConfigurationReference.new(x))
33823
+ @new = (x = opts.delete(:new); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationReference) ? x : ::Io::Flow::V0::Models::ShippingConfigurationReference.new(x))
33824
+ end
33825
+
33826
+ def to_json
33827
+ JSON.dump(to_hash)
33828
+ end
33829
+
33830
+ def copy(incoming={})
33831
+ ShippingConfigurationCopy.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33832
+ end
33833
+
33834
+ def to_hash
33835
+ {
33836
+ :original => original.to_hash,
33837
+ :new => new.to_hash
33838
+ }
33839
+ end
33840
+
33841
+ end
33842
+
33843
+ class ShippingConfigurationCopyForm
33844
+
33845
+ attr_reader :name
33846
+
33847
+ def initialize(incoming={})
33848
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33849
+ HttpClient::Preconditions.require_keys(opts, [:name], 'ShippingConfigurationCopyForm')
33850
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
33851
+ end
33852
+
33853
+ def to_json
33854
+ JSON.dump(to_hash)
33855
+ end
33856
+
33857
+ def copy(incoming={})
33858
+ ShippingConfigurationCopyForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33859
+ end
33860
+
33861
+ def to_hash
33862
+ {
33863
+ :name => name
33864
+ }
33865
+ end
33866
+
33867
+ end
33868
+
33869
+ class ShippingConfigurationDeleted < Event
33870
+
33871
+ attr_reader :event_id, :timestamp, :organization, :id
33872
+
33873
+ def initialize(incoming={})
33874
+ super(:discriminator => Event::Types::SHIPPING_CONFIGURATION_DELETED)
33875
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33876
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id], 'ShippingConfigurationDeleted')
33877
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
33878
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
33879
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
33880
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
33881
+ end
33882
+
33883
+ def to_json
33884
+ JSON.dump(to_hash)
33885
+ end
33886
+
33887
+ def copy(incoming={})
33888
+ ShippingConfigurationDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33889
+ end
33890
+
33891
+ def subtype_to_hash
33892
+ {
33893
+ :event_id => event_id,
33894
+ :timestamp => timestamp,
33895
+ :organization => organization,
33896
+ :id => id
33897
+ }
33898
+ end
33899
+
33900
+ end
33901
+
33902
+ class ShippingConfigurationForm
33903
+
33904
+ attr_reader :name
33905
+
33906
+ def initialize(incoming={})
33907
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33908
+ HttpClient::Preconditions.require_keys(opts, [:name], 'ShippingConfigurationForm')
33909
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
33910
+ end
33911
+
33912
+ def to_json
33913
+ JSON.dump(to_hash)
33914
+ end
33915
+
33916
+ def copy(incoming={})
33917
+ ShippingConfigurationForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33918
+ end
33919
+
33920
+ def to_hash
33921
+ {
33922
+ :name => name
33923
+ }
33924
+ end
33925
+
33926
+ end
33927
+
33928
+ class ShippingConfigurationReference
33929
+
33930
+ attr_reader :key
33931
+
33932
+ def initialize(incoming={})
33933
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33934
+ HttpClient::Preconditions.require_keys(opts, [:key], 'ShippingConfigurationReference')
33935
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
33936
+ end
33937
+
33938
+ def to_json
33939
+ JSON.dump(to_hash)
33940
+ end
33941
+
33942
+ def copy(incoming={})
33943
+ ShippingConfigurationReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33944
+ end
33945
+
33946
+ def to_hash
33947
+ {
33948
+ :key => key
33949
+ }
33950
+ end
33951
+
33952
+ end
33953
+
33954
+ class ShippingConfigurationUpserted < Event
33955
+
33956
+ attr_reader :event_id, :timestamp, :organization, :shipping_configuration
33957
+
33958
+ def initialize(incoming={})
33959
+ super(:discriminator => Event::Types::SHIPPING_CONFIGURATION_UPSERTED)
33960
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33961
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :shipping_configuration], 'ShippingConfigurationUpserted')
33962
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
33963
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
33964
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
33965
+ @shipping_configuration = (x = opts.delete(:shipping_configuration); x.is_a?(::Io::Flow::V0::Models::ShippingConfiguration) ? x : ::Io::Flow::V0::Models::ShippingConfiguration.new(x))
33966
+ end
33967
+
33968
+ def to_json
33969
+ JSON.dump(to_hash)
33970
+ end
33971
+
33972
+ def copy(incoming={})
33973
+ ShippingConfigurationUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
33974
+ end
33975
+
33976
+ def subtype_to_hash
33977
+ {
33978
+ :event_id => event_id,
33979
+ :timestamp => timestamp,
33980
+ :organization => organization,
33981
+ :shipping_configuration => shipping_configuration.to_hash
33982
+ }
33983
+ end
33984
+
33985
+ end
33986
+
33987
+ class ShippingConfigurationVersion
33988
+
33989
+ attr_reader :id, :timestamp, :type, :shipping_configuration
33990
+
33991
+ def initialize(incoming={})
33992
+ opts = HttpClient::Helper.symbolize_keys(incoming)
33993
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :shipping_configuration], 'ShippingConfigurationVersion')
33994
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
33995
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
33996
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
33997
+ @shipping_configuration = (x = opts.delete(:shipping_configuration); x.is_a?(::Io::Flow::V0::Models::ShippingConfiguration) ? x : ::Io::Flow::V0::Models::ShippingConfiguration.new(x))
33998
+ end
33999
+
34000
+ def to_json
34001
+ JSON.dump(to_hash)
34002
+ end
34003
+
34004
+ def copy(incoming={})
34005
+ ShippingConfigurationVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34006
+ end
34007
+
34008
+ def to_hash
34009
+ {
34010
+ :id => id,
34011
+ :timestamp => timestamp,
34012
+ :type => type.value,
34013
+ :shipping_configuration => shipping_configuration.to_hash
34014
+ }
34015
+ end
34016
+
34017
+ end
34018
+
32443
34019
  # Represents information about a carrier-generated shipping label used by a
32444
34020
  # shipper to transport a package from a given origin to destination
32445
34021
  class ShippingLabel
@@ -32672,13 +34248,107 @@ module Io
32672
34248
 
32673
34249
  end
32674
34250
 
34251
+ class ShippingLane
34252
+
34253
+ attr_reader :id, :shipping_configuration, :region, :centers, :tiers
34254
+
34255
+ def initialize(incoming={})
34256
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34257
+ HttpClient::Preconditions.require_keys(opts, [:id, :shipping_configuration, :region, :centers, :tiers], 'ShippingLane')
34258
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
34259
+ @shipping_configuration = (x = opts.delete(:shipping_configuration); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationReference) ? x : ::Io::Flow::V0::Models::ShippingConfigurationReference.new(x))
34260
+ @region = HttpClient::Preconditions.assert_class('region', opts.delete(:region), String)
34261
+ @centers = HttpClient::Preconditions.assert_class('centers', opts.delete(:centers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::CenterReference) ? x : ::Io::Flow::V0::Models::CenterReference.new(x)) }
34262
+ @tiers = HttpClient::Preconditions.assert_class('tiers', opts.delete(:tiers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Tier) ? x : ::Io::Flow::V0::Models::Tier.new(x)) }
34263
+ end
34264
+
34265
+ def to_json
34266
+ JSON.dump(to_hash)
34267
+ end
34268
+
34269
+ def copy(incoming={})
34270
+ ShippingLane.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34271
+ end
34272
+
34273
+ def to_hash
34274
+ {
34275
+ :id => id,
34276
+ :shipping_configuration => shipping_configuration.to_hash,
34277
+ :region => region,
34278
+ :centers => centers.map { |o| o.to_hash },
34279
+ :tiers => tiers.map { |o| o.to_hash }
34280
+ }
34281
+ end
34282
+
34283
+ end
34284
+
34285
+ class ShippingLaneForm
34286
+
34287
+ attr_reader :from, :to
34288
+
34289
+ def initialize(incoming={})
34290
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34291
+ HttpClient::Preconditions.require_keys(opts, [:from, :to], 'ShippingLaneForm')
34292
+ @from = HttpClient::Preconditions.assert_class('from', opts.delete(:from), String)
34293
+ @to = HttpClient::Preconditions.assert_class('to', opts.delete(:to), String)
34294
+ end
34295
+
34296
+ def to_json
34297
+ JSON.dump(to_hash)
34298
+ end
34299
+
34300
+ def copy(incoming={})
34301
+ ShippingLaneForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34302
+ end
34303
+
34304
+ def to_hash
34305
+ {
34306
+ :from => from,
34307
+ :to => to
34308
+ }
34309
+ end
34310
+
34311
+ end
34312
+
34313
+ class ShippingLaneVersion
34314
+
34315
+ attr_reader :id, :timestamp, :type, :shipping_lane
34316
+
34317
+ def initialize(incoming={})
34318
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34319
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :shipping_lane], 'ShippingLaneVersion')
34320
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
34321
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
34322
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
34323
+ @shipping_lane = (x = opts.delete(:shipping_lane); x.is_a?(::Io::Flow::V0::Models::ShippingLane) ? x : ::Io::Flow::V0::Models::ShippingLane.new(x))
34324
+ end
34325
+
34326
+ def to_json
34327
+ JSON.dump(to_hash)
34328
+ end
34329
+
34330
+ def copy(incoming={})
34331
+ ShippingLaneVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34332
+ end
34333
+
34334
+ def to_hash
34335
+ {
34336
+ :id => id,
34337
+ :timestamp => timestamp,
34338
+ :type => type.value,
34339
+ :shipping_lane => shipping_lane.to_hash
34340
+ }
34341
+ end
34342
+
34343
+ end
34344
+
32675
34345
  # Represents information about a client-facilitated shipment where the shipping
32676
34346
  # label and fulfillment was not handled by Flow. For merchant-of-record and
32677
34347
  # tracking purposes, clients doing their own shipping will need to notify Flow
32678
34348
  # of shipped packages.
32679
34349
  class ShippingNotification
32680
34350
 
32681
- attr_reader :id, :key, :attributes, :carrier_tracking_number, :destination, :flow_tracking_number, :origin, :package, :service, :window, :order, :shipment_recipient
34351
+ attr_reader :id, :key, :attributes, :carrier_tracking_number, :destination, :flow_tracking_number, :origin, :package, :service, :window, :order, :order_identifier, :fulfillment_key, :shipment_recipient
32682
34352
 
32683
34353
  def initialize(incoming={})
32684
34354
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -32694,6 +34364,8 @@ module Io
32694
34364
  @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
32695
34365
  @window = (x = opts.delete(:window); x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x))
32696
34366
  @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LabelOrderSummary) ? x : ::Io::Flow::V0::Models::LabelOrderSummary.new(x)))
34367
+ @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
34368
+ @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
32697
34369
  @shipment_recipient = (x = opts.delete(:shipment_recipient); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(x)))
32698
34370
  end
32699
34371
 
@@ -32718,6 +34390,8 @@ module Io
32718
34390
  :service => service.to_hash,
32719
34391
  :window => window.to_hash,
32720
34392
  :order => order.nil? ? nil : order.to_hash,
34393
+ :order_identifier => order_identifier,
34394
+ :fulfillment_key => fulfillment_key,
32721
34395
  :shipment_recipient => shipment_recipient.nil? ? nil : shipment_recipient.value
32722
34396
  }
32723
34397
  end
@@ -32783,15 +34457,14 @@ module Io
32783
34457
 
32784
34458
  end
32785
34459
 
32786
- # Provide top level localized item price.
32787
- class ShopifyLocalizedItemPrice
34460
+ class ShopifyLocalPriceMetadata
32788
34461
 
32789
- attr_reader :label
34462
+ attr_reader :price
32790
34463
 
32791
34464
  def initialize(incoming={})
32792
34465
  opts = HttpClient::Helper.symbolize_keys(incoming)
32793
- HttpClient::Preconditions.require_keys(opts, [:label], 'ShopifyLocalizedItemPrice')
32794
- @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
34466
+ HttpClient::Preconditions.require_keys(opts, [:price], 'ShopifyLocalPriceMetadata')
34467
+ @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
32795
34468
  end
32796
34469
 
32797
34470
  def to_json
@@ -32799,12 +34472,78 @@ module Io
32799
34472
  end
32800
34473
 
32801
34474
  def copy(incoming={})
32802
- ShopifyLocalizedItemPrice.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34475
+ ShopifyLocalPriceMetadata.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
32803
34476
  end
32804
34477
 
32805
34478
  def to_hash
32806
34479
  {
32807
- :label => label
34480
+ :price => price.to_hash
34481
+ }
34482
+ end
34483
+
34484
+ end
34485
+
34486
+ class ShopifyLocalizedVariant
34487
+
34488
+ attr_reader :id, :handle, :experience, :prices, :status
34489
+
34490
+ def initialize(incoming={})
34491
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34492
+ HttpClient::Preconditions.require_keys(opts, [:id, :handle, :experience, :prices, :status], 'ShopifyLocalizedVariant')
34493
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), Integer)
34494
+ @handle = HttpClient::Preconditions.assert_class('handle', opts.delete(:handle), String)
34495
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x))
34496
+ @prices = (x = opts.delete(:prices); x.is_a?(::Io::Flow::V0::Models::ShopifyLocalizedVariantPrices) ? x : ::Io::Flow::V0::Models::ShopifyLocalizedVariantPrices.new(x))
34497
+ @status = (x = opts.delete(:status); x.is_a?(::Io::Flow::V0::Models::SubcatalogItemStatus) ? x : ::Io::Flow::V0::Models::SubcatalogItemStatus.apply(x))
34498
+ end
34499
+
34500
+ def to_json
34501
+ JSON.dump(to_hash)
34502
+ end
34503
+
34504
+ def copy(incoming={})
34505
+ ShopifyLocalizedVariant.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34506
+ end
34507
+
34508
+ def to_hash
34509
+ {
34510
+ :id => id,
34511
+ :handle => handle,
34512
+ :experience => experience.to_hash,
34513
+ :prices => prices.to_hash,
34514
+ :status => status.value
34515
+ }
34516
+ end
34517
+
34518
+ end
34519
+
34520
+ class ShopifyLocalizedVariantPrices
34521
+
34522
+ attr_reader :item, :compare_at, :vat, :duty
34523
+
34524
+ def initialize(incoming={})
34525
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34526
+ HttpClient::Preconditions.require_keys(opts, [:item], 'ShopifyLocalizedVariantPrices')
34527
+ @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x))
34528
+ @compare_at = (x = opts.delete(:compare_at); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x)))
34529
+ @vat = (x = opts.delete(:vat); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x)))
34530
+ @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShopifyPrice) ? x : ::Io::Flow::V0::Models::ShopifyPrice.new(x)))
34531
+ end
34532
+
34533
+ def to_json
34534
+ JSON.dump(to_hash)
34535
+ end
34536
+
34537
+ def copy(incoming={})
34538
+ ShopifyLocalizedVariantPrices.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34539
+ end
34540
+
34541
+ def to_hash
34542
+ {
34543
+ :item => item.to_hash,
34544
+ :compare_at => compare_at.nil? ? nil : compare_at.to_hash,
34545
+ :vat => vat.nil? ? nil : vat.to_hash,
34546
+ :duty => duty.nil? ? nil : duty.to_hash
32808
34547
  }
32809
34548
  end
32810
34549
 
@@ -32813,7 +34552,7 @@ module Io
32813
34552
  # Model to represent details available in an order metafield.
32814
34553
  class ShopifyOrderMetafieldValue
32815
34554
 
32816
- attr_reader :merchant_of_record, :items, :prices, :total, :flow_order_id
34555
+ attr_reader :merchant_of_record, :items, :prices, :total, :flow_order_id, :incoterm
32817
34556
 
32818
34557
  def initialize(incoming={})
32819
34558
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -32823,6 +34562,7 @@ module Io
32823
34562
  @prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderPriceDetail) ? x : ::Io::Flow::V0::Models::OrderPriceDetail.new(x)) }
32824
34563
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::LocalizedTotal) ? x : ::Io::Flow::V0::Models::LocalizedTotal.new(x))
32825
34564
  @flow_order_id = (x = opts.delete(:flow_order_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('flow_order_id', x, String))
34565
+ @incoterm = (x = opts.delete(:incoterm); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Incoterm) ? x : ::Io::Flow::V0::Models::Incoterm.apply(x)))
32826
34566
  end
32827
34567
 
32828
34568
  def to_json
@@ -32839,23 +34579,27 @@ module Io
32839
34579
  :items => items.map { |o| o.to_hash },
32840
34580
  :prices => prices.map { |o| o.to_hash },
32841
34581
  :total => total.to_hash,
32842
- :flow_order_id => flow_order_id
34582
+ :flow_order_id => flow_order_id,
34583
+ :incoterm => incoterm.nil? ? nil : incoterm.value
32843
34584
  }
32844
34585
  end
32845
34586
 
32846
34587
  end
32847
34588
 
32848
- # Representation of a localized price type.
32849
- class ShopifyPriceLabel
34589
+ class ShopifyPrice
32850
34590
 
32851
- attr_reader :key, :label, :name
34591
+ attr_reader :name, :amount, :cents, :currency, :label, :includes, :local
32852
34592
 
32853
34593
  def initialize(incoming={})
32854
34594
  opts = HttpClient::Helper.symbolize_keys(incoming)
32855
- HttpClient::Preconditions.require_keys(opts, [:key, :label], 'ShopifyPriceLabel')
32856
- @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
34595
+ HttpClient::Preconditions.require_keys(opts, [:name, :amount, :cents, :currency, :label], 'ShopifyPrice')
34596
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
34597
+ @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
34598
+ @cents = HttpClient::Preconditions.assert_class('cents', opts.delete(:cents), Numeric)
34599
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
32857
34600
  @label = HttpClient::Preconditions.assert_class('label', opts.delete(:label), String)
32858
- @name = (x = opts.delete(:name); x.nil? ? nil : HttpClient::Preconditions.assert_class('name', x, String))
34601
+ @includes = (x = opts.delete(:includes); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::IncludedLevies) ? x : ::Io::Flow::V0::Models::IncludedLevies.new(x)))
34602
+ @local = (x = opts.delete(:local); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShopifyLocalPriceMetadata) ? x : ::Io::Flow::V0::Models::ShopifyLocalPriceMetadata.new(x)))
32859
34603
  end
32860
34604
 
32861
34605
  def to_json
@@ -32863,14 +34607,18 @@ module Io
32863
34607
  end
32864
34608
 
32865
34609
  def copy(incoming={})
32866
- ShopifyPriceLabel.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34610
+ ShopifyPrice.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
32867
34611
  end
32868
34612
 
32869
34613
  def to_hash
32870
34614
  {
32871
- :key => key,
34615
+ :name => name,
34616
+ :amount => amount,
34617
+ :cents => cents,
34618
+ :currency => currency,
32872
34619
  :label => label,
32873
- :name => name
34620
+ :includes => includes.nil? ? nil : includes.to_hash,
34621
+ :local => local.nil? ? nil : local.to_hash
32874
34622
  }
32875
34623
  end
32876
34624
 
@@ -32935,35 +34683,6 @@ module Io
32935
34683
 
32936
34684
  end
32937
34685
 
32938
- # Model to represent display details for localized prices.
32939
- class ShopifyVariantMetafieldValue
32940
-
32941
- attr_reader :localized_item_price, :prices
32942
-
32943
- def initialize(incoming={})
32944
- opts = HttpClient::Helper.symbolize_keys(incoming)
32945
- HttpClient::Preconditions.require_keys(opts, [:localized_item_price, :prices], 'ShopifyVariantMetafieldValue')
32946
- @localized_item_price = (x = opts.delete(:localized_item_price); x.is_a?(::Io::Flow::V0::Models::ShopifyLocalizedItemPrice) ? x : ::Io::Flow::V0::Models::ShopifyLocalizedItemPrice.new(x))
32947
- @prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ShopifyPriceLabel) ? x : ::Io::Flow::V0::Models::ShopifyPriceLabel.new(x)) }
32948
- end
32949
-
32950
- def to_json
32951
- JSON.dump(to_hash)
32952
- end
32953
-
32954
- def copy(incoming={})
32955
- ShopifyVariantMetafieldValue.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
32956
- end
32957
-
32958
- def to_hash
32959
- {
32960
- :localized_item_price => localized_item_price.to_hash,
32961
- :prices => prices.map { |o| o.to_hash }
32962
- }
32963
- end
32964
-
32965
- end
32966
-
32967
34686
  # Simplified form for notifying Flow of a Fulfillment shipped entirely in a
32968
34687
  # single tracked package.
32969
34688
  class SinglePackageShippingNotificationForm < ShippingNotificationForm
@@ -33131,6 +34850,64 @@ module Io
33131
34850
 
33132
34851
  end
33133
34852
 
34853
+ # Stripe authentication data.
34854
+ class StripeAuthenticationData < GatewayAuthenticationData
34855
+
34856
+ attr_reader :secret_key_reference
34857
+
34858
+ def initialize(incoming={})
34859
+ super(:discriminator => GatewayAuthenticationData::Types::STRIPE_AUTHENTICATION_DATA)
34860
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34861
+ HttpClient::Preconditions.require_keys(opts, [:secret_key_reference], 'StripeAuthenticationData')
34862
+ @secret_key_reference = HttpClient::Preconditions.assert_class('secret_key_reference', opts.delete(:secret_key_reference), String)
34863
+ end
34864
+
34865
+ def to_json
34866
+ JSON.dump(to_hash)
34867
+ end
34868
+
34869
+ def copy(incoming={})
34870
+ StripeAuthenticationData.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34871
+ end
34872
+
34873
+ def subtype_to_hash
34874
+ {
34875
+ :secret_key_reference => secret_key_reference
34876
+ }
34877
+ end
34878
+
34879
+ end
34880
+
34881
+ # Used to specify Stripe API secret key.
34882
+ class StripeAuthenticationDataForm < GatewayAuthenticationDataForm
34883
+
34884
+ attr_reader :account_id, :secret_key
34885
+
34886
+ def initialize(incoming={})
34887
+ super(:discriminator => GatewayAuthenticationDataForm::Types::STRIPE_AUTHENTICATION_DATA_FORM)
34888
+ opts = HttpClient::Helper.symbolize_keys(incoming)
34889
+ HttpClient::Preconditions.require_keys(opts, [:account_id, :secret_key], 'StripeAuthenticationDataForm')
34890
+ @account_id = HttpClient::Preconditions.assert_class('account_id', opts.delete(:account_id), String)
34891
+ @secret_key = HttpClient::Preconditions.assert_class('secret_key', opts.delete(:secret_key), String)
34892
+ end
34893
+
34894
+ def to_json
34895
+ JSON.dump(to_hash)
34896
+ end
34897
+
34898
+ def copy(incoming={})
34899
+ StripeAuthenticationDataForm.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
34900
+ end
34901
+
34902
+ def subtype_to_hash
34903
+ {
34904
+ :account_id => account_id,
34905
+ :secret_key => secret_key
34906
+ }
34907
+ end
34908
+
34909
+ end
34910
+
33134
34911
  # A configuration with custom query to select a subset of master catalog items
33135
34912
  # for a localized experience
33136
34913
  class Subcatalog < ExpandableSubcatalog
@@ -34040,14 +35817,13 @@ module Io
34040
35817
  # Express tier, Economy tier
34041
35818
  class Tier
34042
35819
 
34043
- attr_reader :id, :direction, :experience, :integration, :name, :rules, :services, :strategy, :visibility, :currency, :description, :display
35820
+ attr_reader :id, :direction, :integration, :name, :rules, :services, :strategy, :visibility, :currency, :description, :display, :experience, :shipping_lane
34044
35821
 
34045
35822
  def initialize(incoming={})
34046
35823
  opts = HttpClient::Helper.symbolize_keys(incoming)
34047
- HttpClient::Preconditions.require_keys(opts, [:id, :experience, :integration, :name, :rules, :services, :strategy, :visibility], 'Tier')
35824
+ HttpClient::Preconditions.require_keys(opts, [:id, :integration, :name, :rules, :services, :strategy, :visibility, :experience], 'Tier')
34048
35825
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
34049
35826
  @direction = (x = (x = opts.delete(:direction); x.nil? ? "outbound" : x); x.is_a?(::Io::Flow::V0::Models::TierDirection) ? x : ::Io::Flow::V0::Models::TierDirection.apply(x))
34050
- @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::FulfillmentExperienceReference) ? x : ::Io::Flow::V0::Models::FulfillmentExperienceReference.new(x))
34051
35827
  @integration = (x = opts.delete(:integration); x.is_a?(::Io::Flow::V0::Models::ShipmentIntegrationType) ? x : ::Io::Flow::V0::Models::ShipmentIntegrationType.apply(x))
34052
35828
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
34053
35829
  @rules = HttpClient::Preconditions.assert_class('rules', opts.delete(:rules), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TierRule) ? x : ::Io::Flow::V0::Models::TierRule.new(x)) }
@@ -34057,6 +35833,8 @@ module Io
34057
35833
  @currency = (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String))
34058
35834
  @description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
34059
35835
  @display = (x = opts.delete(:display); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierDisplay) ? x : ::Io::Flow::V0::Models::TierDisplay.new(x)))
35836
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::FulfillmentExperienceReference) ? x : ::Io::Flow::V0::Models::FulfillmentExperienceReference.new(x))
35837
+ @shipping_lane = (x = opts.delete(:shipping_lane); x.nil? ? nil : HttpClient::Preconditions.assert_class('shipping_lane', x, String))
34060
35838
  end
34061
35839
 
34062
35840
  def to_json
@@ -34071,7 +35849,6 @@ module Io
34071
35849
  {
34072
35850
  :id => id,
34073
35851
  :direction => direction.value,
34074
- :experience => experience.to_hash,
34075
35852
  :integration => integration.value,
34076
35853
  :name => name,
34077
35854
  :rules => rules.map { |o| o.to_hash },
@@ -34080,7 +35857,9 @@ module Io
34080
35857
  :visibility => visibility.value,
34081
35858
  :currency => currency,
34082
35859
  :description => description,
34083
- :display => display.nil? ? nil : display.to_hash
35860
+ :display => display.nil? ? nil : display.to_hash,
35861
+ :experience => experience.to_hash,
35862
+ :shipping_lane => shipping_lane
34084
35863
  }
34085
35864
  end
34086
35865
 
@@ -34295,13 +36074,12 @@ module Io
34295
36074
  # Express tier, Economy tier
34296
36075
  class TierForm
34297
36076
 
34298
- attr_reader :currency, :experience, :integration, :name, :rules, :services, :strategy, :visibility, :description, :direction, :display
36077
+ attr_reader :currency, :integration, :name, :rules, :services, :strategy, :visibility, :description, :direction, :display, :experience, :shipping_lane
34299
36078
 
34300
36079
  def initialize(incoming={})
34301
36080
  opts = HttpClient::Helper.symbolize_keys(incoming)
34302
- HttpClient::Preconditions.require_keys(opts, [:currency, :experience, :integration, :name, :rules, :services, :strategy, :visibility], 'TierForm')
36081
+ HttpClient::Preconditions.require_keys(opts, [:currency, :integration, :name, :rules, :services, :strategy, :visibility, :experience], 'TierForm')
34303
36082
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
34304
- @experience = HttpClient::Preconditions.assert_class('experience', opts.delete(:experience), String)
34305
36083
  @integration = (x = opts.delete(:integration); x.is_a?(::Io::Flow::V0::Models::ShipmentIntegrationType) ? x : ::Io::Flow::V0::Models::ShipmentIntegrationType.apply(x))
34306
36084
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
34307
36085
  @rules = HttpClient::Preconditions.assert_class('rules', opts.delete(:rules), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::TierRuleForm) ? x : ::Io::Flow::V0::Models::TierRuleForm.new(x)) }
@@ -34311,6 +36089,8 @@ module Io
34311
36089
  @description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
34312
36090
  @direction = (x = opts.delete(:direction); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierDirection) ? x : ::Io::Flow::V0::Models::TierDirection.apply(x)))
34313
36091
  @display = (x = opts.delete(:display); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::TierDisplayForm) ? x : ::Io::Flow::V0::Models::TierDisplayForm.new(x)))
36092
+ @experience = HttpClient::Preconditions.assert_class('experience', opts.delete(:experience), String)
36093
+ @shipping_lane = (x = opts.delete(:shipping_lane); x.nil? ? nil : HttpClient::Preconditions.assert_class('shipping_lane', x, String))
34314
36094
  end
34315
36095
 
34316
36096
  def to_json
@@ -34324,7 +36104,6 @@ module Io
34324
36104
  def to_hash
34325
36105
  {
34326
36106
  :currency => currency,
34327
- :experience => experience,
34328
36107
  :integration => integration.value,
34329
36108
  :name => name,
34330
36109
  :rules => rules.map { |o| o.to_hash },
@@ -34333,7 +36112,9 @@ module Io
34333
36112
  :visibility => visibility.value,
34334
36113
  :description => description,
34335
36114
  :direction => direction.nil? ? nil : direction.value,
34336
- :display => display.nil? ? nil : display.to_hash
36115
+ :display => display.nil? ? nil : display.to_hash,
36116
+ :experience => experience,
36117
+ :shipping_lane => shipping_lane
34337
36118
  }
34338
36119
  end
34339
36120
 
@@ -35653,6 +37434,38 @@ module Io
35653
37434
 
35654
37435
  end
35655
37436
 
37437
+ class VirtualCardCaptureVersion
37438
+
37439
+ attr_reader :id, :timestamp, :type, :virtual_card_capture
37440
+
37441
+ def initialize(incoming={})
37442
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37443
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :virtual_card_capture], 'VirtualCardCaptureVersion')
37444
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
37445
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
37446
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
37447
+ @virtual_card_capture = (x = opts.delete(:virtual_card_capture); x.is_a?(::Io::Flow::V0::Models::VirtualCardCapture) ? x : ::Io::Flow::V0::Models::VirtualCardCapture.new(x))
37448
+ end
37449
+
37450
+ def to_json
37451
+ JSON.dump(to_hash)
37452
+ end
37453
+
37454
+ def copy(incoming={})
37455
+ VirtualCardCaptureVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37456
+ end
37457
+
37458
+ def to_hash
37459
+ {
37460
+ :id => id,
37461
+ :timestamp => timestamp,
37462
+ :type => type.value,
37463
+ :virtual_card_capture => virtual_card_capture.to_hash
37464
+ }
37465
+ end
37466
+
37467
+ end
37468
+
35656
37469
  class VirtualCardForm
35657
37470
 
35658
37471
  attr_reader :limit, :attributes
@@ -35813,6 +37626,70 @@ module Io
35813
37626
 
35814
37627
  end
35815
37628
 
37629
+ class VirtualCardRefundVersion
37630
+
37631
+ attr_reader :id, :timestamp, :type, :virtual_card_refund
37632
+
37633
+ def initialize(incoming={})
37634
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37635
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :virtual_card_refund], 'VirtualCardRefundVersion')
37636
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
37637
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
37638
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
37639
+ @virtual_card_refund = (x = opts.delete(:virtual_card_refund); x.is_a?(::Io::Flow::V0::Models::VirtualCardRefund) ? x : ::Io::Flow::V0::Models::VirtualCardRefund.new(x))
37640
+ end
37641
+
37642
+ def to_json
37643
+ JSON.dump(to_hash)
37644
+ end
37645
+
37646
+ def copy(incoming={})
37647
+ VirtualCardRefundVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37648
+ end
37649
+
37650
+ def to_hash
37651
+ {
37652
+ :id => id,
37653
+ :timestamp => timestamp,
37654
+ :type => type.value,
37655
+ :virtual_card_refund => virtual_card_refund.to_hash
37656
+ }
37657
+ end
37658
+
37659
+ end
37660
+
37661
+ class VirtualCardVersion
37662
+
37663
+ attr_reader :id, :timestamp, :type, :virtual_card
37664
+
37665
+ def initialize(incoming={})
37666
+ opts = HttpClient::Helper.symbolize_keys(incoming)
37667
+ HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :virtual_card], 'VirtualCardVersion')
37668
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
37669
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
37670
+ @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
37671
+ @virtual_card = (x = opts.delete(:virtual_card); x.is_a?(::Io::Flow::V0::Models::VirtualCard) ? x : ::Io::Flow::V0::Models::VirtualCard.new(x))
37672
+ end
37673
+
37674
+ def to_json
37675
+ JSON.dump(to_hash)
37676
+ end
37677
+
37678
+ def copy(incoming={})
37679
+ VirtualCardVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
37680
+ end
37681
+
37682
+ def to_hash
37683
+ {
37684
+ :id => id,
37685
+ :timestamp => timestamp,
37686
+ :type => type.value,
37687
+ :virtual_card => virtual_card.to_hash
37688
+ }
37689
+ end
37690
+
37691
+ end
37692
+
35816
37693
  class Webhook
35817
37694
 
35818
37695
  attr_reader :id, :url, :events