flowcommerce 0.2.63 → 0.2.64

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