flowcommerce 0.2.51 → 0.2.52

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: adafa74317f9ca0fd18641b0de9888f2c5f4eef0
4
- data.tar.gz: 06c9c49cbff0140f259255d1f844f3e3c0f6128c
3
+ metadata.gz: fe1e133e2edce54d479cb65c93db8eb32fcb670e
4
+ data.tar.gz: c985d41f766c96be0eb1902fe9b0f35327a4e77c
5
5
  SHA512:
6
- metadata.gz: 4fd4f33cd8624990d41fa7f8d99ac4f6c0bae3b173670c83067f74fa5a4e2bb7e6dc0bdcfac4078a75753d33cbad4f37ae941b3b7b3a9b20573a8b5dadd83a3e
7
- data.tar.gz: 84b754ab593e2a276f354e3fa735632b1886dac9c6b4802da21fdc91e16c3d3799c1cceb6b6dd7e23a63e750618fb0c8d0316864943563043957a21fec8e0576
6
+ metadata.gz: 84869b9058acf51e59a325098e0e8162bbd97799d7e83855b085e028114234a86db4852fcc82b062b23c6af2dcc2cb3a3946ffb895f7a98b00f28896bfe74133
7
+ data.tar.gz: 6e1489693c47af1168884147c0126eda921a693fd9c0ee4bbd4e4f3716eec26c086d903813e847533e6c671014ea2480386bc148c60faad0d9f90680e41b05d4
@@ -1,6 +1,6 @@
1
1
  # Generated by API Builder - https://www.apibuilder.io
2
2
  # Service version: 0.4.50
3
- # apibuilder:0.13.0 https://app.apibuilder.io/flow/api/0.4.50/ruby_client
3
+ # apibuilder:0.13.0 https://app.apibuilder.io/flow/api/0.4.60/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,7 +25,7 @@ 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.13.0 https://app.apibuilder.io/flow/api/0.4.50/ruby_client' unless defined?(Constants::USER_AGENT)
28
+ USER_AGENT = 'apibuilder:0.13.0 https://app.apibuilder.io/flow/api/0.4.60/ruby_client' unless defined?(Constants::USER_AGENT)
29
29
  VERSION = '0.4.50' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
@@ -76,6 +76,10 @@ module Io
76
76
  @catalogs ||= ::Io::Flow::V0::Clients::Catalogs.new(self)
77
77
  end
78
78
 
79
+ def checkout_item_contents
80
+ @checkout_item_contents ||= ::Io::Flow::V0::Clients::CheckoutItemContents.new(self)
81
+ end
82
+
79
83
  def credit_payments
80
84
  @credit_payments ||= ::Io::Flow::V0::Clients::CreditPayments.new(self)
81
85
  end
@@ -96,6 +100,10 @@ module Io
96
100
  @orders ||= ::Io::Flow::V0::Clients::Orders.new(self)
97
101
  end
98
102
 
103
+ def order_builders
104
+ @order_builders ||= ::Io::Flow::V0::Clients::OrderBuilders.new(self)
105
+ end
106
+
99
107
  def order_estimates
100
108
  @order_estimates ||= ::Io::Flow::V0::Clients::OrderEstimates.new(self)
101
109
  end
@@ -252,6 +260,10 @@ module Io
252
260
  @quotes ||= ::Io::Flow::V0::Clients::Quotes.new(self)
253
261
  end
254
262
 
263
+ def reservations
264
+ @reservations ||= ::Io::Flow::V0::Clients::Reservations.new(self)
265
+ end
266
+
255
267
  def returns
256
268
  @returns ||= ::Io::Flow::V0::Clients::Returns.new(self)
257
269
  end
@@ -439,7 +451,7 @@ module Io
439
451
  HttpClient::Preconditions.assert_class('organization', organization, String)
440
452
  HttpClient::Preconditions.assert_class('number', number, String)
441
453
  r = @client.request("/#{CGI.escape(organization)}/orders/allocations/#{CGI.escape(number)}").get
442
- ::Io::Flow::V0::Models::Allocation.new(r)
454
+ ::Io::Flow::V0::Models::AllocationV2.new(r)
443
455
  end
444
456
 
445
457
  end
@@ -459,7 +471,7 @@ module Io
459
471
  :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
460
472
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
461
473
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
462
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "key" : x), String)
474
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
463
475
  }.delete_if { |k, v| v.nil? }
464
476
  r = @client.request("/#{CGI.escape(organization)}/attributes").with_query(query).get
465
477
  r.map { |x| ::Io::Flow::V0::Models::Attribute.new(x) }
@@ -576,6 +588,30 @@ module Io
576
588
 
577
589
  end
578
590
 
591
+ class CheckoutItemContents
592
+
593
+ def initialize(client)
594
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
595
+ end
596
+
597
+ # Returns a localized view of 1 or more items in the context of checkout,
598
+ # returning data specifically related to rendering a view of an item in a cart
599
+ # or checkout page.
600
+ def get_checkout(organization, experience_key, incoming={})
601
+ HttpClient::Preconditions.assert_class('organization', organization, String)
602
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
603
+ opts = HttpClient::Helper.symbolize_keys(incoming)
604
+ query = {
605
+ :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
606
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
607
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer)
608
+ }.delete_if { |k, v| v.nil? }
609
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/item/content/checkout").with_query(query).get
610
+ r.map { |x| ::Io::Flow::V0::Models::CheckoutItemContent.new(x) }
611
+ end
612
+
613
+ end
614
+
579
615
  class CreditPayments
580
616
 
581
617
  def initialize(client)
@@ -804,6 +840,45 @@ module Io
804
840
  r.map { |x| ::Io::Flow::V0::Models::PaymentMethodRule.new(x) }
805
841
  end
806
842
 
843
+ def get_price_and_books_by_experience_key(organization, experience_key, incoming={})
844
+ HttpClient::Preconditions.assert_class('organization', organization, String)
845
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
846
+ opts = HttpClient::Helper.symbolize_keys(incoming)
847
+ query = {
848
+ :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
849
+ :price_book_key => (x = opts.delete(:price_book_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('price_book_key', x, Array).map { |v| HttpClient::Preconditions.assert_class('price_book_key', v, String) }),
850
+ :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
851
+ :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
852
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "position" : x), String)
853
+ }.delete_if { |k, v| v.nil? }
854
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_query(query).get
855
+ r.map { |x| ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x) }
856
+ end
857
+
858
+ def post_price_and_books_by_experience_key(organization, experience_key, experience_price_book_mapping_form)
859
+ HttpClient::Preconditions.assert_class('organization', organization, String)
860
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
861
+ (x = experience_price_book_mapping_form; x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMappingForm) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMappingForm.new(x))
862
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books").with_json(experience_price_book_mapping_form.to_json).post
863
+ ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(r)
864
+ end
865
+
866
+ def get_price_and_books_by_experience_key_and_key(organization, experience_key, key)
867
+ HttpClient::Preconditions.assert_class('organization', organization, String)
868
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
869
+ HttpClient::Preconditions.assert_class('key', key, String)
870
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books/#{CGI.escape(key)}").get
871
+ ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(r)
872
+ end
873
+
874
+ def delete_price_and_books_by_experience_key_and_key(organization, experience_key, key)
875
+ HttpClient::Preconditions.assert_class('organization', organization, String)
876
+ HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
877
+ HttpClient::Preconditions.assert_class('key', key, String)
878
+ r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/price/books/#{CGI.escape(key)}").delete
879
+ nil
880
+ end
881
+
807
882
  # Returns information about a specific experience.
808
883
  def get_by_key(organization, key)
809
884
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -1127,6 +1202,15 @@ module Io
1127
1202
  nil
1128
1203
  end
1129
1204
 
1205
+ # Order allocations provide a granular view of an order that is targeted for
1206
+ # accounting / financial views of an order
1207
+ def get_allocations_by_number(organization, number)
1208
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1209
+ HttpClient::Preconditions.assert_class('number', number, String)
1210
+ r = @client.request("/#{CGI.escape(organization)}/orders/#{CGI.escape(number)}/allocations").get
1211
+ ::Io::Flow::V0::Models::AllocationV2.new(r)
1212
+ end
1213
+
1130
1214
  # Creates an authorization, automatically associating to this order.
1131
1215
  def post_authorizations_by_number(organization, number, authorization_form, incoming={})
1132
1216
  HttpClient::Preconditions.assert_class('organization', organization, String)
@@ -1223,6 +1307,47 @@ module Io
1223
1307
 
1224
1308
  end
1225
1309
 
1310
+ class OrderBuilders
1311
+
1312
+ def initialize(client)
1313
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
1314
+ end
1315
+
1316
+ def post(organization, order_put_form, incoming={})
1317
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1318
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1319
+ query = {
1320
+ :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1321
+ :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1322
+ :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1323
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1324
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1325
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1326
+ }.delete_if { |k, v| v.nil? }
1327
+ (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1328
+ r = @client.request("/#{CGI.escape(organization)}/order/builders").with_query(query).with_json(order_put_form.to_json).post
1329
+ ::Io::Flow::V0::Models::OrderBuilder.new(r)
1330
+ end
1331
+
1332
+ def put_by_number(organization, number, order_put_form, incoming={})
1333
+ HttpClient::Preconditions.assert_class('organization', organization, String)
1334
+ HttpClient::Preconditions.assert_class('number', number, String)
1335
+ opts = HttpClient::Helper.symbolize_keys(incoming)
1336
+ query = {
1337
+ :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)),
1338
+ :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)),
1339
+ :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)),
1340
+ :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)),
1341
+ :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)),
1342
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
1343
+ }.delete_if { |k, v| v.nil? }
1344
+ (x = order_put_form; x.is_a?(::Io::Flow::V0::Models::OrderPutForm) ? x : ::Io::Flow::V0::Models::OrderPutForm.new(x))
1345
+ r = @client.request("/#{CGI.escape(organization)}/order/builders/#{CGI.escape(number)}").with_query(query).with_json(order_put_form.to_json).put
1346
+ ::Io::Flow::V0::Models::OrderBuilder.new(r)
1347
+ end
1348
+
1349
+ end
1350
+
1226
1351
  class OrderEstimates
1227
1352
 
1228
1353
  def initialize(client)
@@ -1591,55 +1716,56 @@ module Io
1591
1716
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
1592
1717
  end
1593
1718
 
1594
- def get(organization, key, incoming={})
1719
+ def get(organization, price_book_key, incoming={})
1595
1720
  HttpClient::Preconditions.assert_class('organization', organization, String)
