flowcommerce 0.2.1 → 0.2.2

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: 4b7bc4c483585d96f422328ead6507f6dafa0ac3
4
- data.tar.gz: c4d637b12053e3bd6ed1eb897db4a8b1672fe948
3
+ metadata.gz: cb09e284a9abf6304be123c3ab7c499ab5c1e760
4
+ data.tar.gz: 98daddee35444116ec7db554025e2a5b13d5b7e9
5
5
  SHA512:
6
- metadata.gz: 0e676ade655fea50e288c34b68db43ce519fe617074221d43ca1f0d38abb4a727a1b83370c0f5be5a931a4f612e729ea644c4cd3be323fe7240fda7b094f62f1
7
- data.tar.gz: a7faf116aa799ddc718a0fd7847669065aced7696d480607010c070c6541352a26c9553d87f2d1cca7f9de7d81a86623c8ea11ff352db7a4288b9f8a9adaf20b
6
+ metadata.gz: b710ea50341b2fd529ec1b3e183f51a888c2a2878fa5fec97ff89063a94bfac80061f8775de236003338415f81237e853c275d50e385acb7cc28807c4bdacc16
7
+ data.tar.gz: aef43b36b05640cf204b5562c0950c93a2791a3a39946ff9165a12549badc7f8ba1acbacf560f5eea12c2c51999ae6e50254e243227cf3ccfedd72983c74485e
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
- # Service version: 0.2.82
3
- # apidoc:0.11.75 http://www.apidoc.me/flow/api/0.2.83/ruby_client
2
+ # Service version: 0.2.87
3
+ # apidoc:0.11.75 http://www.apidoc.me/flow/api/0.2.87/ruby_client
4
4
 
5
5
  require 'cgi'
6
6
  require 'net/http'
@@ -25,8 +25,8 @@ module Io
25
25
 
26
26
  BASE_URL = 'https://api.flow.io' unless defined?(Constants::BASE_URL)
27
27
  NAMESPACE = 'io.flow.v0' unless defined?(Constants::NAMESPACE)
28
- USER_AGENT = 'apidoc:0.11.75 http://www.apidoc.me/flow/api/0.2.83/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.2.82' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apidoc:0.11.75 http://www.apidoc.me/flow/api/0.2.87/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.2.87' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -2067,7 +2067,8 @@ module Io
2067
2067
  :order_number => (x = opts.delete(:order_number); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_number', x, String)),
2068
2068
  :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2069
2069
  :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2070
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2070
+ :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String),
2071
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2071
2072
  }.delete_if { |k, v| v.nil? }
2072
2073
  r = @client.request("/#{CGI.escape(organization)}/authorizations").with_query(query).get
2073
2074
  r.map { |x| ::Io::Flow::V0::Models::Authorization.new(x) }
@@ -2082,10 +2083,14 @@ module Io
2082
2083
  end
2083
2084
 
2084
2085
  # Returns information about a specific authorization.
2085
- def get_by_key(organization, key)
2086
+ def get_by_key(organization, key, incoming={})
2086
2087
  HttpClient::Preconditions.assert_class('organization', organization, String)
2087
2088
  HttpClient::Preconditions.assert_class('key', key, String)
2088
- r = @client.request("/#{CGI.escape(organization)}/authorizations/#{CGI.escape(key)}").get
2089
+ opts = HttpClient::Helper.symbolize_keys(incoming)
2090
+ query = {
2091
+ :expand => (x = opts.delete(:expand); x.nil? ? nil : HttpClient::Preconditions.assert_class('expand', x, Array).map { |v| HttpClient::Preconditions.assert_class('expand', v, String) })
2092
+ }.delete_if { |k, v| v.nil? }
2093
+ r = @client.request("/#{CGI.escape(organization)}/authorizations/#{CGI.escape(key)}").with_query(query).get
2089
2094
  ::Io::Flow::V0::Models::Authorization.new(r)
2090
2095
  end
2091
2096
 
@@ -4192,7 +4197,9 @@ module Io
4192
4197
  class AuthorizationForm
4193
4198
 
4194
4199
  module Types
4200
+ # Enables card payments
4195
4201
  DIRECT_AUTHORIZATION_FORM = 'direct_authorization_form' unless defined?(DIRECT_AUTHORIZATION_FORM)