1596
- HttpClient::Preconditions.assert_class('key', key, String)
1721
+ HttpClient::Preconditions.assert_class('price_book_key', price_book_key, String)
1597
1722
  opts = HttpClient::Helper.symbolize_keys(incoming)
1598
1723
  query = {
1599
1724
  :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
1725
+ :key => (x = opts.delete(:key); x.nil? ? nil : HttpClient::Preconditions.assert_class('key', x, Array).map { |v| HttpClient::Preconditions.assert_class('key', v, String) }),
1600
1726
  :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, Array).map { |v| HttpClient::Preconditions.assert_class('number', v, String) }),
1601
1727
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
1602
1728
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
1603
1729
  :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
1604
1730
  }.delete_if { |k, v| v.nil? }
1605
- r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(key)}/items").with_query(query).get
1731
+ r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(price_book_key)}/items").with_query(query).get
1606
1732
  r.map { |x| ::Io::Flow::V0::Models::PriceBookItem.new(x) }
1607
1733
  end
1608
1734
 
1609
1735
  # Create a price book item.
1610
- def post(organization, key, price_book_item_form)
1736
+ def post(organization, price_book_key, price_book_item_form)
1611
1737
  HttpClient::Preconditions.assert_class('organization', organization, String)
1612
- HttpClient::Preconditions.assert_class('key', key, String)
1738
+ HttpClient::Preconditions.assert_class('price_book_key', price_book_key, String)
1613
1739
  (x = price_book_item_form; x.is_a?(::Io::Flow::V0::Models::PriceBookItemForm) ? x : ::Io::Flow::V0::Models::PriceBookItemForm.new(x))
1614
- r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(key)}/items").with_json(price_book_item_form.to_json).post
1740
+ r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(price_book_key)}/items").with_json(price_book_item_form.to_json).post
1615
1741
  ::Io::Flow::V0::Models::PriceBookItem.new(r)
1616
1742
  end
1617
1743
 
1618
1744
  # Returns information about a specific price book item.
1619
- def get_by_id(organization, key, id)
1745
+ def get_by_key(organization, price_book_key, key)
1620
1746
  HttpClient::Preconditions.assert_class('organization', organization, String)
1747
+ HttpClient::Preconditions.assert_class('price_book_key', price_book_key, String)
1621
1748
  HttpClient::Preconditions.assert_class('key', key, String)
1622
- HttpClient::Preconditions.assert_class('id', id, String)
1623
- r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(key)}/items/#{CGI.escape(id)}").get
1749
+ r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(price_book_key)}/items/#{CGI.escape(key)}").get
1624
1750
  ::Io::Flow::V0::Models::PriceBookItem.new(r)
1625
1751
  end
1626
1752
 
1627
1753
  # Create or update a price book item.
1628
- def put_by_id(organization, key, id, price_book_item_form)
1754
+ def put_by_key(organization, price_book_key, key, price_book_item_form)
1629
1755
  HttpClient::Preconditions.assert_class('organization', organization, String)
1756
+ HttpClient::Preconditions.assert_class('price_book_key', price_book_key, String)
1630
1757
  HttpClient::Preconditions.assert_class('key', key, String)
1631
- HttpClient::Preconditions.assert_class('id', id, String)
1632
1758
  (x = price_book_item_form; x.is_a?(::Io::Flow::V0::Models::PriceBookItemForm) ? x : ::Io::Flow::V0::Models::PriceBookItemForm.new(x))
1633
- r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(key)}/items/#{CGI.escape(id)}").with_json(price_book_item_form.to_json).put
1759
+ r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(price_book_key)}/items/#{CGI.escape(key)}").with_json(price_book_item_form.to_json).put
1634
1760
  ::Io::Flow::V0::Models::PriceBookItem.new(r)
1635
1761
  end
1636
1762
 
1637
1763
  # Deletes the specified price book item
1638
- def delete_by_id(organization, key, id)
1764
+ def delete_by_key(organization, price_book_key, key)
1639
1765
  HttpClient::Preconditions.assert_class('organization', organization, String)
1766
+ HttpClient::Preconditions.assert_class('price_book_key', price_book_key, String)
1640
1767
  HttpClient::Preconditions.assert_class('key', key, String)
1641
- HttpClient::Preconditions.assert_class('id', id, String)
1642
- r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(key)}/items/#{CGI.escape(id)}").delete
1768
+ r = @client.request("/#{CGI.escape(organization)}/price/books/#{CGI.escape(price_book_key)}/items/#{CGI.escape(key)}").delete
1643
1769
  nil
1644
1770
  end
1645
1771
 
@@ -3390,6 +3516,43 @@ module Io
3390
3516
 
3391
3517
  end
3392
3518
 
3519
+ class Reservations
3520
+
3521
+ def initialize(client)
3522
+ @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
3523
+ end
3524
+
3525
+ def post(organization, reservation_form)
3526
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3527
+ (x = reservation_form; x.is_a?(::Io::Flow::V0::Models::ReservationForm) ? x : ::Io::Flow::V0::Models::ReservationForm.new(x))
3528
+ r = @client.request("/#{CGI.escape(organization)}/inventory/reservation").with_json(reservation_form.to_json).post
3529
+ ::Io::Flow::V0::Models::Reservation.new(r)
3530
+ end
3531
+
3532
+ def get_by_key(organization, key)
3533
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3534
+ HttpClient::Preconditions.assert_class('key', key, String)
3535
+ r = @client.request("/#{CGI.escape(organization)}/inventory/reservation/#{CGI.escape(key)}").get
3536
+ ::Io::Flow::V0::Models::Reservation.new(r)
3537
+ end
3538
+
3539
+ def put_by_key(organization, key, reservation_form)
3540
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3541
+ HttpClient::Preconditions.assert_class('key', key, String)
3542
+ (x = reservation_form; x.is_a?(::Io::Flow::V0::Models::ReservationForm) ? x : ::Io::Flow::V0::Models::ReservationForm.new(x))
3543
+ r = @client.request("/#{CGI.escape(organization)}/inventory/reservation/#{CGI.escape(key)}").with_json(reservation_form.to_json).put
3544
+ ::Io::Flow::V0::Models::Reservation.new(r)
3545
+ end
3546
+
3547
+ def delete_by_key(organization, key)
3548
+ HttpClient::Preconditions.assert_class('organization', organization, String)
3549
+ HttpClient::Preconditions.assert_class('key', key, String)
3550
+ r = @client.request("/#{CGI.escape(organization)}/inventory/reservation/#{CGI.escape(key)}").delete
3551
+ nil
3552
+ end
3553
+
3554
+ end
3555
+
3393
3556
  class Returns
3394
3557
 
3395
3558
  def initialize(client)
@@ -3482,10 +3645,14 @@ module Io
3482
3645
  r.map { |x| ::Io::Flow::V0::Models::ShippingLabel.new(x) }
3483
3646
  end
3484
3647
 
3485
- def post(organization, shipping_label_form)
3648
+ def post(organization, shipping_label_form, incoming={})
3486
3649
  HttpClient::Preconditions.assert_class('organization', organization, String)
3650
+ opts = HttpClient::Helper.symbolize_keys(incoming)
3651
+ query = {
3652
+ :show_commercial_invoice => (x = opts.delete(:show_commercial_invoice); x.nil? ? nil : HttpClient::Preconditions.assert_boolean('show_commercial_invoice', x))
3653
+ }.delete_if { |k, v| v.nil? }
3487
3654
  (x = shipping_label_form; x.is_a?(::Io::Flow::V0::Models::ShippingLabelForm) ? x : ::Io::Flow::V0::Models::ShippingLabelForm.new(x))
3488
- r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_json(shipping_label_form.to_json).post
3655
+ r = @client.request("/#{CGI.escape(organization)}/shipping_labels").with_query(query).with_json(shipping_label_form.to_json).post
3489
3656
  ::Io::Flow::V0::Models::ShippingLabel.new(r)
3490
3657
  end
3491
3658
 
@@ -5659,6 +5826,8 @@ module Io
5659
5826
  module Types
5660
5827
  ATTRIBUTE_UPSERTED = 'attribute_upserted' unless defined?(ATTRIBUTE_UPSERTED)
5661
5828
  ATTRIBUTE_DELETED = 'attribute_deleted' unless defined?(ATTRIBUTE_DELETED)
5829
+ ATTRIBUTE_UPSERTED_V2 = 'attribute_upserted_v2' unless defined?(ATTRIBUTE_UPSERTED_V2)
5830
+ ATTRIBUTE_DELETED_V2 = 'attribute_deleted_v2' unless defined?(ATTRIBUTE_DELETED_V2)
5662
5831
  CATALOG_UPSERTED = 'catalog_upserted' unless defined?(CATALOG_UPSERTED)
5663
5832
  CATALOG_DELETED = 'catalog_deleted' unless defined?(CATALOG_DELETED)
5664
5833
  SUBCATALOG_UPSERTED = 'subcatalog_upserted' unless defined?(SUBCATALOG_UPSERTED)
@@ -5673,10 +5842,14 @@ module Io
5673
5842
  AVAILABLE_PROMOTIONS_DELETED = 'available_promotions_deleted' unless defined?(AVAILABLE_PROMOTIONS_DELETED)
5674
5843
  ALLOCATION_DELETED = 'allocation_deleted' unless defined?(ALLOCATION_DELETED)
5675
5844
  ALLOCATION_UPSERTED = 'allocation_upserted' unless defined?(ALLOCATION_UPSERTED)
5845
+ ALLOCATION_DELETED_V2 = 'allocation_deleted_v2' unless defined?(ALLOCATION_DELETED_V2)
5846
+ ALLOCATION_UPSERTED_V2 = 'allocation_upserted_v2' unless defined?(ALLOCATION_UPSERTED_V2)
5676
5847
  CURRENCY_FORMAT_DELETED = 'currency_format_deleted' unless defined?(CURRENCY_FORMAT_DELETED)
5677
5848
  CURRENCY_FORMAT_UPSERTED = 'currency_format_upserted' unless defined?(CURRENCY_FORMAT_UPSERTED)
5678
5849
  EXPERIENCE_DELETED = 'experience_deleted' unless defined?(EXPERIENCE_DELETED)
5679
5850
  EXPERIENCE_UPSERTED = 'experience_upserted' unless defined?(EXPERIENCE_UPSERTED)