4202
+ # Enables card payments with Flow as Merchant of Record
4196
4203
  MERCHANT_OF_RECORD_AUTHORIZATION_FORM = 'merchant_of_record_authorization_form' unless defined?(MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
4197
4204
  end
4198
4205
 
@@ -4457,6 +4464,8 @@ module Io
4457
4464
  EXPERIENCE_UPSERTED = 'experience_upserted' unless defined?(EXPERIENCE_UPSERTED)
4458
4465
  ITEM_MARGIN_DELETED = 'item_margin_deleted' unless defined?(ITEM_MARGIN_DELETED)
4459
4466
  ITEM_MARGIN_UPSERTED = 'item_margin_upserted' unless defined?(ITEM_MARGIN_UPSERTED)
4467
+ ITEM_SALES_MARGIN_DELETED = 'item_sales_margin_deleted' unless defined?(ITEM_SALES_MARGIN_DELETED)
4468
+ ITEM_SALES_MARGIN_UPSERTED = 'item_sales_margin_upserted' unless defined?(ITEM_SALES_MARGIN_UPSERTED)
4460
4469
  LABEL_FORMAT_DELETED = 'label_format_deleted' unless defined?(LABEL_FORMAT_DELETED)
4461
4470
  LABEL_FORMAT_UPSERTED = 'label_format_upserted' unless defined?(LABEL_FORMAT_UPSERTED)
4462
4471
  ORDER_DELETED = 'order_deleted' unless defined?(ORDER_DELETED)
@@ -4509,7 +4518,7 @@ module Io
4509
4518
  end
4510
4519
 
4511
4520
  def subtype_to_hash
4512
- 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, experience_deleted, experience_upserted, item_margin_deleted, item_margin_upserted, label_format_deleted, label_format_upserted, order_deleted, order_upserted, order_identifier_deleted, order_identifier_upserted, pricing_deleted, pricing_upserted, tier_upserted, tier_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, snapshot_upserted, snapshot_deleted, label_upserted, notification_upserted, notification_deleted, localized_item_upserted, localized_item_deleted, localized_item_snapshot, membership_upserted, membership_deleted, organization_upserted, organization_deleted, authorization_upserted, authorization_deleted, capture_upserted, card_upserted, card_deleted, refund_upserted, return_upserted, return_deleted, targeting_item_upserted, targeting_item_deleted, tracking_label_event_upserted'
4521
+ 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, 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, pricing_deleted, pricing_upserted, tier_upserted, tier_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, snapshot_upserted, snapshot_deleted, label_upserted, notification_upserted, notification_deleted, localized_item_upserted, localized_item_deleted, localized_item_snapshot, membership_upserted, membership_deleted, organization_upserted, organization_deleted, authorization_upserted, authorization_deleted, capture_upserted, card_upserted, card_deleted, refund_upserted, return_upserted, return_deleted, targeting_item_upserted, targeting_item_deleted, tracking_label_event_upserted'
4513
4522
  end
4514
4523
 
4515
4524
  def to_hash
@@ -4539,6 +4548,8 @@ module Io
4539
4548
  when Types::EXPERIENCE_UPSERTED; ExperienceUpserted.new(hash)
4540
4549
  when Types::ITEM_MARGIN_DELETED; ItemMarginDeleted.new(hash)
4541
4550
  when Types::ITEM_MARGIN_UPSERTED; ItemMarginUpserted.new(hash)
4551
+ when Types::ITEM_SALES_MARGIN_DELETED; ItemSalesMarginDeleted.new(hash)
4552
+ when Types::ITEM_SALES_MARGIN_UPSERTED; ItemSalesMarginUpserted.new(hash)
4542
4553
  when Types::LABEL_FORMAT_DELETED; LabelFormatDeleted.new(hash)
4543
4554
  when Types::LABEL_FORMAT_UPSERTED; LabelFormatUpserted.new(hash)
4544
4555
  when Types::ORDER_DELETED; OrderDeleted.new(hash)
@@ -4610,6 +4621,68 @@ module Io
4610
4621
 
4611
4622
  end
4612
4623
 
4624
+ class ExpandableCard
4625
+
4626
+ module Types
4627
+ CARD = 'card' unless defined?(CARD)
4628
+ CARD_REFERENCE = 'card_reference' unless defined?(CARD_REFERENCE)
4629
+ end
4630
+
4631
+ attr_reader :discriminator
4632
+
4633
+ def initialize(incoming={})
4634
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4635
+ HttpClient::Preconditions.require_keys(opts, [:discriminator], 'ExpandableCard')
4636
+ @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator), String)
4637
+ end
4638
+
4639
+ def subtype_to_hash
4640
+ raise 'Cannot serialize an instance of expandable_card directly - must use one of the specific types: card, card_reference'
4641
+ end
4642
+
4643
+ def to_hash
4644
+ subtype_to_hash.merge(:discriminator => @discriminator)
4645
+ end
4646
+
4647
+ def ExpandableCard.from_json(hash)
4648
+ HttpClient::Preconditions.assert_class('hash', hash, Hash)
4649
+ discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip
4650
+ if discriminator.empty?
4651
+ raise "Union type[expandable_card] requires a field named 'discriminator'"
4652
+ end
4653
+ case discriminator
4654
+ when Types::CARD; Card.new(hash)
4655
+ when Types::CARD_REFERENCE; CardReference.new(hash)
4656
+ else ExpandableCardUndefinedType.new(:discriminator => discriminator)
4657
+ end
4658
+ end
4659
+
4660
+ end
4661
+
4662
+ class ExpandableCardUndefinedType < ExpandableCard
4663
+
4664
+ attr_reader :name
4665
+
4666
+ def initialize(incoming={})
4667
+ super(:discriminator => 'undefined_type')
4668
+ opts = HttpClient::Helper.symbolize_keys(incoming)
4669
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:discriminator), String)
4670
+ end
4671
+
4672
+ def subtype_to_hash
4673
+ raise 'Unable to serialize undefined type to json'
4674
+ end
4675
+
4676
+ def copy(incoming={})
4677
+ raise 'Operation not supported for undefined type'
4678
+ end
4679
+
4680
+ def to_hash
4681
+ raise 'Operation not supported for undefined type'
4682
+ end
4683
+
4684
+ end
4685
+
4613
4686
  # An item function can be represented with just its Id, or the entire model
4614
4687
  class ExpandableItemFunction
4615
4688
 
@@ -5894,6 +5967,47 @@ module Io
5894
5967
 
5895
5968
  end
5896
5969
 
5970
+ class AuthorizationOption
5971
+
5972
+ attr_reader :value
5973
+
5974
+ def initialize(value)
5975
+ @value = HttpClient::Preconditions.assert_class('value', value, String)
5976
+ end
5977
+
5978
+ # Returns the instance of AuthorizationOption for this value, creating a new instance for an unknown value
5979
+ def AuthorizationOption.apply(value)
5980
+ if value.instance_of?(AuthorizationOption)
5981
+ value
5982
+ else
5983
+ HttpClient::Preconditions.assert_class_or_nil('value', value, String)
5984
+ value.nil? ? nil : (from_string(value) || AuthorizationOption.new(value))
5985
+ end
5986
+ end
5987
+
5988
+ # Returns the instance of AuthorizationOption for this value, or nil if not found
5989
+ def AuthorizationOption.from_string(value)
5990
+ HttpClient::Preconditions.assert_class('value', value, String)
5991
+ AuthorizationOption.ALL.find { |v| v.value == value }
5992
+ end
5993
+
5994
+ def AuthorizationOption.ALL
5995
+ @@all ||= [AuthorizationOption.store_card]
5996
+ end
5997
+
5998
+ # If set, and the authorization is created using a one time nonce, we
5999
+ # automatically tokenize and store the card. In these cases you will want to
6000
+ # store the new card token in the authorization response (card object)
6001
+ def AuthorizationOption.store_card
6002
+ @@_store_card ||= AuthorizationOption.new('store_card')
6003
+ end
6004
+
6005
+ def to_hash
6006
+ value
6007
+ end
6008
+
6009
+ end
6010
+
5897
6011
  class AuthorizationStatus
5898
6012
 
5899
6013
  attr_reader :value
@@ -6615,7 +6729,7 @@ module Io
6615
6729
  end
6616
6730
 
6617
6731
  def EventType.ALL
6618
- @@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.experience_deleted, EventType.experience_upserted, EventType.item_margin_deleted, EventType.item_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.pricing_deleted, EventType.pricing_upserted, EventType.tier_upserted, EventType.tier_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.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.notification_upserted, EventType.notification_deleted, EventType.localized_item_upserted, EventType.localized_item_deleted, EventType.localized_item_snapshot, EventType.membership_upserted, EventType.membership_deleted, EventType.organization_upserted, EventType.organization_deleted, EventType.authorization_upserted, EventType.authorization_deleted, EventType.capture_upserted, EventType.card_upserted, EventType.card_deleted, EventType.refund_upserted, EventType.return_upserted, EventType.return_deleted, EventType.targeting_item_upserted, EventType.targeting_item_deleted, EventType.tracking_label_event_upserted]
6732
+ @@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.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.pricing_deleted, EventType.pricing_upserted, EventType.tier_upserted, EventType.tier_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.snapshot_upserted, EventType.snapshot_deleted, EventType.label_upserted, EventType.notification_upserted, EventType.notification_deleted, EventType.localized_item_upserted, EventType.localized_item_deleted, EventType.localized_item_snapshot, EventType.membership_upserted, EventType.membership_deleted, EventType.organization_upserted, EventType.organization_deleted, EventType.authorization_upserted, EventType.authorization_deleted, EventType.capture_upserted, EventType.card_upserted, EventType.card_deleted, EventType.refund_upserted, EventType.return_upserted, EventType.return_deleted, EventType.targeting_item_upserted, EventType.targeting_item_deleted, EventType.tracking_label_event_upserted]
6619
6733
  end
6620
6734
 
6621
6735
  def EventType.attribute_upserted
@@ -6682,6 +6796,14 @@ module Io
6682
6796
  @@_item_margin_upserted ||= EventType.new('item_margin_upserted')
6683
6797
  end
6684
6798
 
6799
+ def EventType.item_sales_margin_deleted
6800
+ @@_item_sales_margin_deleted ||= EventType.new('item_sales_margin_deleted')
6801
+ end
6802
+
6803
+ def EventType.item_sales_margin_upserted
6804
+ @@_item_sales_margin_upserted ||= EventType.new('item_sales_margin_upserted')
6805
+ end
6806
+
6685
6807
  def EventType.label_format_deleted
6686
6808
  @@_label_format_deleted ||= EventType.new('label_format_deleted')
6687
6809
  end
@@ -7466,7 +7588,7 @@ module Io
7466
7588
  end
7467
7589
 
7468
7590
  def OrderPriceDetailComponentKey.ALL
7469
- @@all ||= [OrderPriceDetailComponentKey.adjustment, OrderPriceDetailComponentKey.vat_deminimis, OrderPriceDetailComponentKey.duty_deminimis, OrderPriceDetailComponentKey.duties_item_price, OrderPriceDetailComponentKey.duties_freight, OrderPriceDetailComponentKey.duties_insurance, OrderPriceDetailComponentKey.vat_item_price, OrderPriceDetailComponentKey.vat_freight, OrderPriceDetailComponentKey.vat_insurance, OrderPriceDetailComponentKey.vat_duties_item_price, OrderPriceDetailComponentKey.vat_duties_freight, OrderPriceDetailComponentKey.vat_duties_insurance, OrderPriceDetailComponentKey.item_price, OrderPriceDetailComponentKey.rounding, OrderPriceDetailComponentKey.insurance, OrderPriceDetailComponentKey.shipping, OrderPriceDetailComponentKey.order_discount]
7591
+ @@all ||= [OrderPriceDetailComponentKey.adjustment, OrderPriceDetailComponentKey.vat_deminimis, OrderPriceDetailComponentKey.duty_deminimis, OrderPriceDetailComponentKey.duties_item_price, OrderPriceDetailComponentKey.duties_freight, OrderPriceDetailComponentKey.duties_insurance, OrderPriceDetailComponentKey.vat_item_price, OrderPriceDetailComponentKey.vat_freight, OrderPriceDetailComponentKey.vat_insurance, OrderPriceDetailComponentKey.vat_duties_item_price, OrderPriceDetailComponentKey.vat_duties_freight, OrderPriceDetailComponentKey.vat_duties_insurance, OrderPriceDetailComponentKey.item_price, OrderPriceDetailComponentKey.rounding, OrderPriceDetailComponentKey.insurance, OrderPriceDetailComponentKey.shipping, OrderPriceDetailComponentKey.order_discount, OrderPriceDetailComponentKey.subtotal_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_vat_percent_sales_margin, OrderPriceDetailComponentKey.subtotal_duty_percent_sales_margin]
7470
7592
  end
7471
7593
 
7472
7594
  # A general purpose adjustment applied to the order.
@@ -7558,6 +7680,22 @@ module Io
7558
7680
  @@_order_discount ||= OrderPriceDetailComponentKey.new('order_discount')
7559
7681
  end
7560
7682
 
7683
+ # The sum of adjustments to item price, margin and rounding made due to
7684
+ # percentage sales margins.
7685
+ def OrderPriceDetailComponentKey.subtotal_percent_sales_margin
7686
+ @@_subtotal_percent_sales_margin ||= OrderPriceDetailComponentKey.new('subtotal_percent_sales_margin')
7687
+ end
7688
+
7689
+ # The sum of adjustments to VAT owed made due to percentage sales margins.
7690
+ def OrderPriceDetailComponentKey.subtotal_vat_percent_sales_margin
7691
+ @@_subtotal_vat_percent_sales_margin ||= OrderPriceDetailComponentKey.new('subtotal_vat_percent_sales_margin')
7692
+ end
7693
+
7694
+ # The sum of adjustments to duty owed made due to percentage sales margins.
7695
+ def OrderPriceDetailComponentKey.subtotal_duty_percent_sales_margin
7696
+ @@_subtotal_duty_percent_sales_margin ||= OrderPriceDetailComponentKey.new('subtotal_duty_percent_sales_margin')
7697
+ end
7698
+
7561
7699
  def to_hash
7562
7700
  value
7563
7701
  end
@@ -7752,7 +7890,7 @@ module Io
7752
7890
  end
7753
7891
 
7754
7892
  def PriceDetailComponentKey.ALL
7755
- @@all ||= [PriceDetailComponentKey.base_price, PriceDetailComponentKey.discount, PriceDetailComponentKey.currency_margin, PriceDetailComponentKey.percent_item_margin, PriceDetailComponentKey.fixed_item_margin, PriceDetailComponentKey.duties_item_price, PriceDetailComponentKey.duties_added_margin, PriceDetailComponentKey.duties_rounding, PriceDetailComponentKey.duties_deminimis, PriceDetailComponentKey.vat_item_price, PriceDetailComponentKey.vat_added_margin, PriceDetailComponentKey.vat_rounding, PriceDetailComponentKey.vat_duties_item_price, PriceDetailComponentKey.vat_duties_added_margin, PriceDetailComponentKey.vat_duties_rounding, PriceDetailComponentKey.vat_deminimis]
7893
+ @@all ||= [PriceDetailComponentKey.base_price, PriceDetailComponentKey.discount, PriceDetailComponentKey.currency_margin, PriceDetailComponentKey.percent_item_margin, PriceDetailComponentKey.fixed_item_margin, PriceDetailComponentKey.duties_item_price, PriceDetailComponentKey.duties_added_margin, PriceDetailComponentKey.duties_rounding, PriceDetailComponentKey.duties_deminimis, PriceDetailComponentKey.vat_item_price, PriceDetailComponentKey.vat_added_margin, PriceDetailComponentKey.vat_rounding, PriceDetailComponentKey.vat_duties_item_price, PriceDetailComponentKey.vat_duties_added_margin, PriceDetailComponentKey.vat_duties_rounding, PriceDetailComponentKey.vat_deminimis, PriceDetailComponentKey.item_price_percent_sales_margin, PriceDetailComponentKey.margins_percent_sales_margin, PriceDetailComponentKey.rounding_percent_sales_margin, PriceDetailComponentKey.vat_percent_sales_margin, PriceDetailComponentKey.duty_percent_sales_margin]
7756
7894
  end
7757
7895
 
7758
7896
  # The base price of the item.
@@ -7760,24 +7898,25 @@ module Io
7760
7898
  @@_base_price ||= PriceDetailComponentKey.new('base_price')
7761
7899
  end
7762
7900
 
7763
- # A discount applied to the item.
7901
+ # A discount applied to the base price of the item.
7764
7902
  def PriceDetailComponentKey.discount
7765
7903
  @@_discount ||= PriceDetailComponentKey.new('discount')
7766
7904
  end
7767
7905
 
7768
- # The amount added to the post-discount base item price due to FX markup, as
7906
+ # The amount added to the post-discount item price due to FX markup, as
7769
7907
  # configured in the organization's currency settings.
7770
7908
  def PriceDetailComponentKey.currency_margin
7771
7909
  @@_currency_margin ||= PriceDetailComponentKey.new('currency_margin')
7772
7910
  end
7773
7911
 
7774
- # The amount added to the total item price from the percent margin, if
7775
- # applicable.
7912
+ # The amount added to the post-discount item price from a percent item margin.
7913
+ # Negative amounts represent discounts.
7776
7914
  def PriceDetailComponentKey.percent_item_margin