5851
+ EXPERIENCE_PRICE_BOOK_MAPPING_DELETED = 'experience_price_book_mapping_deleted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_DELETED)
5852
+ EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED = 'experience_price_book_mapping_upserted' unless defined?(EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
5680
5853
  ITEM_MARGIN_DELETED = 'item_margin_deleted' unless defined?(ITEM_MARGIN_DELETED)
5681
5854
  ITEM_MARGIN_UPSERTED = 'item_margin_upserted' unless defined?(ITEM_MARGIN_UPSERTED)
5682
5855
  ITEM_SALES_MARGIN_DELETED = 'item_sales_margin_deleted' unless defined?(ITEM_SALES_MARGIN_DELETED)
@@ -5741,6 +5914,7 @@ module Io
5741
5914
  PAYMENT_DELETED = 'payment_deleted' unless defined?(PAYMENT_DELETED)
5742
5915
  REFUND_UPSERTED = 'refund_upserted' unless defined?(REFUND_UPSERTED)
5743
5916
  REFUND_UPSERTED_V2 = 'refund_upserted_v2' unless defined?(REFUND_UPSERTED_V2)
5917
+ REFUND_CAPTURE_UPSERTED_V2 = 'refund_capture_upserted_v2' unless defined?(REFUND_CAPTURE_UPSERTED_V2)
5744
5918
  REVERSAL_UPSERTED = 'reversal_upserted' unless defined?(REVERSAL_UPSERTED)
5745
5919
  PRICE_BOOK_UPSERTED = 'price_book_upserted' unless defined?(PRICE_BOOK_UPSERTED)
5746
5920
  PRICE_BOOK_DELETED = 'price_book_deleted' unless defined?(PRICE_BOOK_DELETED)
@@ -5765,7 +5939,7 @@ module Io
5765
5939
  end
5766
5940
 
5767
5941
  def subtype_to_hash
5768
- raise 'Cannot serialize an instance of event directly - must use one of the specific types: attribute_upserted, attribute_deleted, catalog_upserted, catalog_deleted, subcatalog_upserted, subcatalog_deleted, catalog_item_upserted, catalog_item_deleted, subcatalog_item_upserted, subcatalog_item_deleted, rate_deleted, rate_upserted, available_promotions_upserted, available_promotions_deleted, allocation_deleted, allocation_upserted, currency_format_deleted, currency_format_upserted, experience_deleted, experience_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, 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, reversal_upserted, 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'
5942
+ 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, rate_deleted, rate_upserted, available_promotions_upserted, available_promotions_deleted, allocation_deleted, allocation_upserted, 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, 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, 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'
5769
5943
  end
5770
5944
 
5771
5945
  def to_hash
@@ -5781,6 +5955,8 @@ module Io
5781
5955
  case discriminator
5782
5956
  when Types::ATTRIBUTE_UPSERTED; AttributeUpserted.new(hash)
5783
5957
  when Types::ATTRIBUTE_DELETED; AttributeDeleted.new(hash)
5958
+ when Types::ATTRIBUTE_UPSERTED_V2; AttributeUpsertedV2.new(hash)
5959
+ when Types::ATTRIBUTE_DELETED_V2; AttributeDeletedV2.new(hash)
5784
5960
  when Types::CATALOG_UPSERTED; CatalogUpserted.new(hash)
5785
5961
  when Types::CATALOG_DELETED; CatalogDeleted.new(hash)
5786
5962
  when Types::SUBCATALOG_UPSERTED; SubcatalogUpserted.new(hash)
@@ -5795,10 +5971,14 @@ module Io
5795
5971
  when Types::AVAILABLE_PROMOTIONS_DELETED; AvailablePromotionsDeleted.new(hash)
5796
5972
  when Types::ALLOCATION_DELETED; AllocationDeleted.new(hash)
5797
5973
  when Types::ALLOCATION_UPSERTED; AllocationUpserted.new(hash)
5974
+ when Types::ALLOCATION_DELETED_V2; AllocationDeletedV2.new(hash)
5975
+ when Types::ALLOCATION_UPSERTED_V2; AllocationUpsertedV2.new(hash)
5798
5976
  when Types::CURRENCY_FORMAT_DELETED; CurrencyFormatDeleted.new(hash)
5799
5977
  when Types::CURRENCY_FORMAT_UPSERTED; CurrencyFormatUpserted.new(hash)
5800
5978
  when Types::EXPERIENCE_DELETED; ExperienceDeleted.new(hash)
5801
5979
  when Types::EXPERIENCE_UPSERTED; ExperienceUpserted.new(hash)
5980
+ when Types::EXPERIENCE_PRICE_BOOK_MAPPING_DELETED; ExperiencePriceBookMappingDeleted.new(hash)
5981
+ when Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED; ExperiencePriceBookMappingUpserted.new(hash)
5802
5982
  when Types::ITEM_MARGIN_DELETED; ItemMarginDeleted.new(hash)
5803
5983
  when Types::ITEM_MARGIN_UPSERTED; ItemMarginUpserted.new(hash)
5804
5984
  when Types::ITEM_SALES_MARGIN_DELETED; ItemSalesMarginDeleted.new(hash)
@@ -5860,6 +6040,7 @@ module Io
5860
6040
  when Types::PAYMENT_DELETED; PaymentDeleted.new(hash)
5861
6041
  when Types::REFUND_UPSERTED; RefundUpserted.new(hash)
5862
6042
  when Types::REFUND_UPSERTED_V2; RefundUpsertedV2.new(hash)
6043
+ when Types::REFUND_CAPTURE_UPSERTED_V2; RefundCaptureUpsertedV2.new(hash)
5863
6044
  when Types::REVERSAL_UPSERTED; ReversalUpserted.new(hash)
5864
6045
  when Types::PRICE_BOOK_UPSERTED; PriceBookUpserted.new(hash)
5865
6046
  when Types::PRICE_BOOK_DELETED; PriceBookDeleted.new(hash)
@@ -7177,6 +7358,68 @@ module Io
7177
7358
 
7178
7359
  end
7179
7360
 
7361
+ # Types of failed inventory reservation reasons
7362
+ class ReservationError
7363
+
7364
+ module Types
7365
+ # Inventory is not available for all or subset of item quantities requested
7366
+ NO_INVENTORY_RESERVATION_ERROR = 'no_inventory' unless defined?(NO_INVENTORY_RESERVATION_ERROR)
7367
+ end
7368
+
7369
+ attr_reader :code
7370
+
7371
+ def initialize(incoming={})
7372
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7373
+ HttpClient::Preconditions.require_keys(opts, [:code], 'ReservationError')
7374
+ @code = HttpClient::Preconditions.assert_class('code', opts.delete(:code), String)
7375
+ end
7376
+
7377
+ def subtype_to_hash
7378
+ raise 'Cannot serialize an instance of reservation_error directly - must use one of the specific types: no_inventory_reservation_error'
7379
+ end
7380
+
7381
+ def to_hash
7382
+ subtype_to_hash.merge(:code => @code)
7383
+ end
7384
+
7385
+ def ReservationError.from_json(hash)
7386
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
7387
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:code].to_s.strip
7388
+ if discriminator.empty?
7389
+ raise "Union type[reservation_error] requires a field named 'code'"
7390
+ end
7391
+ case discriminator
7392
+ when Types::NO_INVENTORY_RESERVATION_ERROR; NoInventoryReservationError.new(hash)
7393
+ else ReservationErrorUndefinedType.new(:code => discriminator)
7394
+ end
7395
+ end
7396
+
7397
+ end
7398
+
7399
+ class ReservationErrorUndefinedType < ReservationError
7400
+
7401
+ attr_reader :name
7402
+
7403
+ def initialize(incoming={})
7404
+ super(:code => 'undefined_type')
7405
+ opts = HttpClient::Helper.symbolize_keys(incoming)
7406
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:code), String)
7407
+ end
7408
+
7409
+ def subtype_to_hash
7410
+ raise 'Unable to serialize undefined type to json'
7411
+ end
7412
+
7413
+ def copy(incoming={})
7414
+ raise 'Operation not supported for undefined type'
7415
+ end
7416
+
7417
+ def to_hash
7418
+ raise 'Operation not supported for undefined type'
7419
+ end
7420
+
7421
+ end
7422
+
7180
7423
  class Session
7181
7424
 
7182
7425
  module Types
@@ -7677,7 +7920,7 @@ module Io
7677
7920
  end
7678
7921
 
7679
7922
  def AttributeIntent.ALL
7680
- @@all ||= [AttributeIntent.brand, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.taxability]
7923
+ @@all ||= [AttributeIntent.brand, AttributeIntent.checkout_content, AttributeIntent.fulfillment_method, AttributeIntent.hazardous, AttributeIntent.price, AttributeIntent.taxability]
7681
7924
  end
7682
7925
 
7683
7926
  # Attributes with this data type imply that this is the brand name of the item
@@ -7686,6 +7929,12 @@ module Io
7686
7929
  @@_brand ||= AttributeIntent.new('brand')
7687
7930
  end
7688
7931
 
7932
+ # Checkout content attributes are included in the item content when rendered for
7933
+ # the checkout context.
7934
+ def AttributeIntent.checkout_content
7935
+ @@_checkout_content ||= AttributeIntent.new('checkout_content')
7936
+ end
7937
+
7689
7938
  # Attributes with this data type imply whether delivery is a package or digital
7690
7939
  # good.
7691
7940
  def AttributeIntent.fulfillment_method
@@ -8763,7 +9012,7 @@ module Io
8763
9012
  end
8764
9013
 
8765
9014
  def DeliveryWindowComponentSource.ALL
8766
- @@all ||= [DeliveryWindowComponentSource.flow, DeliveryWindowComponentSource.organization, DeliveryWindowComponentSource.carrier, DeliveryWindowComponentSource.center]
9015
+ @@all ||= [DeliveryWindowComponentSource.flow, DeliveryWindowComponentSource.organization, DeliveryWindowComponentSource.carrier, DeliveryWindowComponentSource.center, DeliveryWindowComponentSource.mixed]
8767
9016
  end
8768
9017
 
8769
9018
  def DeliveryWindowComponentSource.flow
@@ -8782,6 +9031,11 @@ module Io
8782
9031
  @@_center ||= DeliveryWindowComponentSource.new('center')
8783
9032
  end
8784
9033
 
9034
+ # A delivery estimate may be a combination of multiple sources
9035
+ def DeliveryWindowComponentSource.mixed
9036
+ @@_mixed ||= DeliveryWindowComponentSource.new('mixed')
9037
+ end
9038
+
8785
9039
  def to_hash
8786
9040
  value
8787
9041
  end
@@ -8903,7 +9157,7 @@ module Io
8903
9157
  end
8904
9158
 
8905
9159
  def EventType.ALL
8906
- @@all ||= [EventType.attribute_upserted, EventType.attribute_deleted, 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.rate_deleted, EventType.rate_upserted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.allocation_deleted, EventType.allocation_upserted, EventType.currency_format_deleted, EventType.currency_format_upserted, EventType.experience_deleted, EventType.experience_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.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.reversal_upserted, 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]
9160
+ @@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.rate_deleted, EventType.rate_upserted, EventType.available_promotions_upserted, EventType.available_promotions_deleted, EventType.allocation_deleted, EventType.allocation_upserted, 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.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.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]
8907
9161
  end
8908
9162
 
8909
9163
  def EventType.attribute_upserted
@@ -8914,6 +9168,14 @@ module Io
8914
9168
  @@_attribute_deleted ||= EventType.new('attribute_deleted')
8915
9169
  end
8916
9170
 
9171
+ def EventType.attribute_upserted_v2
9172
+ @@_attribute_upserted_v2 ||= EventType.new('attribute_upserted_v2')
9173
+ end
9174
+
9175
+ def EventType.attribute_deleted_v2
9176
+ @@_attribute_deleted_v2 ||= EventType.new('attribute_deleted_v2')
9177
+ end
9178
+
8917
9179
  def EventType.catalog_upserted
8918
9180
  @@_catalog_upserted ||= EventType.new('catalog_upserted')
8919
9181
  end
@@ -8970,6 +9232,14 @@ module Io
8970
9232
  @@_allocation_upserted ||= EventType.new('allocation_upserted')
8971
9233
  end
8972
9234
 
9235
+ def EventType.allocation_deleted_v2
9236
+ @@_allocation_deleted_v2 ||= EventType.new('allocation_deleted_v2')
9237
+ end
9238
+
9239
+ def EventType.allocation_upserted_v2
9240
+ @@_allocation_upserted_v2 ||= EventType.new('allocation_upserted_v2')
9241
+ end
9242
+
8973
9243
  def EventType.currency_format_deleted
8974
9244
  @@_currency_format_deleted ||= EventType.new('currency_format_deleted')
8975
9245
  end
@@ -8986,6 +9256,14 @@ module Io
8986
9256
  @@_experience_upserted ||= EventType.new('experience_upserted')
8987
9257
  end
8988
9258
 
9259
+ def EventType.experience_price_book_mapping_deleted
9260
+ @@_experience_price_book_mapping_deleted ||= EventType.new('experience_price_book_mapping_deleted')
9261
+ end
9262
+
9263
+ def EventType.experience_price_book_mapping_upserted
9264
+ @@_experience_price_book_mapping_upserted ||= EventType.new('experience_price_book_mapping_upserted')
9265
+ end
9266
+
8989
9267
  def EventType.item_margin_deleted
8990
9268
  @@_item_margin_deleted ||= EventType.new('item_margin_deleted')
8991
9269
  end
@@ -9230,6 +9508,10 @@ module Io
9230
9508
  @@_refund_upserted_v2 ||= EventType.new('refund_upserted_v2')
9231
9509
  end
9232
9510
 
9511
+ def EventType.refund_capture_upserted_v2
9512
+ @@_refund_capture_upserted_v2 ||= EventType.new('refund_capture_upserted_v2')
9513
+ end
9514
+
9233
9515
  def EventType.reversal_upserted
9234
9516
  @@_reversal_upserted ||= EventType.new('reversal_upserted')
9235
9517
  end
@@ -9792,6 +10074,52 @@ module Io
9792
10074
 
9793
10075
  end
9794
10076
 
10077
+ class ImageTag
10078
+
10079
+ attr_reader :value
10080
+
10081
+ def initialize(value)
10082
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
10083
+ end
10084
+
10085
+ # Returns the instance of ImageTag for this value, creating a new instance for an unknown value
10086
+ def ImageTag.apply(value)
10087
+ if value.instance_of?(ImageTag)
10088
+ value
10089
+ else
10090
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
10091
+ value.nil? ? nil : (from_string(value) || ImageTag.new(value))
10092
+ end
10093
+ end
10094
+
10095
+ # Returns the instance of ImageTag for this value, or nil if not found
10096
+ def ImageTag.from_string(value)
10097
+ HttpClient::Preconditions.assert_class('value', value, String)
10098
+ ImageTag.ALL.find { |v| v.value == value }
10099
+ end
10100
+
10101
+ def ImageTag.ALL
10102
+ @@all ||= [ImageTag.thumbnail, ImageTag.checkout]
10103
+ end
10104
+
10105
+ # Thumbnail images identify the image to use when displaying products in the
10106
+ # Flow Console.
10107
+ def ImageTag.thumbnail
10108
+ @@_thumbnail ||= ImageTag.new('thumbnail')
10109
+ end
10110
+
10111
+ # Checkout images identify the item image to use when displaying the item in the
10112
+ # context of a consumer checkout (e.g. cart, checkout page).
10113
+ def ImageTag.checkout
10114
+ @@_checkout ||= ImageTag.new('checkout')
10115
+ end
10116
+
10117
+ def to_hash
10118
+ value
10119
+ end
10120
+
10121
+ end
10122
+
9795
10123
  class ImportType
9796
10124
 
9797
10125
  attr_reader :value
@@ -13145,7 +13473,7 @@ module Io
13145
13473
  def initialize(incoming={})
13146
13474
  opts = HttpClient::Helper.symbolize_keys(incoming)
13147
13475
  HttpClient::Preconditions.require_keys(opts, [:order, :details], 'Allocation')
13148
- @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::OrderReference) ? x : ::Io::Flow::V0::Models::OrderReference.new(x))
13476
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::AllocationOrderSummary) ? x : ::Io::Flow::V0::Models::AllocationOrderSummary.new(x))
13149
13477
  @details = HttpClient::Preconditions.assert_class('details', opts.delete(:details), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AllocationDetail) ? x : ::Io::Flow::V0::Models::AllocationDetail.from_json(x)) }
13150
13478
  end
13151
13479
 
@@ -13197,6 +13525,39 @@ module Io
13197
13525
 
13198
13526
  end
13199
13527
 
13528
+ class AllocationDeletedV2 < Event
13529
+
13530
+ attr_reader :event_id, :timestamp, :organization, :id
13531
+
13532
+ def initialize(incoming={})
13533
+ super(:discriminator => Event::Types::ALLOCATION_DELETED_V2)
13534
+ opts = HttpClient::Helper.symbolize_keys(incoming)
13535
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id], 'AllocationDeletedV2')
13536
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
13537
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
13538
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
13539
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13540
+ end
13541
+
13542
+ def to_json
13543
+ JSON.dump(to_hash)
13544
+ end
13545
+
13546
+ def copy(incoming={})
13547
+ AllocationDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13548
+ end
13549
+
13550
+ def subtype_to_hash
13551
+ {
13552
+ :event_id => event_id,
13553
+ :timestamp => timestamp,
13554
+ :organization => organization,
13555
+ :id => id
13556
+ }
13557
+ end
13558
+
13559
+ end
13560
+
13200
13561
  # Represents any component that is not VAT or duty, such as item price,
13201
13562
  # rounding, shipping, etc.
13202
13563
  class AllocationDetailComponent < AllocationComponent
@@ -13340,21 +13701,16 @@ module Io
13340
13701
 
13341
13702
  end
13342
13703
 
13343
- class AllocationUpserted < Event
13704
+ class AllocationOrderSummary
13344
13705
 
13345
- attr_reader :event_id, :timestamp, :id, :organization, :order_id, :order_number, :details
13706
+ attr_reader :id, :number, :submitted_at
13346
13707
 
13347
13708
  def initialize(incoming={})
13348
- super(:discriminator => Event::Types::ALLOCATION_UPSERTED)
13349
13709
  opts = HttpClient::Helper.symbolize_keys(incoming)
13350
- HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :order_id, :order_number, :details], 'AllocationUpserted')
13351
- @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
13352
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
13710
+ HttpClient::Preconditions.require_keys(opts, [:id, :number], 'AllocationOrderSummary')
13353
13711
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13354
- @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
13355
- @order_id = HttpClient::Preconditions.assert_class('order_id', opts.delete(:order_id), String)
13356
- @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
13357
- @details = HttpClient::Preconditions.assert_class('details', opts.delete(:details), Array).map { |v| HttpClient::Preconditions.assert_class('details', HttpClient::Helper.to_object(v), Hash) }
13712
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
13713
+ @submitted_at = (x = opts.delete(:submitted_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('submitted_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
13358
13714
  end
13359
13715
 
13360
13716
  def to_json
@@ -13362,7 +13718,42 @@ module Io
13362
13718
  end
13363
13719
 
13364
13720
  def copy(incoming={})
13365
- AllocationUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13721
+ AllocationOrderSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13722
+ end
13723
+
13724
+ def to_hash
13725
+ {
13726
+ :id => id,
13727
+ :number => number,
13728
+ :submitted_at => submitted_at
13729
+ }
13730
+ end
13731
+
13732
+ end
13733
+
13734
+ class AllocationUpserted < Event
13735
+
13736
+ attr_reader :event_id, :timestamp, :id, :organization, :order_id, :order_number, :details
13737
+
13738
+ def initialize(incoming={})
13739
+ super(:discriminator => Event::Types::ALLOCATION_UPSERTED)
13740
+ opts = HttpClient::Helper.symbolize_keys(incoming)
13741
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :id, :organization, :order_id, :order_number, :details], 'AllocationUpserted')
13742
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
13743
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
13744
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13745
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
13746
+ @order_id = HttpClient::Preconditions.assert_class('order_id', opts.delete(:order_id), String)
13747
+ @order_number = HttpClient::Preconditions.assert_class('order_number', opts.delete(:order_number), String)
13748
+ @details = HttpClient::Preconditions.assert_class('details', opts.delete(:details), Array).map { |v| HttpClient::Preconditions.assert_class('details', HttpClient::Helper.to_object(v), Hash) }
13749
+ end
13750
+
13751
+ def to_json
13752
+ JSON.dump(to_hash)
13753
+ end
13754
+
13755
+ def copy(incoming={})
13756
+ AllocationUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13366
13757
  end
13367
13758
 
13368
13759
  def subtype_to_hash
@@ -13379,6 +13770,71 @@ module Io
13379
13770
 
13380
13771
  end
13381
13772
 
13773
+ class AllocationUpsertedV2 < Event
13774
+
13775
+ attr_reader :event_id, :timestamp, :organization, :allocation
13776
+
13777
+ def initialize(incoming={})
13778
+ super(:discriminator => Event::Types::ALLOCATION_UPSERTED_V2)
13779
+ opts = HttpClient::Helper.symbolize_keys(incoming)
13780
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :allocation], 'AllocationUpsertedV2')
13781
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
13782
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
13783
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
13784
+ @allocation = (x = opts.delete(:allocation); x.is_a?(::Io::Flow::V0::Models::AllocationV2) ? x : ::Io::Flow::V0::Models::AllocationV2.new(x))
13785
+ end
13786
+
13787
+ def to_json
13788
+ JSON.dump(to_hash)
13789
+ end
13790
+
13791
+ def copy(incoming={})
13792
+ AllocationUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13793
+ end
13794
+
13795
+ def subtype_to_hash
13796
+ {
13797
+ :event_id => event_id,
13798
+ :timestamp => timestamp,
13799
+ :organization => organization,
13800
+ :allocation => allocation.to_hash
13801
+ }
13802
+ end
13803
+
13804
+ end
13805
+
13806
+ class AllocationV2
13807
+
13808
+ attr_reader :id, :order, :details, :total
13809
+
13810
+ def initialize(incoming={})
13811
+ opts = HttpClient::Helper.symbolize_keys(incoming)
13812
+ HttpClient::Preconditions.require_keys(opts, [:id, :order, :details, :total], 'AllocationV2')
13813
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13814
+ @order = (x = opts.delete(:order); x.is_a?(::Io::Flow::V0::Models::AllocationOrderSummary) ? x : ::Io::Flow::V0::Models::AllocationOrderSummary.new(x))
13815
+ @details = HttpClient::Preconditions.assert_class('details', opts.delete(:details), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AllocationDetail) ? x : ::Io::Flow::V0::Models::AllocationDetail.from_json(x)) }
13816
+ @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::LocalizedTotal) ? x : ::Io::Flow::V0::Models::LocalizedTotal.new(x))
13817
+ end
13818
+
13819
+ def to_json
13820
+ JSON.dump(to_hash)
13821
+ end
13822
+
13823
+ def copy(incoming={})
13824
+ AllocationV2.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13825
+ end
13826
+
13827
+ def to_hash
13828
+ {
13829
+ :id => id,
13830
+ :order => order.to_hash,
13831
+ :details => details.map { |o| o.to_hash },
13832
+ :total => total.to_hash
13833
+ }
13834
+ end
13835
+
13836
+ end
13837
+
13382
13838
  # Rule outcome where shipping surfaced in quote is actual cost plus a predefined