7777
7915
  @@_percent_item_margin ||= PriceDetailComponentKey.new('percent_item_margin')
7778
7916
  end
7779
7917
 
7780
- # The amount added to the total item price from the fixed margin, if applicable.
7918
+ # The amount added to the post-discount item price from a fixed item margin.
7919
+ # Negative amounts represent discounts.
7781
7920
  def PriceDetailComponentKey.fixed_item_margin
7782
7921
  @@_fixed_item_margin ||= PriceDetailComponentKey.new('fixed_item_margin')
7783
7922
  end
@@ -7840,6 +7979,31 @@ module Io
7840
7979
  @@_vat_deminimis ||= PriceDetailComponentKey.new('vat_deminimis')
7841
7980
  end
7842
7981
 
7982
+ # An adjustment made to the item price as a result of a percent sales margin.
7983
+ def PriceDetailComponentKey.item_price_percent_sales_margin
7984
+ @@_item_price_percent_sales_margin ||= PriceDetailComponentKey.new('item_price_percent_sales_margin')
7985
+ end
7986
+
7987
+ # An adjustment made to the item margins as a result of a percent sales margin.
7988
+ def PriceDetailComponentKey.margins_percent_sales_margin
7989
+ @@_margins_percent_sales_margin ||= PriceDetailComponentKey.new('margins_percent_sales_margin')
7990
+ end
7991
+
7992
+ # An adjustment made to rounding as a result of a percent sales margin.
7993
+ def PriceDetailComponentKey.rounding_percent_sales_margin
7994
+ @@_rounding_percent_sales_margin ||= PriceDetailComponentKey.new('rounding_percent_sales_margin')
7995
+ end
7996
+
7997
+ # An adjustment made to VAT owed as a result of a percent sales margin.
7998
+ def PriceDetailComponentKey.vat_percent_sales_margin
7999
+ @@_vat_percent_sales_margin ||= PriceDetailComponentKey.new('vat_percent_sales_margin')
8000
+ end
8001
+
8002
+ # An adjustment made to duty owed as a result of a percent sales margin.
8003
+ def PriceDetailComponentKey.duty_percent_sales_margin
8004
+ @@_duty_percent_sales_margin ||= PriceDetailComponentKey.new('duty_percent_sales_margin')
8005
+ end
8006
+
7843
8007
  def to_hash
7844
8008
  value
7845
8009
  end
@@ -7871,7 +8035,7 @@ module Io
7871
8035
  end
7872
8036
 
7873
8037
  def PriceDetailKey.ALL
7874
- @@all ||= [PriceDetailKey.item_price, PriceDetailKey.margins, PriceDetailKey.vat, PriceDetailKey.duty, PriceDetailKey.rounding]
8038
+ @@all ||= [PriceDetailKey.item_price, PriceDetailKey.margins, PriceDetailKey.vat, PriceDetailKey.duty, PriceDetailKey.rounding, PriceDetailKey.adjustment]
7875
8039
  end
7876
8040
 
7877
8041
  # The details of the item price.
@@ -7899,6 +8063,12 @@ module Io
7899
8063
  @@_rounding ||= PriceDetailKey.new('rounding')
7900
8064
  end
7901
8065
 
8066
+ # The details of any price adjustments due to sales margins. A negative value
8067
+ # indicates a discount.
8068
+ def PriceDetailKey.adjustment
8069
+ @@_adjustment ||= PriceDetailKey.new('adjustment')
8070
+ end
8071
+
7902
8072
  def to_hash
7903
8073
  value
7904
8074
  end
@@ -9790,10 +9960,10 @@ module Io
9790
9960
 
9791
9961
  def initialize(incoming={})
9792
9962
  opts = HttpClient::Helper.symbolize_keys(incoming)
9793
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :card, :amount, :currency, :customer, :attributes, :result, :created_at], 'Authorization')
9963
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :amount, :currency, :customer, :attributes, :result, :created_at], 'Authorization')
9794
9964
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
9795
9965
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
9796
- @card = (x = opts.delete(:card); x.is_a?(::Io::Flow::V0::Models::CardReference) ? x : ::Io::Flow::V0::Models::CardReference.new(x))
9966
+ @card = (x = opts.delete(:card); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ExpandableCard) ? x : ::Io::Flow::V0::Models::ExpandableCard.from_json(x)))
9797
9967
  @amount = HttpClient::Preconditions.assert_class('amount', HttpClient::Helper.to_big_decimal(opts.delete(:amount)), BigDecimal)
9798
9968
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
9799
9969
  @customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
@@ -9817,7 +9987,7 @@ module Io
9817
9987
  {
9818
9988
  :id => id,
9819
9989
  :key => key,
9820
- :card => card.to_hash,
9990
+ :card => card.nil? ? nil : card.to_hash,
9821
9991
  :amount => amount,
9822
9992
  :currency => currency,
9823
9993
  :customer => customer.to_hash,
@@ -10287,11 +10457,12 @@ module Io
10287
10457
  # channels (like the user's browser via JavaScript) and can be used once only.
10288
10458
  # If you have a nonce you can exchange it for a permanent card token via the
10289
10459
  # operation POST /:organization/cards/nonces
10290
- class Card
10460
+ class Card < ExpandableCard
10291
10461
 
10292
10462
  attr_reader :id, :token, :type, :expiration, :iin, :last4, :name, :address
10293
10463
 
10294
10464
  def initialize(incoming={})
10465
+ super(:discriminator => ExpandableCard::Types::CARD)
10295
10466
  opts = HttpClient::Helper.symbolize_keys(incoming)
10296
10467
  HttpClient::Preconditions.require_keys(opts, [:id, :token, :type, :expiration, :iin, :last4, :name], 'Card')
10297
10468
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
@@ -10309,10 +10480,10 @@ module Io
10309
10480
  end
10310
10481
 
10311
10482
  def copy(incoming={})
10312
- Card.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10483
+ Card.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10313
10484
  end
10314
10485
 
10315
- def to_hash
10486
+ def subtype_to_hash
10316
10487
  {
10317
10488
  :id => id,
10318
10489
  :token => token,
@@ -10465,11 +10636,12 @@ module Io
10465
10636
 
10466
10637
  end
10467
10638
 
10468
- class CardReference
10639
+ class CardReference < ExpandableCard
10469
10640
 
10470
10641
  attr_reader :id, :token
10471
10642
 
10472
10643
  def initialize(incoming={})
10644
+ super(:discriminator => ExpandableCard::Types::CARD_REFERENCE)
10473
10645
  opts = HttpClient::Helper.symbolize_keys(incoming)
10474
10646
  HttpClient::Preconditions.require_keys(opts, [:id, :token], 'CardReference')
10475
10647
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
@@ -10481,10 +10653,10 @@ module Io
10481
10653
  end
10482
10654
 
10483
10655
  def copy(incoming={})
10484
- CardReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10656
+ CardReference.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10485
10657
  end
10486
10658
 
10487
- def to_hash
10659
+ def subtype_to_hash
10488
10660
  {
10489
10661
  :id => id,
10490
10662
  :token => token
@@ -11509,6 +11681,34 @@ module Io
11509
11681
 
11510
11682
  end
11511
11683
 
11684
+ class DeliveredDutySetting
11685
+
11686
+ attr_reader :default, :available
11687
+
11688
+ def initialize(incoming={})
11689
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11690
+ HttpClient::Preconditions.require_keys(opts, [:default, :available], 'DeliveredDutySetting')
11691
+ @default = (x = opts.delete(:default); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
11692
+ @available = HttpClient::Preconditions.assert_class('available', opts.delete(:available), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)) }
11693
+ end
11694
+
11695
+ def to_json
11696
+ JSON.dump(to_hash)
11697
+ end
11698
+
11699
+ def copy(incoming={})
11700
+ DeliveredDutySetting.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11701
+ end
11702
+
11703
+ def to_hash
11704
+ {
11705
+ :default => default.value,
11706
+ :available => available.map { |o| o.value }
11707
+ }
11708
+ end
11709
+
11710
+ end
11711
+
11512
11712
  # Represents a collection of items, the available delivery option tier for that
11513
11713
  # collection of items, and metadata about those options
11514
11714
  class Delivery
@@ -11965,7 +12165,7 @@ module Io
11965
12165
  # you can capture up to the amount of the authorization.
11966
12166
  class DirectAuthorizationForm < AuthorizationForm
11967
12167
 
11968
- attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :ip
12168
+ attr_reader :token, :amount, :currency, :customer, :key, :cvv, :attributes, :destination, :ip, :options
11969
12169
 
11970
12170
  def initialize(incoming={})
11971
12171
  super(:discriminator => AuthorizationForm::Types::DIRECT_AUTHORIZATION_FORM)
@@ -11980,6 +12180,7 @@ module Io
11980
12180
  @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 })