13383
13839
  # margin price
13384
13840
  class AmountMargin < TierRuleOutcome
@@ -13467,7 +13923,7 @@ module Io
13467
13923
  # then be displayed throughout the Flow console.
13468
13924
  class Attribute
13469
13925
 
13470
- attr_reader :id, :key, :options, :label, :intent, :type
13926
+ attr_reader :id, :key, :options, :label, :intent, :type, :position
13471
13927
 
13472
13928
  def initialize(incoming={})
13473
13929
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -13478,6 +13934,7 @@ module Io
13478
13934
  @label = (x = opts.delete(:label); x.nil? ? nil : HttpClient::Preconditions.assert_class('label', x, String))
13479
13935
  @intent = (x = opts.delete(:intent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeIntent) ? x : ::Io::Flow::V0::Models::AttributeIntent.apply(x)))
13480
13936
  @type = (x = opts.delete(:type); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeDataType) ? x : ::Io::Flow::V0::Models::AttributeDataType.apply(x)))
13937
+ @position = (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Integer))
13481
13938
  end
13482
13939
 
13483
13940
  def to_json
@@ -13495,7 +13952,8 @@ module Io
13495
13952
  :options => options.to_hash,
13496
13953
  :label => label,
13497
13954
  :intent => intent.nil? ? nil : intent.value,
13498
- :type => type.nil? ? nil : type.value
13955
+ :type => type.nil? ? nil : type.value,
13956
+ :position => position
13499
13957
  }
13500
13958
  end
13501
13959
 
@@ -13534,9 +13992,42 @@ module Io
13534
13992
 
13535
13993
  end
13536
13994
 
13995
+ class AttributeDeletedV2 < Event
13996
+
13997
+ attr_reader :event_id, :timestamp, :organization, :id
13998
+
13999
+ def initialize(incoming={})
14000
+ super(:discriminator => Event::Types::ATTRIBUTE_DELETED_V2)
14001
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14002
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id], 'AttributeDeletedV2')
14003
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
14004
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
14005
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
14006
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
14007
+ end
14008
+
14009
+ def to_json
14010
+ JSON.dump(to_hash)
14011
+ end
14012
+
14013
+ def copy(incoming={})
14014
+ AttributeDeletedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14015
+ end
14016
+
14017
+ def subtype_to_hash
14018
+ {
14019
+ :event_id => event_id,
14020
+ :timestamp => timestamp,
14021
+ :organization => organization,
14022
+ :id => id
14023
+ }
14024
+ end
14025
+
14026
+ end
14027
+
13537
14028
  class AttributeForm
13538
14029
 
13539
- attr_reader :key, :options, :label, :intent, :type
14030
+ attr_reader :key, :options, :label, :intent, :type, :position
13540
14031
 
13541
14032
  def initialize(incoming={})
13542
14033
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -13546,6 +14037,7 @@ module Io
13546
14037
  @label = (x = opts.delete(:label); x.nil? ? nil : HttpClient::Preconditions.assert_class('label', x, String))
13547
14038
  @intent = (x = opts.delete(:intent); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeIntent) ? x : ::Io::Flow::V0::Models::AttributeIntent.apply(x)))
13548
14039
  @type = (x = opts.delete(:type); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::AttributeDataType) ? x : ::Io::Flow::V0::Models::AttributeDataType.apply(x)))
14040
+ @position = (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Integer))
13549
14041
  end
13550
14042
 
13551
14043
  def to_json
@@ -13562,7 +14054,8 @@ module Io
13562
14054
  :options => options.to_hash,
13563
14055
  :label => label,
13564
14056
  :intent => intent.nil? ? nil : intent.value,
13565
- :type => type.nil? ? nil : type.value
14057
+ :type => type.nil? ? nil : type.value,
14058
+ :position => position
13566
14059
  }
13567
14060
  end
13568
14061
 
@@ -13607,6 +14100,39 @@ module Io
13607
14100
 
13608
14101
  end
13609
14102
 
14103
+ class AttributeUpsertedV2 < Event
14104
+
14105
+ attr_reader :event_id, :timestamp, :organization, :attribute
14106
+
14107
+ def initialize(incoming={})
14108
+ super(:discriminator => Event::Types::ATTRIBUTE_UPSERTED_V2)
14109
+ opts = HttpClient::Helper.symbolize_keys(incoming)
14110
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :attribute], 'AttributeUpsertedV2')
14111
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
14112
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
14113
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
14114
+ @attribute = (x = opts.delete(:attribute); x.is_a?(::Io::Flow::V0::Models::Attribute) ? x : ::Io::Flow::V0::Models::Attribute.new(x))
14115
+ end
14116
+
14117
+ def to_json
14118
+ JSON.dump(to_hash)
14119
+ end
14120
+
14121
+ def copy(incoming={})
14122
+ AttributeUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
14123
+ end
14124
+
14125
+ def subtype_to_hash
14126
+ {
14127
+ :event_id => event_id,
14128
+ :timestamp => timestamp,
14129
+ :organization => organization,
14130
+ :attribute => attribute.to_hash
14131
+ }
14132
+ end
14133
+
14134
+ end
14135
+
13610
14136
  # Retrieve journaled history of an attribute
13611
14137
  class AttributeVersion
13612
14138
 
@@ -15701,6 +16227,70 @@ module Io
15701
16227
 
15702
16228
  end
15703
16229
 
16230
+ # A Checkout Item Content provides information about an item to support
16231
+ # rendering of that item in the context of checkout
16232
+ class CheckoutItemContent
16233
+
16234
+ attr_reader :item, :name, :description, :attributes, :image
16235
+
16236
+ def initialize(incoming={})
16237
+ opts = HttpClient::Helper.symbolize_keys(incoming)
16238
+ HttpClient::Preconditions.require_keys(opts, [:item, :name, :attributes], 'CheckoutItemContent')
16239
+ @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::Item) ? x : ::Io::Flow::V0::Models::Item.new(x))
16240
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
16241
+ @description = (x = opts.delete(:description); x.nil? ? nil : HttpClient::Preconditions.assert_class('description', x, String))
16242
+ @attributes = HttpClient::Preconditions.assert_class('attributes', opts.delete(:attributes), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::CheckoutItemContentAttribute) ? x : ::Io::Flow::V0::Models::CheckoutItemContentAttribute.new(x)) }
16243
+ @image = (x = opts.delete(:image); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Image) ? x : ::Io::Flow::V0::Models::Image.new(x)))
16244
+ end
16245
+
16246
+ def to_json
16247
+ JSON.dump(to_hash)
16248
+ end
16249
+
16250
+ def copy(incoming={})
16251
+ CheckoutItemContent.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
16252
+ end
16253
+
16254
+ def to_hash
16255
+ {
16256
+ :item => item.to_hash,
16257
+ :name => name,
16258
+ :description => description,
16259
+ :attributes => attributes.map { |o| o.to_hash },
16260
+ :image => image.nil? ? nil : image.to_hash
16261
+ }
16262
+ end
16263
+
16264
+ end
16265
+
16266
+ class CheckoutItemContentAttribute
16267
+
16268
+ attr_reader :key, :value
16269
+
16270
+ def initialize(incoming={})
16271
+ opts = HttpClient::Helper.symbolize_keys(incoming)
16272
+ HttpClient::Preconditions.require_keys(opts, [:key, :value], 'CheckoutItemContentAttribute')
16273
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
16274
+ @value = HttpClient::Preconditions.assert_class('value', opts.delete(:value), String)
16275
+ end
16276
+
16277
+ def to_json
16278
+ JSON.dump(to_hash)
16279
+ end
16280
+
16281
+ def copy(incoming={})
16282
+ CheckoutItemContentAttribute.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
16283
+ end
16284
+
16285
+ def to_hash
16286
+ {
16287
+ :key => key,
16288
+ :value => value
16289
+ }
16290
+ end
16291
+
16292
+ end
16293
+
15704
16294
  # The actual value of the API token. This is modeled as a separate resource as
15705
16295
  # it is fetched only on demand.
15706
16296
  class Cleartext
@@ -17361,6 +17951,132 @@ module Io
17361
17951
 
17362
17952
  end
17363
17953
 