11981
12181
  @destination = (x = opts.delete(:destination); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x)))
11982
12182
  @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
12183
+ @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
11983
12184
  end
11984
12185
 
11985
12186
  def to_json
@@ -12000,7 +12201,8 @@ module Io
12000
12201
  :cvv => cvv,
12001
12202
  :attributes => attributes.nil? ? nil : attributes,
12002
12203
  :destination => destination.nil? ? nil : destination.to_hash,
12003
- :ip => ip
12204
+ :ip => ip,
12205
+ :options => options.nil? ? nil : options.map { |o| o.value }
12004
12206
  }
12005
12207
  end
12006
12208
 
@@ -12159,11 +12361,11 @@ module Io
12159
12361
  # Experiences define a local experience for a given geographic region
12160
12362
  class Experience
12161
12363
 
12162
- attr_reader :id, :key, :name, :delivered_duty, :region, :country, :currency, :language, :measurement_system, :subcatalog, :position
12364
+ attr_reader :id, :key, :name, :delivered_duty, :region, :country, :currency, :language, :measurement_system, :subcatalog, :position, :settings
12163
12365
 
12164
12366
  def initialize(incoming={})
12165
12367
  opts = HttpClient::Helper.symbolize_keys(incoming)
12166
- HttpClient::Preconditions.require_keys(opts, [:id, :key, :name, :delivered_duty, :region, :country, :currency, :language, :measurement_system, :subcatalog, :position], 'Experience')
12368
+ HttpClient::Preconditions.require_keys(opts, [:id, :key, :name, :delivered_duty, :region, :country, :currency, :language, :measurement_system, :subcatalog, :position, :settings], 'Experience')
12167
12369
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12168
12370
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
12169
12371
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
@@ -12175,6 +12377,7 @@ module Io
12175
12377
  @measurement_system = (x = opts.delete(:measurement_system); x.is_a?(::Io::Flow::V0::Models::MeasurementSystem) ? x : ::Io::Flow::V0::Models::MeasurementSystem.apply(x))
12176
12378
  @subcatalog = (x = opts.delete(:subcatalog); x.is_a?(::Io::Flow::V0::Models::SubcatalogReference) ? x : ::Io::Flow::V0::Models::SubcatalogReference.new(x))
12177
12379
  @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
12380
+ @settings = (x = opts.delete(:settings); x.is_a?(::Io::Flow::V0::Models::ExperienceSettings) ? x : ::Io::Flow::V0::Models::ExperienceSettings.new(x))
12178
12381
  end
12179
12382
 
12180
12383
  def to_json
@@ -12197,7 +12400,8 @@ module Io
12197
12400
  :language => language,
12198
12401
  :measurement_system => measurement_system.value,
12199
12402
  :subcatalog => subcatalog.to_hash,
12200
- :position => position
12403
+ :position => position,
12404
+ :settings => settings.to_hash
12201
12405
  }
12202
12406
  end
12203
12407
 
@@ -12210,10 +12414,10 @@ module Io
12210
12414
 
12211
12415
  def initialize(incoming={})
12212
12416
  opts = HttpClient::Helper.symbolize_keys(incoming)
12213
- HttpClient::Preconditions.require_keys(opts, [:key, :name, :country, :currency, :language, :measurement_system], 'ExperienceDefaults')
12417
+ HttpClient::Preconditions.require_keys(opts, [:key, :name, :delivered_duty, :country, :currency, :language, :measurement_system], 'ExperienceDefaults')
12214
12418
  @key = HttpClient::Preconditions.assert_class('key', opts.delete(:key), String)
12215
12419
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
12216
- @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)))
12420
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
12217
12421
  @country = HttpClient::Preconditions.assert_class('country', opts.delete(:country), String)
12218
12422
  @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
12219
12423
  @language = HttpClient::Preconditions.assert_class('language', opts.delete(:language), String)
@@ -12232,7 +12436,7 @@ module Io
12232
12436
  {
12233
12437
  :key => key,
12234
12438
  :name => name,
12235
- :delivered_duty => delivered_duty.nil? ? nil : delivered_duty.value,
12439
+ :delivered_duty => delivered_duty.value,
12236
12440
  :country => country,
12237
12441
  :currency => currency,
12238
12442
  :language => language,
@@ -12374,6 +12578,32 @@ module Io
12374
12578
 
12375
12579
  end
12376
12580
 
12581
+ class ExperienceSettings
12582
+
12583
+ attr_reader :delivered_duty
12584
+
12585
+ def initialize(incoming={})
12586
+ opts = HttpClient::Helper.symbolize_keys(incoming)
12587
+ HttpClient::Preconditions.require_keys(opts, [:delivered_duty], 'ExperienceSettings')
12588
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDutySetting) ? x : ::Io::Flow::V0::Models::DeliveredDutySetting.new(x))
12589
+ end
12590
+
12591
+ def to_json
12592
+ JSON.dump(to_hash)
12593
+ end
12594
+
12595
+ def copy(incoming={})
12596
+ ExperienceSettings.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12597
+ end
12598
+
12599
+ def to_hash
12600
+ {
12601
+ :delivered_duty => delivered_duty.to_hash
12602
+ }
12603
+ end
12604
+
12605
+ end
12606
+
12377
12607
  # Some important fields related to experiences used in various APIs
12378
12608
  class ExperienceSummary
12379
12609
 
@@ -15218,6 +15448,86 @@ module Io
15218
15448
 
15219
15449
  end
15220
15450
 
15451
+ class ItemSalesMarginDeleted < Event
15452
+
15453
+ attr_reader :event_id, :timestamp, :item_sales_margin_id, :organization_id, :experience_key
15454
+
15455
+ def initialize(incoming={})
15456
+ super(:discriminator => Event::Types::ITEM_SALES_MARGIN_DELETED)
15457
+ opts = HttpClient::Helper.symbolize_keys(incoming)
15458
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :item_sales_margin_id, :organization_id, :experience_key], 'ItemSalesMarginDeleted')
15459
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
15460
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
15461
+ @item_sales_margin_id = HttpClient::Preconditions.assert_class('item_sales_margin_id', opts.delete(:item_sales_margin_id), String)
15462
+ @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
15463
+ @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
15464
+ end
15465
+
15466
+ def to_json
15467
+ JSON.dump(to_hash)
15468
+ end
15469
+
15470
+ def copy(incoming={})
15471
+ ItemSalesMarginDeleted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
15472
+ end
15473
+
15474
+ def subtype_to_hash
15475
+ {
15476
+ :event_id => event_id,
15477
+ :timestamp => timestamp,
15478
+ :item_sales_margin_id => item_sales_margin_id,
15479
+ :organization_id => organization_id,
15480
+ :experience_key => experience_key
15481
+ }
15482
+ end
15483
+
15484
+ end
15485
+
15486
+ class ItemSalesMarginUpserted < Event
15487
+
15488
+ attr_reader :event_id, :timestamp, :item_sales_margin_id, :organization_id, :experience_key, :name, :q, :fixed, :percent, :position
15489
+
15490
+ def initialize(incoming={})
15491
+ super(:discriminator => Event::Types::ITEM_SALES_MARGIN_UPSERTED)
15492
+ opts = HttpClient::Helper.symbolize_keys(incoming)
15493
+ HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :item_sales_margin_id, :organization_id, :experience_key, :name, :q, :fixed, :percent, :position], 'ItemSalesMarginUpserted')
15494
+ @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
15495
+ @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
15496
+ @item_sales_margin_id = HttpClient::Preconditions.assert_class('item_sales_margin_id', opts.delete(:item_sales_margin_id), String)
15497
+ @organization_id = HttpClient::Preconditions.assert_class('organization_id', opts.delete(:organization_id), String)
15498
+ @experience_key = HttpClient::Preconditions.assert_class('experience_key', opts.delete(:experience_key), String)
15499
+ @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
15500
+ @q = HttpClient::Preconditions.assert_class('q', opts.delete(:q), String)
15501
+ @fixed = HttpClient::Preconditions.assert_class('fixed', HttpClient::Helper.to_big_decimal(opts.delete(:fixed)), BigDecimal)
15502
+ @percent = HttpClient::Preconditions.assert_class('percent', HttpClient::Helper.to_big_decimal(opts.delete(:percent)), BigDecimal)
15503
+ @position = HttpClient::Preconditions.assert_class('position', opts.delete(:position), Integer)
15504
+ end
15505
+
15506
+ def to_json
15507
+ JSON.dump(to_hash)
15508
+ end
15509
+
15510
+ def copy(incoming={})
15511
+ ItemSalesMarginUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
15512
+ end
15513
+
15514
+ def subtype_to_hash
15515
+ {
15516
+ :event_id => event_id,
15517
+ :timestamp => timestamp,
15518
+ :item_sales_margin_id => item_sales_margin_id,
15519
+ :organization_id => organization_id,
15520
+ :experience_key => experience_key,
15521
+ :name => name,
15522
+ :q => q,
15523
+ :fixed => fixed,
15524
+ :percent => percent,
15525
+ :position => position
15526
+ }
15527
+ end
15528
+
15529
+ end
15530
+
15221
15531
  # Statistics covering product catalog item information, including total catalog
15222
15532
  # item count, number of distinct categories, etc.
15223
15533
  class ItemStatistics
@@ -15503,8 +15813,8 @@ module Io
15503
15813
  HttpClient::Preconditions.require_keys(opts, [:item_number, :quantity, :price, :total], 'Line')
15504
15814
  @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String)
15505
15815
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
15506
- @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
15507
- @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
15816
+ @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
15817
+ @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::PriceWithBase) ? x : ::Io::Flow::V0::Models::PriceWithBase.new(x))
15508
15818
  end
15509
15819
 
15510
15820
  def to_json
@@ -15642,13 +15952,15 @@ module Io
15642
15952
 
15643
15953
  class LocalPriceDetails
15644
15954
 
15645
- attr_reader :base, :local
15955
+ attr_reader :base, :local, :discount, :local_before_discount
15646
15956
 
15647
15957
  def initialize(incoming={})
15648
15958
  opts = HttpClient::Helper.symbolize_keys(incoming)
15649
15959
  HttpClient::Preconditions.require_keys(opts, [:base, :local], 'LocalPriceDetails')
15650
15960
  @base = (x = opts.delete(:base); x.is_a?(::Io::Flow::V0::Models::PriceDetails) ? x : ::Io::Flow::V0::Models::PriceDetails.new(x))
15651
15961
  @local = (x = opts.delete(:local); x.is_a?(::Io::Flow::V0::Models::PriceDetails) ? x : ::Io::Flow::V0::Models::PriceDetails.new(x))
15962
+ @discount = (x = opts.delete(:discount); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PriceDetail) ? x : ::Io::Flow::V0::Models::PriceDetail.new(x)))
15963
+ @local_before_discount = (x = opts.delete(:local_before_discount); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PriceDetail) ? x : ::Io::Flow::V0::Models::PriceDetail.new(x)))
15652
15964
  end
15653
15965
 
15654
15966
  def to_json
@@ -15662,7 +15974,9 @@ module Io
15662
15974
  def to_hash
15663
15975
  {
15664
15976
  :base => base.to_hash,
15665
- :local => local.to_hash
15977
+ :local => local.to_hash,
15978
+ :discount => discount.nil? ? nil : discount.to_hash,
15979
+ :local_before_discount => local_before_discount.nil? ? nil : local_before_discount.to_hash
15666
15980
  }
15667
15981
  end
15668
15982
 
@@ -16363,7 +16677,7 @@ module Io
16363
16677
  # you can capture up to the amount of the authorization
16364
16678
  class MerchantOfRecordAuthorizationForm < AuthorizationForm
16365
16679
 
16366
- attr_reader :token, :order_number, :key, :cvv, :attributes, :ip
16680
+ attr_reader :token, :order_number, :key, :cvv, :attributes, :ip, :options
16367
16681
 
16368
16682
  def initialize(incoming={})
16369
16683
  super(:discriminator => AuthorizationForm::Types::MERCHANT_OF_RECORD_AUTHORIZATION_FORM)
@@ -16375,6 +16689,7 @@ module Io
16375
16689
  @cvv = (x = opts.delete(:cvv); x.nil? ? nil : HttpClient::Preconditions.assert_class('cvv', x, String))
16376
16690
  @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 })
16377
16691
  @ip = (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String))
16692
+ @options = (x = opts.delete(:options); x.nil? ? nil : HttpClient::Preconditions.assert_class('options', x, Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::AuthorizationOption) ? x : ::Io::Flow::V0::Models::AuthorizationOption.apply(x)) })
16378
16693
  end
16379
16694
 
16380
16695
  def to_json
@@ -16392,7 +16707,8 @@ module Io
16392
16707
  :key => key,
16393
16708
  :cvv => cvv,
16394
16709
  :attributes => attributes.nil? ? nil : attributes,
16395
- :ip => ip
16710
+ :ip => ip,
16711
+ :options => options.nil? ? nil : options.map { |o| o.value }
16396
16712
  }