17954
+ class ExperiencePriceBookMapping
17955
+
17956
+ attr_reader :id, :experience, :price_book, :position
17957
+
17958
+ def initialize(incoming={})
17959
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17960
+ HttpClient::Preconditions.require_keys(opts, [:id, :experience, :price_book, :position], 'ExperiencePriceBookMapping')
17961
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
17962
+ @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::ExperienceReference) ? x : ::Io::Flow::V0::Models::ExperienceReference.new(x))
17963
+ @price_book = (x = opts.delete(:price_book); x.is_a?(::Io::Flow::V0::Models::PriceBookReference) ? x : ::Io::Flow::V0::Models::PriceBookReference.new(x))
17964
+ @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
17965
+ end
17966
+
17967
+ def to_json
17968
+ JSON.dump(to_hash)
17969
+ end
17970
+
17971
+ def copy(incoming={})
17972
+ ExperiencePriceBookMapping.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
17973
+ end
17974
+
17975
+ def to_hash
17976
+ {
17977
+ :id => id,
17978
+ :experience => experience.to_hash,
17979
+ :price_book => price_book.to_hash,
17980
+ :position => position
17981
+ }
17982
+ end
17983
+
17984
+ end
17985
+
17986
+ class ExperiencePriceBookMappingDeleted < Event
17987
+
17988
+ attr_reader :event_id, :timestamp, :organization, :id
17989
+
17990
+ def initialize(incoming={})
17991
+ super(:discriminator => Event::Types::EXPERIENCE_PRICE_BOOK_MAPPING_DELETED)
17992
+ opts = HttpClient::Helper.symbolize_keys(incoming)
17993
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id], 'ExperiencePriceBookMappingDeleted')
17994
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
17995
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
17996
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
17997
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
17998
+ end
17999
+
18000
+ def to_json
18001
+ JSON.dump(to_hash)
18002
+ end
18003
+
18004
+ def copy(incoming={})
18005
+ ExperiencePriceBookMappingDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18006
+ end
18007
+
18008
+ def subtype_to_hash
18009
+ {
18010
+ :event_id => event_id,
18011
+ :timestamp => timestamp,
18012
+ :organization => organization,
18013
+ :id => id
18014
+ }
18015
+ end
18016
+
18017
+ end
18018
+
18019
+ class ExperiencePriceBookMappingForm
18020
+
18021
+ attr_reader :price_book_key, :position
18022
+
18023
+ def initialize(incoming={})
18024
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18025
+ HttpClient::Preconditions.require_keys(opts, [:price_book_key], 'ExperiencePriceBookMappingForm')
18026
+ @price_book_key = HttpClient::Preconditions.assert_class('price_book_key', opts.delete(:price_book_key), String)
18027
+ @position = (x = opts.delete(:position); x.nil? ? nil : HttpClient::Preconditions.assert_class('position', x, Integer))
18028
+ end
18029
+
18030
+ def to_json
18031
+ JSON.dump(to_hash)
18032
+ end
18033
+
18034
+ def copy(incoming={})
18035
+ ExperiencePriceBookMappingForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18036
+ end
18037
+
18038
+ def to_hash
18039
+ {
18040
+ :price_book_key => price_book_key,
18041
+ :position => position
18042
+ }
18043
+ end
18044
+
18045
+ end
18046
+
18047
+ class ExperiencePriceBookMappingUpserted < Event
18048
+
18049
+ attr_reader :event_id, :timestamp, :organization, :experience_price_book_mapping
18050
+
18051
+ def initialize(incoming={})
18052
+ super(:discriminator => Event::Types::EXPERIENCE_PRICE_BOOK_MAPPING_UPSERTED)
18053
+ opts = HttpClient::Helper.symbolize_keys(incoming)
18054
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :experience_price_book_mapping], 'ExperiencePriceBookMappingUpserted')
18055
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
18056
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
18057
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
18058
+ @experience_price_book_mapping = (x = opts.delete(:experience_price_book_mapping); x.is_a?(::Io::Flow::V0::Models::ExperiencePriceBookMapping) ? x : ::Io::Flow::V0::Models::ExperiencePriceBookMapping.new(x))
18059
+ end
18060
+
18061
+ def to_json
18062
+ JSON.dump(to_hash)
18063
+ end
18064
+
18065
+ def copy(incoming={})
18066
+ ExperiencePriceBookMappingUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
18067
+ end
18068
+
18069
+ def subtype_to_hash
18070
+ {
18071
+ :event_id => event_id,
18072
+ :timestamp => timestamp,
18073
+ :organization => organization,
18074
+ :experience_price_book_mapping => experience_price_book_mapping.to_hash
18075
+ }
18076
+ end
18077
+
18078
+ end
18079
+
17364
18080
  class ExperienceReference < ExpandableExperience
17365
18081
 
17366
18082
  attr_reader :key
@@ -17984,7 +18700,7 @@ module Io
17984
18700
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
17985
18701
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
17986
18702
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::FulfillmentItem) ? x : ::Io::Flow::V0::Models::FulfillmentItem.new(x)) }
17987
- @center = (x = opts.delete(:center); x.nil? ? nil : HttpClient::Preconditions.assert_class('center', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::CenterSummary) ? x : ::Io::Flow::V0::Models::CenterSummary.new(x)) })
18703
+ @center = (x = opts.delete(:center); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CenterSummary) ? x : ::Io::Flow::V0::Models::CenterSummary.new(x)))
17988
18704
  end
17989
18705
 
17990
18706
  def to_json
@@ -18001,7 +18717,7 @@ module Io
18001
18717
  :key => key,
18002
18718
  :number => number,
18003
18719
  :items => items.map { |o| o.to_hash },
18004
- :center => center.nil? ? nil : center.map { |o| o.to_hash }
18720
+ :center => center.nil? ? nil : center.to_hash
18005
18721
  }
18006
18722
  end
18007
18723
 
@@ -19377,7 +20093,7 @@ module Io
19377
20093
  opts = HttpClient::Helper.symbolize_keys(incoming)
19378
20094
  HttpClient::Preconditions.require_keys(opts, [:url], 'Image')
19379
20095
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
19380
- @tags = HttpClient::Preconditions.assert_class('tags', (x = opts.delete(:tags); x.nil? ? [] : x), Array).map { |v| HttpClient::Preconditions.assert_class('tags', v, String) }
20096
+ @tags = HttpClient::Preconditions.assert_class('tags', (x = opts.delete(:tags); x.nil? ? [] : x), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ImageTag) ? x : ::Io::Flow::V0::Models::ImageTag.apply(x)) }
19381
20097
  end
19382
20098
 
19383
20099
  def to_json
@@ -19391,7 +20107,7 @@ module Io
19391
20107
  def to_hash
19392
20108
  {
19393
20109
  :url => url,
19394
- :tags => tags
20110
+ :tags => tags.map { |o| o.value }
19395
20111
  }
19396
20112
  end
19397
20113
 
@@ -19406,7 +20122,7 @@ module Io
19406
20122
  opts = HttpClient::Helper.symbolize_keys(incoming)
19407
20123
  HttpClient::Preconditions.require_keys(opts, [:url], 'ImageForm')
19408
20124
  @url = HttpClient::Preconditions.assert_class('url', opts.delete(:url), String)
19409
- @tags = (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| HttpClient::Preconditions.assert_class('tags', v, String) })
20125
+ @tags = (x = opts.delete(:tags); x.nil? ? nil : HttpClient::Preconditions.assert_class('tags', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ImageTag) ? x : ::Io::Flow::V0::Models::ImageTag.apply(x)) })
19410
20126
  end
19411
20127
 
19412
20128
  def to_json
@@ -19420,7 +20136,7 @@ module Io
19420
20136
  def to_hash
19421
20137
  {
19422
20138
  :url => url,
19423
- :tags => tags.nil? ? nil : tags
20139
+ :tags => tags.nil? ? nil : tags.map { |o| o.value }
19424
20140
  }
19425
20141
  end
19426
20142
 
@@ -21183,7 +21899,7 @@ module Io
21183
21899
 
21184
21900
  class LabelUpserted < Event
21185
21901
 
21186
- attr_reader :event_id, :timestamp, :organization, :label_id, :carrier_tracking_number, :commercial_invoice, :flow_tracking_number, :destination, :origin, :carrier, :service, :zpl, :pdf, :png, :order, :carrier_tracking_number_url, :flow_tracking_number_url, :center_key, :direction, :package
21902
+ attr_reader :event_id, :timestamp, :organization, :label_id, :carrier_tracking_number, :commercial_invoice, :flow_tracking_number, :destination, :origin, :carrier, :service, :zpl, :pdf, :png, :order, :carrier_tracking_number_url, :flow_tracking_number_url, :center_key, :direction, :package, :order_identifier, :fulfillment_key
21187
21903
 
21188
21904
  def initialize(incoming={})
21189
21905
  super(:discriminator => Event::Types::LABEL_UPSERTED)
@@ -21209,6 +21925,8 @@ module Io
21209
21925
  @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
21210
21926
  @direction = (x = opts.delete(:direction); x.nil? ? nil : HttpClient::Preconditions.assert_class('direction', x, String))
21211
21927
  @package = (x = opts.delete(:package); x.nil? ? nil : HttpClient::Preconditions.assert_class('package', HttpClient::Helper.to_object(x), Hash))
21928
+ @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
21929
+ @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
21212
21930
  end
21213
21931
 
21214
21932
  def to_json
@@ -21240,7 +21958,9 @@ module Io
21240
21958
  :flow_tracking_number_url => flow_tracking_number_url,
21241
21959
  :center_key => center_key,
21242
21960
  :direction => direction,
21243
- :package => package
21961
+ :package => package,
21962
+ :order_identifier => order_identifier,
21963
+ :fulfillment_key => fulfillment_key
21244
21964
  }
21245
21965
  end
21246
21966
 
@@ -22104,7 +22824,7 @@ module Io
22104
22824
 
22105
22825
  class ManifestedLabelUpserted < Event
22106
22826
 
22107
- attr_reader :event_id, :timestamp, :organization, :id, :manifest_id, :label_id, :flow_tracking_number, :carrier_tracking_number
22827
+ attr_reader :event_id, :timestamp, :organization, :id, :manifest_id, :label_id, :flow_tracking_number, :carrier_tracking_number, :order_identifier, :fulfillment_key
22108
22828
 
22109
22829
  def initialize(incoming={})
22110
22830
  super(:discriminator => Event::Types::MANIFESTED_LABEL_UPSERTED)
@@ -22118,6 +22838,8 @@ module Io
22118
22838
  @label_id = HttpClient::Preconditions.assert_class('label_id', opts.delete(:label_id), String)
22119
22839
  @flow_tracking_number = HttpClient::Preconditions.assert_class('flow_tracking_number', opts.delete(:flow_tracking_number), String)
22120
22840
  @carrier_tracking_number = HttpClient::Preconditions.assert_class('carrier_tracking_number', opts.delete(:carrier_tracking_number), String)