16397
16713
  end
16398
16714
 
@@ -16648,14 +16964,15 @@ module Io
16648
16964
  # payment authorization for an order.
16649
16965
  class Order
16650
16966
 
16651
- attr_reader :id, :number, :customer, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes, :submitted_at, :lines, :identifiers, :promotions
16967
+ attr_reader :id, :number, :customer, :delivered_duty, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes, :submitted_at, :lines, :identifiers, :promotions
16652
16968
 
16653
16969
  def initialize(incoming={})
16654
16970
  opts = HttpClient::Helper.symbolize_keys(incoming)
16655
- HttpClient::Preconditions.require_keys(opts, [:id, :number, :customer, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes], 'Order')
16971
+ HttpClient::Preconditions.require_keys(opts, [:id, :number, :customer, :delivered_duty, :destination, :expires_at, :items, :deliveries, :selections, :prices, :total, :attributes], 'Order')
16656
16972
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
16657
16973
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
16658
16974
  @customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
16975
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
16659
16976
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x))
16660
16977
  @expires_at = HttpClient::Preconditions.assert_class('expires_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:expires_at)), DateTime)
16661
16978
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LocalizedLineItem) ? x : ::Io::Flow::V0::Models::LocalizedLineItem.new(x)) }
@@ -16683,6 +17000,7 @@ module Io
16683
17000
  :id => id,
16684
17001
  :number => number,
16685
17002
  :customer => customer.to_hash,
17003
+ :delivered_duty => delivered_duty.value,
16686
17004
  :destination => destination.to_hash,
16687
17005
  :expires_at => expires_at,
16688
17006
  :items => items.map { |o| o.to_hash },
@@ -16923,13 +17241,14 @@ module Io
16923
17241
  # pricing and delivery options for destination and items/quantities specified
16924
17242
  class OrderForm
16925
17243
 
16926
- attr_reader :customer, :items, :number, :destination, :discount, :attributes
17244
+ attr_reader :customer, :items, :delivered_duty, :number, :destination, :discount, :attributes
16927
17245
 
16928
17246
  def initialize(incoming={})
16929
17247
  opts = HttpClient::Helper.symbolize_keys(incoming)
16930
17248
  HttpClient::Preconditions.require_keys(opts, [:items], 'OrderForm')
16931
17249
  @customer = (x = opts.delete(:customer); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x)))
16932
17250
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
17251
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)))
16933
17252
  @number = (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, String))
16934
17253
  @destination = (x = opts.delete(:destination); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x)))
16935
17254
  @discount = (x = opts.delete(:discount); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
@@ -16948,6 +17267,7 @@ module Io
16948
17267
  {
16949
17268
  :customer => customer.nil? ? nil : customer.to_hash,
16950
17269
  :items => items.map { |o| o.to_hash },
17270
+ :delivered_duty => delivered_duty.nil? ? nil : delivered_duty.value,
16951
17271
  :number => number,
16952
17272
  :destination => destination.nil? ? nil : destination.to_hash,
16953
17273
  :discount => discount.nil? ? nil : discount.to_hash,
@@ -17221,13 +17541,14 @@ module Io
17221
17541
  # pricing and delivery options for destination and items/quantities specified.
17222
17542
  class OrderPutForm
17223
17543
 
17224
- attr_reader :items, :customer, :selections, :destination, :discount, :attributes
17544
+ attr_reader :items, :customer, :delivered_duty, :selections, :destination, :discount, :attributes
17225
17545
 
17226
17546
  def initialize(incoming={})
17227
17547
  opts = HttpClient::Helper.symbolize_keys(incoming)
17228
17548
  HttpClient::Preconditions.require_keys(opts, [:items], 'OrderPutForm')
17229
17549
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
17230
17550
  @customer = (x = opts.delete(:customer); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x)))
17551
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)))
17231
17552
  @selections = (x = opts.delete(:selections); x.nil? ? nil : HttpClient::Preconditions.assert_class('selections', x, Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) })
17232
17553
  @destination = (x = opts.delete(:destination); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::OrderAddress) ? x : ::Io::Flow::V0::Models::OrderAddress.new(x)))
17233
17554
  @discount = (x = opts.delete(:discount); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Money) ? x : ::Io::Flow::V0::Models::Money.new(x)))
@@ -17246,6 +17567,7 @@ module Io
17246
17567
  {
17247
17568
  :items => items.map { |o| o.to_hash },
17248
17569
  :customer => customer.nil? ? nil : customer.to_hash,
17570
+ :delivered_duty => delivered_duty.nil? ? nil : delivered_duty.value,
17249
17571
  :selections => selections.nil? ? nil : selections,
17250
17572
  :destination => destination.nil? ? nil : destination.to_hash,
17251
17573
  :discount => discount.nil? ? nil : discount.to_hash,
@@ -17285,7 +17607,7 @@ module Io
17285
17607
 
17286
17608
  class OrderUpserted < Event
17287
17609
 
17288
- attr_reader :event_id, :timestamp, :organization, :number, :environment, :experience_id, :expires_at, :customer, :selections, :items, :destination, :deliveries, :prices, :discount, :total, :created_at, :updated_at, :submitted_at, :lines, :attributes
17610
+ attr_reader :event_id, :timestamp, :organization, :number, :environment, :experience_id, :expires_at, :customer, :selections, :items, :destination, :deliveries, :prices, :discount, :delivered_duty, :total, :created_at, :updated_at, :submitted_at, :lines, :attributes
17289
17611
 
17290
17612
  def initialize(incoming={})
17291
17613
  super(:discriminator => Event::Types::ORDER_UPSERTED)
@@ -17305,6 +17627,7 @@ module Io
17305
17627
  @deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| HttpClient::Preconditions.assert_class('deliveries', HttpClient::Helper.to_object(v), Hash) }
17306
17628
  @prices = HttpClient::Preconditions.assert_class('prices', opts.delete(:prices), Array).map { |v| HttpClient::Preconditions.assert_class('prices', HttpClient::Helper.to_object(v), Hash) }
17307
17629
  @discount = (x = opts.delete(:discount); x.nil? ? nil : HttpClient::Preconditions.assert_class('discount', HttpClient::Helper.to_object(x), Hash))
17630
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : HttpClient::Preconditions.assert_class('delivered_duty', x, String))
17308
17631
  @total = HttpClient::Preconditions.assert_class('total', HttpClient::Helper.to_object(opts.delete(:total)), Hash)
17309
17632
  @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
17310
17633
  @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
@@ -17337,6 +17660,7 @@ module Io
17337
17660
  :deliveries => deliveries,
17338
17661
  :prices => prices,
17339
17662
  :discount => discount,
17663
+ :delivered_duty => delivered_duty,
17340
17664
  :total => total,
17341
17665
  :created_at => created_at,
17342
17666
  :updated_at => updated_at,
@@ -17888,7 +18212,7 @@ module Io
17888
18212
 
17889
18213
  class OrganizationUpserted < Event
17890
18214
 
17891
- attr_reader :event_id, :timestamp, :id, :name, :environment, :currencies, :parent_id, :default_base_currency
18215
+ attr_reader :event_id, :timestamp, :id, :name, :environment, :currencies, :parent_id, :default_base_currency, :default_country
17892
18216
 
17893
18217
  def initialize(incoming={})
17894
18218
  super(:discriminator => Event::Types::ORGANIZATION_UPSERTED)
@@ -17902,6 +18226,7 @@ module Io
17902
18226
  @currencies = HttpClient::Preconditions.assert_class('currencies', opts.delete(:currencies), Array).map { |v| HttpClient::Preconditions.assert_class('currencies', v, String) }
17903
18227
  @parent_id = (x = opts.delete(:parent_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('parent_id', x, String))
17904
18228
  @default_base_currency = (x = opts.delete(:default_base_currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('default_base_currency', x, String))
18229
+ @default_country = (x = opts.delete(:default_country); x.nil? ? nil : HttpClient::Preconditions.assert_class('default_country', x, String))
17905
18230
  end
17906
18231
 
17907
18232
  def to_json
@@ -17921,7 +18246,8 @@ module Io
17921
18246
  :environment => environment,
17922
18247
  :currencies => currencies,
17923
18248
  :parent_id => parent_id,
17924
- :default_base_currency => default_base_currency
18249
+ :default_base_currency => default_base_currency,
18250
+ :default_country => default_country
17925
18251
  }
17926
18252
  end
17927
18253
 
@@ -18433,7 +18759,7 @@ module Io
18433
18759
  # Detailed information for the pricing of a given item within an experience.
18434
18760
  class PriceDetails
18435
18761
 
18436
- attr_reader :currency, :item_price, :margins, :vat, :duty, :rounding, :price, :total
18762
+ attr_reader :currency, :item_price, :margins, :vat, :duty, :rounding, :price, :total, :adjustment
18437
18763
 
18438
18764
  def initialize(incoming={})
18439
18765
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -18446,6 +18772,7 @@ module Io
18446
18772
  @rounding = (x = opts.delete(:rounding); x.is_a?(::Io::Flow::V0::Models::PriceDetail) ? x : ::Io::Flow::V0::Models::PriceDetail.new(x))
18447
18773
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
18448
18774
  @total = (x = opts.delete(:total); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
18775
+ @adjustment = (x = opts.delete(:adjustment); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::PriceDetail) ? x : ::Io::Flow::V0::Models::PriceDetail.new(x)))
18449
18776
  end
18450
18777
 
18451
18778
  def to_json
@@ -18465,7 +18792,8 @@ module Io
18465
18792
  :duty => duty.to_hash,
18466
18793
  :rounding => rounding.to_hash,
18467
18794
  :price => price.to_hash,
18468
- :total => total.to_hash
18795
+ :total => total.to_hash,
18796
+ :adjustment => adjustment.nil? ? nil : adjustment.to_hash
18469
18797
  }
18470
18798
  end
18471
18799
 
@@ -18473,7 +18801,7 @@ module Io
18473
18801
 
18474
18802
  class PriceEquation
18475
18803
 
18476
- attr_reader :contracted_rate, :rate, :pricing, :base_price, :discount, :fixed_margin, :percent_margin, :insurance, :freight, :duty, :tax
18804
+ attr_reader :contracted_rate, :rate, :pricing, :base_price, :discount, :fixed_margin, :percent_margin, :insurance, :freight, :duty, :tax, :percent_sales_margin
18477
18805
 
18478
18806
  def initialize(incoming={})
18479
18807
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -18489,6 +18817,7 @@ module Io
18489
18817
  @freight = HttpClient::Preconditions.assert_class('freight', HttpClient::Helper.to_big_decimal(opts.delete(:freight)), BigDecimal)
18490
18818
  @duty = (x = opts.delete(:duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Duty) ? x : ::Io::Flow::V0::Models::Duty.new(x)))
18491
18819
  @tax = (x = opts.delete(:tax); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Tax) ? x : ::Io::Flow::V0::Models::Tax.new(x)))
18820
+ @percent_sales_margin = HttpClient::Preconditions.assert_class('percent_sales_margin', HttpClient::Helper.to_big_decimal((x = opts.delete(:percent_sales_margin); x.nil? ? 0 : x)), BigDecimal)
18492
18821
  end
18493
18822
 
18494
18823
  def to_json
@@ -18511,7 +18840,8 @@ module Io
18511
18840
  :insurance => insurance,
18512
18841
  :freight => freight,
18513
18842
  :duty => duty.nil? ? nil : duty.to_hash,
18514
- :tax => tax.nil? ? nil : tax.to_hash
18843
+ :tax => tax.nil? ? nil : tax.to_hash,
18844
+ :percent_sales_margin => percent_sales_margin
18515
18845
  }
18516
18846
  end
18517
18847
 
@@ -18870,7 +19200,7 @@ module Io
18870
19200
  # that delivery
18871
19201
  class Quote
18872
19202
 
18873
- attr_reader :id, :destination, :deliveries, :selections
19203
+ attr_reader :id, :destination, :deliveries, :selections, :delivered_duty
18874
19204
 
18875
19205
  def initialize(incoming={})
18876
19206
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -18879,6 +19209,7 @@ module Io
18879
19209
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
18880
19210
  @deliveries = HttpClient::Preconditions.assert_class('deliveries', opts.delete(:deliveries), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Delivery) ? x : ::Io::Flow::V0::Models::Delivery.new(x)) }
18881
19211
  @selections = HttpClient::Preconditions.assert_class('selections', opts.delete(:selections), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::DeliveryOptionReference) ? x : ::Io::Flow::V0::Models::DeliveryOptionReference.new(x)) }
19212
+ @delivered_duty = (x = (x = opts.delete(:delivered_duty); x.nil? ? "paid" : x); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
18882
19213
  end
18883
19214
 
18884
19215
  def to_json
@@ -18894,7 +19225,8 @@ module Io
18894
19225
  :id => id,
18895
19226
  :destination => destination.to_hash,
18896
19227
  :deliveries => deliveries.map { |o| o.to_hash },
18897
- :selections => selections.map { |o| o.to_hash }
19228
+ :selections => selections.map { |o| o.to_hash },
19229
+ :delivered_duty => delivered_duty.value
18898
19230
  }
18899
19231
  end
18900
19232
 
@@ -18932,7 +19264,7 @@ module Io
18932
19264
 
18933
19265
  class QuoteForm
18934
19266
 
18935
- attr_reader :destination, :experience, :items
19267
+ attr_reader :destination, :experience, :items, :delivered_duty
18936
19268
 
18937
19269
  def initialize(incoming={})
18938
19270
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -18940,6 +19272,7 @@ module Io
18940
19272
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
18941
19273
  @experience = HttpClient::Preconditions.assert_class('experience', opts.delete(:experience), String)
18942
19274
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItemForm) ? x : ::Io::Flow::V0::Models::LineItemForm.new(x)) }
19275
+ @delivered_duty = (x = opts.delete(:delivered_duty); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x)))
18943
19276
  end
18944
19277
 
18945
19278
  def to_json
@@ -18954,7 +19287,8 @@ module Io
18954
19287
  {
18955
19288
  :destination => destination.to_hash,
18956
19289
  :experience => experience,
18957
- :items => items.map { |o| o.to_hash }
19290
+ :items => items.map { |o| o.to_hash },
19291
+ :delivered_duty => delivered_duty.nil? ? nil : delivered_duty.value
18958
19292
  }
18959
19293
  end
18960
19294
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flowcommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flow Commerce, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-23 00:00:00.000000000 Z
11
+ date: 2017-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json