22841
+ @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
22842
+ @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
22121
22843
  end
22122
22844
 
22123
22845
  def to_json
@@ -22137,7 +22859,9 @@ module Io
22137
22859
  :manifest_id => manifest_id,
22138
22860
  :label_id => label_id,
22139
22861
  :flow_tracking_number => flow_tracking_number,
22140
- :carrier_tracking_number => carrier_tracking_number
22862
+ :carrier_tracking_number => carrier_tracking_number,
22863
+ :order_identifier => order_identifier,
22864
+ :fulfillment_key => fulfillment_key
22141
22865
  }
22142
22866
  end
22143
22867
 
@@ -22503,14 +23227,70 @@ module Io
22503
23227
 
22504
23228
  end
22505
23229
 
22506
- class Name
23230
+ class Name
23231
+
23232
+ attr_reader :first, :last
23233
+
23234
+ def initialize(incoming={})
23235
+ opts = HttpClient::Helper.symbolize_keys(incoming)
23236
+ @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
23237
+ @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
23238
+ end
23239
+
23240
+ def to_json
23241
+ JSON.dump(to_hash)
23242
+ end
23243
+
23244
+ def copy(incoming={})
23245
+ Name.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23246
+ end
23247
+
23248
+ def to_hash
23249
+ {
23250
+ :first => first,
23251
+ :last => last
23252
+ }
23253
+ end
23254
+
23255
+ end
23256
+
23257
+ class NameForm
23258
+
23259
+ attr_reader :first, :last
23260
+
23261
+ def initialize(incoming={})
23262
+ opts = HttpClient::Helper.symbolize_keys(incoming)
23263
+ @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
23264
+ @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
23265
+ end
23266
+
23267
+ def to_json
23268
+ JSON.dump(to_hash)
23269
+ end
23270
+
23271
+ def copy(incoming={})
23272
+ NameForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23273
+ end
23274
+
23275
+ def to_hash
23276
+ {
23277
+ :first => first,
23278
+ :last => last
23279
+ }
23280
+ end
23281
+
23282
+ end
23283
+
23284
+ class NoInventoryReservationError < ReservationError
22507
23285
 
22508
- attr_reader :first, :last
23286
+ attr_reader :messages, :items
22509
23287
 
22510
23288
  def initialize(incoming={})
23289
+ super(:code => ReservationError::Types::NO_INVENTORY_RESERVATION_ERROR)
22511
23290
  opts = HttpClient::Helper.symbolize_keys(incoming)
22512
- @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
22513
- @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
23291
+ HttpClient::Preconditions.require_keys(opts, [:messages, :items], 'NoInventoryReservationError')
23292
+ @messages = HttpClient::Preconditions.assert_class('messages', opts.delete(:messages), Array).map { |v| HttpClient::Preconditions.assert_class('messages', v, String) }
23293
+ @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::NoInventoryReservationErrorItem) ? x : ::Io::Flow::V0::Models::NoInventoryReservationErrorItem.new(x)) }
22514
23294
  end
22515
23295
 
22516
23296
  def to_json
@@ -22518,26 +23298,28 @@ module Io
22518
23298
  end
22519
23299
 
22520
23300
  def copy(incoming={})
22521
- Name.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23301
+ NoInventoryReservationError.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
22522
23302
  end
22523
23303
 
22524
- def to_hash
23304
+ def subtype_to_hash
22525
23305
  {
22526
- :first => first,
22527
- :last => last
23306
+ :messages => messages,
23307
+ :items => items.map { |o| o.to_hash }
22528
23308
  }
22529
23309
  end
22530
23310
 
22531
23311
  end
22532
23312
 
22533
- class NameForm
23313
+ class NoInventoryReservationErrorItem
22534
23314
 
22535
- attr_reader :first, :last
23315
+ attr_reader :number, :requested_quantity, :available_quantity
22536
23316
 
22537
23317
  def initialize(incoming={})
22538
23318
  opts = HttpClient::Helper.symbolize_keys(incoming)
22539
- @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
22540
- @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
23319
+ HttpClient::Preconditions.require_keys(opts, [:number, :requested_quantity, :available_quantity], 'NoInventoryReservationErrorItem')
23320
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
23321
+ @requested_quantity = HttpClient::Preconditions.assert_class('requested_quantity', opts.delete(:requested_quantity), Integer)
23322
+ @available_quantity = HttpClient::Preconditions.assert_class('available_quantity', opts.delete(:available_quantity), Integer)
22541
23323
  end
22542
23324
 
22543
23325
  def to_json
@@ -22545,13 +23327,14 @@ module Io
22545
23327
  end
22546
23328
 
22547
23329
  def copy(incoming={})
22548
- NameForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23330
+ NoInventoryReservationErrorItem.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
22549
23331
  end
22550
23332
 
22551
23333
  def to_hash
22552
23334
  {
22553
- :first => first,
22554
- :last => last
23335
+ :number => number,
23336
+ :requested_quantity => requested_quantity,
23337
+ :available_quantity => available_quantity
22555
23338
  }
22556
23339
  end
22557
23340
 
@@ -22981,6 +23764,35 @@ module Io
22981
23764
 
22982
23765
  end
22983
23766
 
23767
+ # The Order Builder model is used to incrementally build up an order until it is
23768
+ # complete and can be submitted.
23769
+ class OrderBuilder
23770
+
23771
+ attr_reader :order, :errors
23772
+
23773
+ def initialize(incoming={})
23774
+ opts = HttpClient::Helper.symbolize_keys(incoming)
23775
+ @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Order) ? x : ::Io::Flow::V0::Models::Order.new(x)))
23776
+ @errors = (x = opts.delete(:errors); x.nil? ? nil : HttpClient::Preconditions.assert_class('errors', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::OrderError) ? x : ::Io::Flow::V0::Models::OrderError.new(x)) })
23777
+ end
23778
+
23779
+ def to_json
23780
+ JSON.dump(to_hash)
23781
+ end
23782
+
23783
+ def copy(incoming={})
23784
+ OrderBuilder.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
23785
+ end
23786
+
23787
+ def to_hash
23788
+ {
23789
+ :order => order.nil? ? nil : order.to_hash,
23790
+ :errors => errors.nil? ? nil : errors.map { |o| o.to_hash }
23791
+ }
23792
+ end
23793
+
23794
+ end
23795
+
22984
23796
  class OrderDeleted < Event
22985
23797
 
22986
23798
  attr_reader :event_id, :timestamp, :organization, :number
@@ -25676,12 +26488,13 @@ module Io
25676
26488
  # Represents the price of a single item within a price book.
25677
26489
  class PriceBookItem
25678
26490
 
25679
- attr_reader :id, :price_book, :price, :item_number, :schedule
26491
+ attr_reader :id, :key, :price_book, :price, :item_number, :schedule
25680
26492
 
25681
26493
  def initialize(incoming={})
25682
26494
  opts = HttpClient::Helper.symbolize_keys(incoming)
25683
- HttpClient::Preconditions.require_keys(opts, [:id, :price_book, :price, :item_number, :schedule], 'PriceBookItem')
26495
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :price_book, :price, :item_number, :schedule], 'PriceBookItem')
25684
26496
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
26497
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
25685
26498
  @price_book = (x = opts.delete(:price_book); x.is_a?(::Io::Flow::V0::Models::PriceBookReference) ? x : ::Io::Flow::V0::Models::PriceBookReference.new(x))
25686
26499
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
25687
26500
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
@@ -25699,6 +26512,7 @@ module Io
25699
26512
  def to_hash
25700
26513
  {
25701
26514
  :id => id,
26515
+ :key => key,
25702
26516
  :price_book => price_book.to_hash,
25703
26517
  :price => price.to_hash,
25704
26518
  :item_number => item_number,
@@ -25777,11 +26591,12 @@ module Io
25777
26591
  # Represents schedule applied to a price book item
25778
26592
  class PriceBookItemSchedule
25779
26593
 
25780
- attr_reader :starts_at
26594
+ attr_reader :starts_at, :ends_at
25781
26595
 
25782
26596
  def initialize(incoming={})
25783
26597
  opts = HttpClient::Helper.symbolize_keys(incoming)
25784
26598
  @starts_at = (x = opts.delete(:starts_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('starts_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
26599
+ @ends_at = (x = opts.delete(:ends_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('ends_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
25785
26600
  end
25786
26601
 
25787
26602
  def to_json
@@ -25794,7 +26609,8 @@ module Io
25794
26609
 
25795
26610
  def to_hash
25796
26611
  {
25797
- :starts_at => starts_at
26612
+ :starts_at => starts_at,
26613
+ :ends_at => ends_at
25798
26614
  }
25799
26615
  end
25800
26616
 
@@ -25835,12 +26651,13 @@ module Io
25835
26651
 
25836
26652
  class PriceBookReference
25837
26653
 
25838
- attr_reader :id
26654
+ attr_reader :id, :key
25839
26655
 
25840
26656
  def initialize(incoming={})
25841
26657
  opts = HttpClient::Helper.symbolize_keys(incoming)
25842
- HttpClient::Preconditions.require_keys(opts, [:id], 'PriceBookReference')
26658
+ HttpClient::Preconditions.require_keys(opts, [:id, :key], 'PriceBookReference')
25843
26659
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
26660
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
25844
26661
  end
25845
26662
 
25846
26663
  def to_json
@@ -25853,7 +26670,8 @@ module Io
25853
26670
 
25854
26671
  def to_hash
25855
26672
  {
25856
- :id => id
26673
+ :id => id,
26674
+ :key => key
25857
26675
  }
25858
26676
  end
25859
26677
 
@@ -26913,7 +27731,7 @@ module Io
26913
27731
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
26914
27732
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
26915
27733
  @requested = (x = opts.delete(:requested); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
26916
- @captures = HttpClient::Preconditions.assert_class('captures', opts.delete(:captures), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RefundCapture) ? x : ::Io::Flow::V0::Models::RefundCapture.new(x)) }
27734
+ @captures = HttpClient::Preconditions.assert_class('captures', opts.delete(:captures), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RefundCaptureSummary) ? x : ::Io::Flow::V0::Models::RefundCaptureSummary.new(x)) }
26917
27735
  @created_at = HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:created_at)), DateTime)
26918
27736
  @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 })
26919
27737
  end
@@ -26946,13 +27764,17 @@ module Io
26946
27764
  # against a specific capture
26947
27765
  class RefundCapture
26948
27766
 
26949
- attr_reader :capture, :amount
27767
+ attr_reader :id, :refund, :capture, :amount, :currency, :base
26950
27768
 
26951
27769
  def initialize(incoming={})
26952
27770
  opts = HttpClient::Helper.symbolize_keys(incoming)
26953
- HttpClient::Preconditions.require_keys(opts, [:capture, :amount], 'RefundCapture')
27771
+ HttpClient::Preconditions.require_keys(opts, [:id, :refund, :capture, :amount, :currency, :base], 'RefundCapture')
27772
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
27773
+ @refund = (x = opts.delete(:refund); x.is_a?(::Io::Flow::V0::Models::Refund) ? x : ::Io::Flow::V0::Models::Refund.new(x))
26954
27774
  @capture = (x = opts.delete(:capture); x.is_a?(::Io::Flow::V0::Models::Capture) ? x : ::Io::Flow::V0::Models::Capture.new(x))
26955
27775
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
27776
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
27777
+ @base = (x = opts.delete(:base); x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x))
26956
27778
  end
26957
27779
 
26958
27780
  def to_json
@@ -26963,6 +27785,40 @@ module Io
26963
27785
  RefundCapture.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
26964
27786
  end
26965
27787
 
27788
+ def to_hash
27789
+ {
27790
+ :id => id,
27791
+ :refund => refund.to_hash,
27792
+ :capture => capture.to_hash,
27793
+ :amount => amount,
27794
+ :currency => currency,
27795
+ :base => base.to_hash
27796
+ }
27797
+ end
27798
+
27799
+ end
27800
+
27801
+ # Refund captures provide the detailed information on the amount refunded
27802
+ # against a specific capture
27803
+ class RefundCaptureSummary
27804
+
27805
+ attr_reader :capture, :amount
27806
+
27807
+ def initialize(incoming={})
27808
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27809
+ HttpClient::Preconditions.require_keys(opts, [:capture, :amount], 'RefundCaptureSummary')
27810
+ @capture = (x = opts.delete(:capture); x.is_a?(::Io::Flow::V0::Models::Capture) ? x : ::Io::Flow::V0::Models::Capture.new(x))
27811
+ @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
27812
+ end
27813
+
27814
+ def to_json
27815
+ JSON.dump(to_hash)
27816
+ end
27817
+
27818
+ def copy(incoming={})
27819
+ RefundCaptureSummary.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27820
+ end
27821
+
26966
27822
  def to_hash
26967
27823
  {
26968
27824
  :capture => capture.to_hash,
@@ -26972,6 +27828,41 @@ module Io
26972
27828
 
26973
27829
  end
26974
27830
 
27831
+ class RefundCaptureUpsertedV2 < Event
27832
+
27833
+ attr_reader :event_id, :timestamp, :organization, :id, :refund_capture
27834
+
27835
+ def initialize(incoming={})
27836
+ super(:discriminator => Event::Types::REFUND_CAPTURE_UPSERTED_V2)
27837
+ opts = HttpClient::Helper.symbolize_keys(incoming)
27838
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :id, :refund_capture], 'RefundCaptureUpsertedV2')
27839
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
27840
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
27841
+ @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
27842
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
27843
+ @refund_capture = (x = opts.delete(:refund_capture); x.is_a?(::Io::Flow::V0::Models::RefundCapture) ? x : ::Io::Flow::V0::Models::RefundCapture.new(x))
27844
+ end
27845
+
27846
+ def to_json
27847
+ JSON.dump(to_hash)
27848
+ end
27849
+
27850
+ def copy(incoming={})
27851
+ RefundCaptureUpsertedV2.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
27852
+ end
27853
+
27854
+ def subtype_to_hash
27855
+ {
27856
+ :event_id => event_id,
27857
+ :timestamp => timestamp,
27858
+ :organization => organization,
27859
+ :id => id,
27860
+ :refund_capture => refund_capture.to_hash
27861
+ }
27862
+ end
27863
+
27864
+ end
27865
+
26975
27866
  class RefundError
26976
27867
 
26977
27868
  attr_reader :code, :messages, :decline_code
@@ -27349,6 +28240,176 @@ module Io
27349
28240
 
27350
28241
  end
27351
28242
 
28243
+ # Inventory reservation for a set of items in organization that potentially
28244
+ # expires at specified date/time
28245
+ class Reservation
28246
+
28247
+ attr_reader :id, :key, :order, :items
28248
+
28249
+ def initialize(incoming={})
28250
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28251
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :items], 'Reservation')
28252
+ @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
28253
+ @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
28254
+ @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ReservationOrderReference) ? x : ::Io::Flow::V0::Models::ReservationOrderReference.new(x)))
28255
+ @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReservationItem) ? x : ::Io::Flow::V0::Models::ReservationItem.new(x)) }
28256
+ end
28257
+
28258
+ def to_json
28259
+ JSON.dump(to_hash)
28260
+ end
28261
+
28262
+ def copy(incoming={})
28263
+ Reservation.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28264
+ end
28265
+
28266
+ def to_hash
28267
+ {
28268
+ :id => id,
28269
+ :key => key,
28270
+ :order => order.nil? ? nil : order.to_hash,
28271
+ :items => items.map { |o| o.to_hash }
28272
+ }
28273
+ end
28274
+
28275
+ end
28276
+
28277
+ class ReservationForm
28278
+
28279
+ attr_reader :order_number, :items
28280
+
28281
+ def initialize(incoming={})
28282
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28283
+ HttpClient::Preconditions.require_keys(opts, [:items], 'ReservationForm')
28284
+ @order_number = (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String))
28285
+ @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ReservationItemForm) ? x : ::Io::Flow::V0::Models::ReservationItemForm.new(x)) }
28286
+ end
28287
+
28288
+ def to_json
28289
+ JSON.dump(to_hash)
28290
+ end
28291
+
28292
+ def copy(incoming={})
28293
+ ReservationForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28294
+ end
28295
+
28296
+ def to_hash
28297
+ {
28298
+ :order_number => order_number,
28299
+ :items => items.map { |o| o.to_hash }
28300
+ }
28301
+ end
28302
+
28303
+ end
28304
+
28305
+ class ReservationItem
28306
+
28307
+ attr_reader :item, :quantity
28308
+
28309
+ def initialize(incoming={})
28310
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28311
+ HttpClient::Preconditions.require_keys(opts, [:item, :quantity], 'ReservationItem')
28312
+ @item = (x = opts.delete(:item); x.is_a?(::Io::Flow::V0::Models::ReservationItemReference) ? x : ::Io::Flow::V0::Models::ReservationItemReference.new(x))
28313
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
28314
+ end
28315
+
28316
+ def to_json
28317
+ JSON.dump(to_hash)
28318
+ end
28319
+
28320
+ def copy(incoming={})
28321
+ ReservationItem.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28322
+ end
28323
+
28324
+ def to_hash
28325
+ {
28326
+ :item => item.to_hash,
28327
+ :quantity => quantity
28328
+ }
28329
+ end
28330
+
28331
+ end
28332
+
28333
+ class ReservationItemForm
28334
+
28335
+ attr_reader :item_number, :quantity
28336
+
28337
+ def initialize(incoming={})
28338
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28339
+ HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity], 'ReservationItemForm')
28340
+ @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
28341
+ @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
28342
+ end
28343
+
28344
+ def to_json
28345
+ JSON.dump(to_hash)
28346
+ end
28347
+
28348
+ def copy(incoming={})
28349
+ ReservationItemForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28350
+ end
28351
+
28352
+ def to_hash
28353
+ {
28354
+ :item_number => item_number,
28355
+ :quantity => quantity
28356
+ }
28357
+ end
28358
+
28359
+ end
28360
+
28361
+ class ReservationItemReference
28362
+
28363
+ attr_reader :number
28364
+
28365
+ def initialize(incoming={})
28366
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28367
+ HttpClient::Preconditions.require_keys(opts, [:number], 'ReservationItemReference')
28368
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
28369
+ end
28370
+
28371
+ def to_json
28372
+ JSON.dump(to_hash)
28373
+ end
28374
+
28375
+ def copy(incoming={})
28376
+ ReservationItemReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28377
+ end
28378
+
28379
+ def to_hash
28380
+ {
28381
+ :number => number
28382
+ }
28383
+ end
28384
+
28385
+ end
28386
+
28387
+ class ReservationOrderReference
28388
+
28389
+ attr_reader :number
28390
+
28391
+ def initialize(incoming={})
28392
+ opts = HttpClient::Helper.symbolize_keys(incoming)
28393
+ HttpClient::Preconditions.require_keys(opts, [:number], 'ReservationOrderReference')
28394
+ @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
28395
+ end
28396
+
28397
+ def to_json
28398
+ JSON.dump(to_hash)
28399
+ end
28400
+
28401
+ def copy(incoming={})
28402
+ ReservationOrderReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
28403
+ end
28404
+
28405
+ def to_hash
28406
+ {
28407
+ :number => number
28408
+ }
28409
+ end
28410
+
28411
+ end
28412
+
27352
28413
  class Return
27353
28414
 
27354
28415
  attr_reader :id, :key, :items, :labels
@@ -28532,7 +29593,7 @@ module Io
28532
29593
  # shipper to transport a package from a given origin to destination
28533
29594
  class ShippingLabel
28534
29595
 
28535
- attr_reader :id, :direction, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :order, :package, :commercial_invoice, :zpl, :pdf, :png
29596
+ attr_reader :id, :direction, :attributes, :carrier_tracking_number, :carrier_tracking_number_url, :cost, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :label, :invoice, :order, :package, :commercial_invoice, :zpl, :pdf, :png, :order_identifier, :fulfillment_key
28536
29597
 
28537
29598
  def initialize(incoming={})
28538
29599
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -28557,6 +29618,8 @@ module Io
28557
29618
  @zpl = (x = opts.delete(:zpl); x.nil? ? nil : HttpClient::Preconditions.assert_class('zpl', x, String))
28558
29619
  @pdf = (x = opts.delete(:pdf); x.nil? ? nil : HttpClient::Preconditions.assert_class('pdf', x, String))
28559
29620
  @png = (x = opts.delete(:png); x.nil? ? nil : HttpClient::Preconditions.assert_class('png', x, String))
29621
+ @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
29622
+ @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
28560
29623
  end
28561
29624
 
28562
29625
  def to_json
@@ -28588,7 +29651,9 @@ module Io
28588
29651
  :commercial_invoice => commercial_invoice,
28589
29652
  :zpl => zpl,
28590
29653
  :pdf => pdf,
28591
- :png => png
29654
+ :png => png,
29655
+ :order_identifier => order_identifier,
29656
+ :fulfillment_key => fulfillment_key
28592
29657
  }
28593
29658
  end
28594
29659