flowcommerce 0.0.32 → 0.0.33

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e143e50de618a47c9112e3b4453552b936f4a173
4
- data.tar.gz: f348929eaa21ef966c182989d8f7f921ec89c404
3
+ metadata.gz: 0f591f5d199c703ad24544f1329ea4b836a43252
4
+ data.tar.gz: 1027250eec5a737da472d126bd0658eec7873cfd
5
5
  SHA512:
6
- metadata.gz: a5d4cabe6e9f3788a4d069b5602f10fe5b69775150bd6254a4936271a625270a6a8bbf517769c248efe4d19e7a98d82359096b21286a41c4bf70c5bcc341bc8b
7
- data.tar.gz: 2987eb586508f5822aa5bbe8649a29ae5c1afbae20f788a65f38832a5e97d8bc00682eaa4b5bf1f9656c14de9314e9d138d869f4cd7429f6d01dc90bb1bb827d
6
+ metadata.gz: 5e72133c87aadf550cc6b76f574da55926ddff1f41ab71ad800f5cf0b258b71a2079985d753d1f760822d2e6e643d63c8b4947a087eaa8a74f2da6410c89a7f7
7
+ data.tar.gz: 91c72dbd01f657f122cb59f9f401f9b89a78c8b08bd54c2eefc307f176708d091b31ad1e63dc2daba77cfb7b3731f17d3308c97e3330a73a5425e17d4fbe49bd
@@ -1,6 +1,6 @@
1
1
  # Generated by apidoc - http://www.apidoc.me
2
- # Service version: 0.0.95
3
- # apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.95/ruby_client
2
+ # Service version: 0.0.98
3
+ # apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.98/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.33 http://www.apidoc.me/flow/api/0.0.95/ruby_client' unless defined?(Constants::USER_AGENT)
29
- VERSION = '0.0.95' unless defined?(Constants::VERSION)
28
+ USER_AGENT = 'apidoc:0.11.33 http://www.apidoc.me/flow/api/0.0.98/ruby_client' unless defined?(Constants::USER_AGENT)
29
+ VERSION = '0.0.98' unless defined?(Constants::VERSION)
30
30
  VERSION_MAJOR = 0 unless defined?(VERSION_MAJOR)
31
31
 
32
32
  end
@@ -193,22 +193,6 @@ module Io
193
193
  @quotes ||= ::Io::Flow::V0::Clients::Quotes.new(self)
194
194
  end
195
195
 
196
- def ratecards
197
- @ratecards ||= ::Io::Flow::V0::Clients::Ratecards.new(self)
198
- end
199
-
200
- def ratecard_estimates
201
- @ratecard_estimates ||= ::Io::Flow::V0::Clients::RatecardEstimates.new(self)
202
- end
203
-
204
- def ratecard_lanes
205
- @ratecard_lanes ||= ::Io::Flow::V0::Clients::RatecardLanes.new(self)
206
- end
207
-
208
- def ratecard_rates
209
- @ratecard_rates ||= ::Io::Flow::V0::Clients::RatecardRates.new(self)
210
- end
211
-
212
196
  def services
213
197
  @services ||= ::Io::Flow::V0::Clients::Services.new(self)
214
198
  end
@@ -2350,229 +2334,6 @@ module Io
2350
2334
 
2351
2335
  end
2352
2336
 
2353
- class Ratecards
2354
-
2355
- def initialize(client)
2356
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2357
- end
2358
-
2359
- def get(organization, incoming={})
2360
- HttpClient::Preconditions.assert_class('organization', organization, String)
2361
- opts = HttpClient::Helper.symbolize_keys(incoming)
2362
- query = {
2363
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2364
- :number => (x = opts.delete(:number); x.nil? ? nil : HttpClient::Preconditions.assert_class('number', x, String)),
2365
- :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String)),
2366
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2367
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2368
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2369
- }.delete_if { |k, v| v.nil? }
2370
- r = @client.request("/#{CGI.escape(organization)}/ratecards").with_query(query).get
2371
- r.map { |x| ::Io::Flow::V0::Models::Ratecard.new(x) }
2372
- end
2373
-
2374
- def post(organization, ratecard_form)
2375
- HttpClient::Preconditions.assert_class('organization', organization, String)
2376
- HttpClient::Preconditions.assert_class('ratecard_form', ratecard_form, ::Io::Flow::V0::Models::RatecardForm)
2377
- r = @client.request("/#{CGI.escape(organization)}/ratecards").with_json(ratecard_form.to_json).post
2378
- ::Io::Flow::V0::Models::Ratecard.new(r)
2379
- end
2380
-
2381
- def get_by_id(organization, id)
2382
- HttpClient::Preconditions.assert_class('organization', organization, String)
2383
- HttpClient::Preconditions.assert_class('id', id, String)
2384
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(id)}").get
2385
- ::Io::Flow::V0::Models::Ratecard.new(r)
2386
- end
2387
-
2388
- def put_publish_by_id(organization, id, hash)
2389
- HttpClient::Preconditions.assert_class('organization', organization, String)
2390
- HttpClient::Preconditions.assert_class('id', id, String)
2391
- HttpClient::Preconditions.assert_class('hash', hash, Hash)
2392
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(id)}/publish").with_json(hash.to_json).put
2393
- ::Io::Flow::V0::Models::Ratecard.new(r)
2394
- end
2395
-
2396
- def get_versions(organization, incoming={})
2397
- HttpClient::Preconditions.assert_class('organization', organization, String)
2398
- opts = HttpClient::Helper.symbolize_keys(incoming)
2399
- query = {
2400
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2401
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2402
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2403
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2404
- }.delete_if { |k, v| v.nil? }
2405
- r = @client.request("/#{CGI.escape(organization)}/ratecards/versions").with_query(query).get
2406
- r.map { |x| ::Io::Flow::V0::Models::RatecardVersion.new(x) }
2407
- end
2408
-
2409
- end
2410
-
2411
- class RatecardEstimates
2412
-
2413
- def initialize(client)
2414
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2415
- end
2416
-
2417
- # Endpoint to get shipment cost estimates based on applicable rate cards. An
2418
- # origin and destination address must be provided. Final amounts are based on
2419
- # either gravitational weight or dimensional weight. When estimating based off
2420
- # gravitational weight, the weight field must be set. When estimating based
2421
- # off dimensional weight, then length/width/depth must be set. For either one,
2422
- # the appropriate unit of measurement must be given.
2423
- def get(organization, incoming={})
2424
- HttpClient::Preconditions.assert_class('organization', organization, String)
2425
- opts = HttpClient::Helper.symbolize_keys(incoming)
2426
- query = {
2427
- :origin => (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String)),
2428
- :destination => (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String)),
2429
- :weight_unit => (x = opts.delete(:weight_unit); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x)).value),
2430
- :distance_unit => (x = opts.delete(:distance_unit); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x)).value),
2431
- :service => (x = opts.delete(:service); x.nil? ? nil : HttpClient::Preconditions.assert_class('service', x, String)),
2432
- :weight => (x = opts.delete(:weight); x.nil? ? nil : HttpClient::Preconditions.assert_class('weight', x, Numeric)),
2433
- :length => (x = opts.delete(:length); x.nil? ? nil : HttpClient::Preconditions.assert_class('length', x, Numeric)),
2434
- :width => (x = opts.delete(:width); x.nil? ? nil : HttpClient::Preconditions.assert_class('width', x, Numeric)),
2435
- :depth => (x = opts.delete(:depth); x.nil? ? nil : HttpClient::Preconditions.assert_class('depth', x, Numeric)),
2436
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2437
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2438
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2439
- }.delete_if { |k, v| v.nil? }
2440
- r = @client.request("/#{CGI.escape(organization)}/ratecard_estimates").with_query(query).get
2441
- r.map { |x| ::Io::Flow::V0::Models::RatecardEstimate.new(x) }
2442
- end
2443
-
2444
- end
2445
-
2446
- class RatecardLanes
2447
-
2448
- def initialize(client)
2449
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2450
- end
2451
-
2452
- def get(organization, ratecard_id, incoming={})
2453
- HttpClient::Preconditions.assert_class('organization', organization, String)
2454
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2455
- opts = HttpClient::Helper.symbolize_keys(incoming)
2456
- query = {
2457
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2458
- :origin => (x = opts.delete(:origin); x.nil? ? nil : HttpClient::Preconditions.assert_class('origin', x, String)),
2459
- :destination => (x = opts.delete(:destination); x.nil? ? nil : HttpClient::Preconditions.assert_class('destination', x, String)),
2460
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2461
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2462
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2463
- }.delete_if { |k, v| v.nil? }
2464
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes").with_query(query).get
2465
- r.map { |x| ::Io::Flow::V0::Models::RatecardLane.new(x) }
2466
- end
2467
-
2468
- def post(organization, ratecard_id, ratecard_lane_form)
2469
- HttpClient::Preconditions.assert_class('organization', organization, String)
2470
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2471
- HttpClient::Preconditions.assert_class('ratecard_lane_form', ratecard_lane_form, ::Io::Flow::V0::Models::RatecardLaneForm)
2472
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes").with_json(ratecard_lane_form.to_json).post
2473
- ::Io::Flow::V0::Models::RatecardLane.new(r)
2474
- end
2475
-
2476
- def get_by_id(organization, ratecard_id, id)
2477
- HttpClient::Preconditions.assert_class('organization', organization, String)
2478
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2479
- HttpClient::Preconditions.assert_class('id', id, String)
2480
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(id)}").get
2481
- ::Io::Flow::V0::Models::RatecardLane.new(r)
2482
- end
2483
-
2484
- def put_by_id(organization, ratecard_id, id, ratecard_lane_form)
2485
- HttpClient::Preconditions.assert_class('organization', organization, String)
2486
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2487
- HttpClient::Preconditions.assert_class('id', id, String)
2488
- HttpClient::Preconditions.assert_class('ratecard_lane_form', ratecard_lane_form, ::Io::Flow::V0::Models::RatecardLaneForm)
2489
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(id)}").with_json(ratecard_lane_form.to_json).put
2490
- ::Io::Flow::V0::Models::RatecardLane.new(r)
2491
- end
2492
-
2493
- def get_versions(organization, ratecard_id, incoming={})
2494
- HttpClient::Preconditions.assert_class('organization', organization, String)
2495
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2496
- opts = HttpClient::Helper.symbolize_keys(incoming)
2497
- query = {
2498
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2499
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2500
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2501
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2502
- }.delete_if { |k, v| v.nil? }
2503
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/versions").with_query(query).get
2504
- r.map { |x| ::Io::Flow::V0::Models::RatecardLaneVersion.new(x) }
2505
- end
2506
-
2507
- end
2508
-
2509
- class RatecardRates
2510
-
2511
- def initialize(client)
2512
- @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
2513
- end
2514
-
2515
- def get(organization, ratecard_id, lane_id, incoming={})
2516
- HttpClient::Preconditions.assert_class('organization', organization, String)
2517
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2518
- HttpClient::Preconditions.assert_class('lane_id', lane_id, String)
2519
- opts = HttpClient::Helper.symbolize_keys(incoming)
2520
- query = {
2521
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2522
- :weight => (x = opts.delete(:weight); x.nil? ? nil : HttpClient::Preconditions.assert_class('weight', x, Array).map { |v| HttpClient::Preconditions.assert_class('weight', v, Numeric) }),
2523
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2524
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2525
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "-created_at" : x), String)
2526
- }.delete_if { |k, v| v.nil? }
2527
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(lane_id)}/rates").with_query(query).get
2528
- r.map { |x| ::Io::Flow::V0::Models::RatecardRate.new(x) }
2529
- end
2530
-
2531
- def post(organization, ratecard_id, lane_id, ratecard_rate_form)
2532
- HttpClient::Preconditions.assert_class('organization', organization, String)
2533
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2534
- HttpClient::Preconditions.assert_class('lane_id', lane_id, String)
2535
- HttpClient::Preconditions.assert_class('ratecard_rate_form', ratecard_rate_form, ::Io::Flow::V0::Models::RatecardRateForm)
2536
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(lane_id)}/rates").with_json(ratecard_rate_form.to_json).post
2537
- ::Io::Flow::V0::Models::RatecardRate.new(r)
2538
- end
2539
-
2540
- def get_by_id(organization, ratecard_id, lane_id, id)
2541
- HttpClient::Preconditions.assert_class('organization', organization, String)
2542
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2543
- HttpClient::Preconditions.assert_class('lane_id', lane_id, String)
2544
- HttpClient::Preconditions.assert_class('id', id, String)
2545
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(lane_id)}/rates/#{CGI.escape(id)}").get
2546
- ::Io::Flow::V0::Models::RatecardRate.new(r)
2547
- end
2548
-
2549
- def put_by_id(organization, ratecard_id, lane_id, id, ratecard_lane_form)
2550
- HttpClient::Preconditions.assert_class('organization', organization, String)
2551
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2552
- HttpClient::Preconditions.assert_class('lane_id', lane_id, String)
2553
- HttpClient::Preconditions.assert_class('id', id, String)
2554
- HttpClient::Preconditions.assert_class('ratecard_lane_form', ratecard_lane_form, ::Io::Flow::V0::Models::RatecardLaneForm)
2555
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(lane_id)}/rates/#{CGI.escape(id)}").with_json(ratecard_lane_form.to_json).put
2556
- ::Io::Flow::V0::Models::RatecardRate.new(r)
2557
- end
2558
-
2559
- def get_versions(organization, ratecard_id, lane_id, incoming={})
2560
- HttpClient::Preconditions.assert_class('organization', organization, String)
2561
- HttpClient::Preconditions.assert_class('ratecard_id', ratecard_id, String)
2562
- HttpClient::Preconditions.assert_class('lane_id', lane_id, String)
2563
- opts = HttpClient::Helper.symbolize_keys(incoming)
2564
- query = {
2565
- :id => (x = opts.delete(:id); x.nil? ? nil : HttpClient::Preconditions.assert_class('id', x, Array).map { |v| HttpClient::Preconditions.assert_class('id', v, String) }),
2566
- :limit => HttpClient::Preconditions.assert_class('limit', (x = opts.delete(:limit); x.nil? ? 25 : x), Integer),
2567
- :offset => HttpClient::Preconditions.assert_class('offset', (x = opts.delete(:offset); x.nil? ? 0 : x), Integer),
2568
- :sort => HttpClient::Preconditions.assert_class('sort', (x = opts.delete(:sort); x.nil? ? "journal_timestamp" : x), String)
2569
- }.delete_if { |k, v| v.nil? }
2570
- r = @client.request("/#{CGI.escape(organization)}/ratecards/#{CGI.escape(ratecard_id)}/lanes/#{CGI.escape(lane_id)}/rates/versions").with_query(query).get
2571
- r.map { |x| ::Io::Flow::V0::Models::RatecardRateVersion.new(x) }
2572
- end
2573
-
2574
- end
2575
-
2576
2337
  class Services
2577
2338
 
2578
2339
  def initialize(client)
@@ -4258,60 +4019,6 @@ module Io
4258
4019
 
4259
4020
  end
4260
4021
 
4261
- class RatecardFee
4262
-
4263
- module Types
4264
- DDP = 'ddp' unless defined?(DDP)
4265
- FUEL_SURCHARGE = 'fuel_surcharge' unless defined?(FUEL_SURCHARGE)
4266
- OVERSIZED_SHIPMENT = 'oversized_shipment' unless defined?(OVERSIZED_SHIPMENT)
4267
- end
4268
-
4269
- def initialize(incoming={})
4270
- opts = HttpClient::Helper.symbolize_keys(incoming)
4271
- HttpClient::Preconditions.require_keys(opts, [:name], 'RatecardFee')
4272
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
4273
- end
4274
-
4275
- def to_hash
4276
- subtype_to_hash.merge(:discriminator => @name)
4277
- end
4278
-
4279
- def RatecardFee.from_json(hash)
4280
- HttpClient::Preconditions.assert_class('hash', hash, Hash)
4281
- case HttpClient::Helper.symbolize_keys(hash)[:discriminator]
4282
- when Types::DDP; Ddp.new(hash)
4283
- when Types::FUEL_SURCHARGE; FuelSurcharge.new(hash)
4284
- when Types::OVERSIZED_SHIPMENT; OversizedShipment.new(hash)
4285
- else RatecardFeeUndefinedType.new(:name => union_type_name)
4286
- end
4287
- end
4288
-
4289
- end
4290
-
4291
- class RatecardFeeUndefinedType < RatecardFee
4292
-
4293
- attr_reader :name
4294
-
4295
- def initialize(incoming={})
4296
- super(:name => 'undefined_type')
4297
- opts = HttpClient::Helper.symbolize_keys(incoming)
4298
- @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
4299
- end
4300
-
4301
- def subtype_to_hash
4302
- raise 'Unable to serialize undefined type to json'
4303
- end
4304
-
4305
- def copy(incoming={})
4306
- raise 'Operation not supported for undefined type'
4307
- end
4308
-
4309
- def to_hash
4310
- raise 'Operation not supported for undefined type'
4311
- end
4312
-
4313
- end
4314
-
4315
4022
  # Possible outcome types from a tier rule
4316
4023
  class TierRuleOutcome
4317
4024
 
@@ -4990,7 +4697,7 @@ module Io
4990
4697
  end
4991
4698
 
4992
4699
  def LocalizedPriceKey.ALL
4993
- @@all ||= [LocalizedPriceKey.price, LocalizedPriceKey.subtotal, LocalizedPriceKey.vat, LocalizedPriceKey.duty, LocalizedPriceKey.shipping, LocalizedPriceKey.total]
4700
+ @@all ||= [LocalizedPriceKey.price, LocalizedPriceKey.subtotal, LocalizedPriceKey.vat, LocalizedPriceKey.duty, LocalizedPriceKey.discount, LocalizedPriceKey.shipping, LocalizedPriceKey.total]
4994
4701
  end
4995
4702
 
4996
4703
  # The calculated price, taking into account pricing settings. For example, if
@@ -5013,6 +4720,10 @@ module Io
5013
4720
  @@_duty ||= LocalizedPriceKey.new('duty')
5014
4721
  end
5015
4722
 
4723
+ def LocalizedPriceKey.discount
4724
+ @@_discount ||= LocalizedPriceKey.new('discount')
4725
+ end
4726
+
5016
4727
  def LocalizedPriceKey.shipping
5017
4728
  @@_shipping ||= LocalizedPriceKey.new('shipping')
5018
4729
  end
@@ -7777,33 +7488,6 @@ module Io
7777
7488
 
7778
7489
  end
7779
7490
 
7780
- class Ddp < RatecardFee
7781
-
7782
- attr_reader :amount
7783
-
7784
- def initialize(incoming={})
7785
- super(:name => RatecardFee::Types::DDP)
7786
- opts = HttpClient::Helper.symbolize_keys(incoming)
7787
- HttpClient::Preconditions.require_keys(opts, [:amount], 'Ddp')
7788
- @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
7789
- end
7790
-
7791
- def to_json
7792
- JSON.dump(to_hash)
7793
- end
7794
-
7795
- def copy(incoming={})
7796
- Ddp.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
7797
- end
7798
-
7799
- def subtype_to_hash
7800
- {
7801
- :amount => amount
7802
- }
7803
- end
7804
-
7805
- end
7806
-
7807
7491
  # Represents a collection of items, the available delivery option tier for that
7808
7492
  # collection of items, and metadata about those options
7809
7493
  class Delivery
@@ -7882,7 +7566,7 @@ module Io
7882
7566
  @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
7883
7567
  @price = (x = opts.delete(:price); x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x))
7884
7568
  @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
7885
- @tier = (x = opts.delete(:tier); x.is_a?(::Io::Flow::V0::Models::TierReference) ? x : ::Io::Flow::V0::Models::TierReference.new(x))
7569
+ @tier = (x = opts.delete(:tier); x.is_a?(::Io::Flow::V0::Models::TierSummary) ? x : ::Io::Flow::V0::Models::TierSummary.new(x))
7886
7570
  @window = (x = opts.delete(:window); x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x))
7887
7571
  end
7888
7572
 
@@ -8850,33 +8534,6 @@ module Io
8850
8534
 
8851
8535
  end
8852
8536
 
8853
- class FuelSurcharge < RatecardFee
8854
-
8855
- attr_reader :amount
8856
-
8857
- def initialize(incoming={})
8858
- super(:name => RatecardFee::Types::FUEL_SURCHARGE)
8859
- opts = HttpClient::Helper.symbolize_keys(incoming)
8860
- HttpClient::Preconditions.require_keys(opts, [:amount], 'FuelSurcharge')
8861
- @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
8862
- end
8863
-
8864
- def to_json
8865
- JSON.dump(to_hash)
8866
- end
8867
-
8868
- def copy(incoming={})
8869
- FuelSurcharge.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
8870
- end
8871
-
8872
- def subtype_to_hash
8873
- {
8874
- :amount => amount
8875
- }
8876
- end
8877
-
8878
- end
8879
-
8880
8537
  class FulfillmentExperienceReference
8881
8538
 
8882
8539
  attr_reader :id, :currency
@@ -11016,10 +10673,12 @@ module Io
11016
10673
 
11017
10674
  end
11018
10675
 
11019
- # Summary of product line item
10676
+ # Line items represent the items a consumer is purchasing, including additional
10677
+ # information to complete the transaction. Note that you may pass in as many
10678
+ # line items as you like - including repeating item numbers across line items.
11020
10679
  class LineItem
11021
10680
 
11022
- attr_reader :number, :quantity, :center
10681
+ attr_reader :number, :quantity, :center, :discount
11023
10682
 
11024
10683
  def initialize(incoming={})
11025
10684
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -11027,6 +10686,7 @@ module Io
11027
10686
  @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
11028
10687
  @quantity = HttpClient::Preconditions.assert_class('quantity', opts.delete(:quantity), Integer)
11029
10688
  @center = (x = opts.delete(:center); x.nil? ? nil : HttpClient::Preconditions.assert_class('center', x, String))
10689
+ @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)))
11030
10690
  end
11031
10691
 
11032
10692
  def to_json
@@ -11041,7 +10701,8 @@ module Io
11041
10701
  {
11042
10702
  :number => number,
11043
10703
  :quantity => quantity,
11044
- :center => center
10704
+ :center => center,
10705
+ :discount => discount.nil? ? nil : discount.to_hash
11045
10706
  }
11046
10707
  end
11047
10708
 
@@ -11286,14 +10947,16 @@ module Io
11286
10947
 
11287
10948
  end
11288
10949
 
11289
- class Name
10950
+ # Money represents an amount in a given currency
10951
+ class Money
11290
10952
 
11291
- attr_reader :first, :last
10953
+ attr_reader :amount, :currency
11292
10954
 
11293
10955
  def initialize(incoming={})
11294
10956
  opts = HttpClient::Helper.symbolize_keys(incoming)
11295
- @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
11296
- @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
10957
+ HttpClient::Preconditions.require_keys(opts, [:amount, :currency], 'Money')
10958
+ @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
10959
+ @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
11297
10960
  end
11298
10961
 
11299
10962
  def to_json
@@ -11301,19 +10964,19 @@ module Io
11301
10964
  end
11302
10965
 
11303
10966
  def copy(incoming={})
11304
- Name.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10967
+ Money.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11305
10968
  end
11306
10969
 
11307
10970
  def to_hash
11308
10971
  {
11309
- :first => first,
11310
- :last => last
10972
+ :amount => amount,
10973
+ :currency => currency
11311
10974
  }
11312
10975
  end
11313
10976
 
11314
10977
  end
11315
10978
 
11316
- class NameForm
10979
+ class Name
11317
10980
 
11318
10981
  attr_reader :first, :last
11319
10982
 
@@ -11328,7 +10991,7 @@ module Io
11328
10991
  end
11329
10992
 
11330
10993
  def copy(incoming={})
11331
- NameForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
10994
+ Name.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11332
10995
  end
11333
10996
 
11334
10997
  def to_hash
@@ -11340,8 +11003,35 @@ module Io
11340
11003
 
11341
11004
  end
11342
11005
 
11343
- # Flags to indicate whether a feature is enabled/disabled on a particular model
11344
- # (e.g. show/do not show attribute as a column in harmonization table view of
11006
+ class NameForm
11007
+
11008
+ attr_reader :first, :last
11009
+
11010
+ def initialize(incoming={})
11011
+ opts = HttpClient::Helper.symbolize_keys(incoming)
11012
+ @first = (x = opts.delete(:first); x.nil? ? nil : HttpClient::Preconditions.assert_class('first', x, String))
11013
+ @last = (x = opts.delete(:last); x.nil? ? nil : HttpClient::Preconditions.assert_class('last', x, String))
11014
+ end
11015
+
11016
+ def to_json
11017
+ JSON.dump(to_hash)
11018
+ end
11019
+
11020
+ def copy(incoming={})
11021
+ NameForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11022
+ end
11023
+
11024
+ def to_hash
11025
+ {
11026
+ :first => first,
11027
+ :last => last
11028
+ }
11029
+ end
11030
+
11031
+ end
11032
+
11033
+ # Flags to indicate whether a feature is enabled/disabled on a particular model
11034
+ # (e.g. show/do not show attribute as a column in harmonization table view of
11345
11035
  # items)
11346
11036
  class Options
11347
11037
 
@@ -11455,7 +11145,7 @@ module Io
11455
11145
  # pricing and delivery options for destination and items/quantities specified
11456
11146
  class OrderForm
11457
11147
 
11458
- attr_reader :number, :customer, :destination, :items
11148
+ attr_reader :number, :customer, :destination, :items, :discount
11459
11149
 
11460
11150
  def initialize(incoming={})
11461
11151
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -11464,6 +11154,7 @@ module Io
11464
11154
  @customer = (x = opts.delete(:customer); x.is_a?(::Io::Flow::V0::Models::Customer) ? x : ::Io::Flow::V0::Models::Customer.new(x))
11465
11155
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
11466
11156
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItem) ? x : ::Io::Flow::V0::Models::LineItem.new(x)) }
11157
+ @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)))
11467
11158
  end
11468
11159
 
11469
11160
  def to_json
@@ -11479,7 +11170,8 @@ module Io
11479
11170
  :number => number,
11480
11171
  :customer => customer.to_hash,
11481
11172
  :destination => destination.to_hash,
11482
- :items => items.map { |o| o.to_hash }
11173
+ :items => items.map { |o| o.to_hash },
11174
+ :discount => discount.nil? ? nil : discount.to_hash
11483
11175
  }
11484
11176
  end
11485
11177
 
@@ -11489,7 +11181,7 @@ module Io
11489
11181
  # pricing and delivery options for destination and items/quantities specified.
11490
11182
  class OrderPutForm
11491
11183
 
11492
- attr_reader :customer, :destination, :items, :selections
11184
+ attr_reader :customer, :destination, :items, :selections, :discount
11493
11185
 
11494
11186
  def initialize(incoming={})
11495
11187
  opts = HttpClient::Helper.symbolize_keys(incoming)
@@ -11498,6 +11190,7 @@ module Io
11498
11190
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::Address) ? x : ::Io::Flow::V0::Models::Address.new(x))
11499
11191
  @items = HttpClient::Preconditions.assert_class('items', opts.delete(:items), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LineItem) ? x : ::Io::Flow::V0::Models::LineItem.new(x)) }
11500
11192
  @selections = (x = opts.delete(:selections); x.nil? ? nil : HttpClient::Preconditions.assert_class('selections', x, Array).map { |v| HttpClient::Preconditions.assert_class('selections', v, String) })
11193
+ @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)))
11501
11194
  end
11502
11195
 
11503
11196
  def to_json
@@ -11513,7 +11206,8 @@ module Io
11513
11206
  :customer => customer.to_hash,
11514
11207
  :destination => destination.to_hash,
11515
11208
  :items => items.map { |o| o.to_hash },
11516
- :selections => selections.nil? ? nil : selections
11209
+ :selections => selections.nil? ? nil : selections,
11210
+ :discount => discount.nil? ? nil : discount.to_hash
11517
11211
  }
11518
11212
  end
11519
11213
 
@@ -11956,39 +11650,6 @@ module Io
11956
11650
 
11957
11651
  end
11958
11652
 
11959
- class OversizedShipment < RatecardFee
11960
-
11961
- attr_reader :weight_threshold, :weight_unit, :margin, :amount
11962
-
11963
- def initialize(incoming={})
11964
- super(:name => RatecardFee::Types::OVERSIZED_SHIPMENT)
11965
- opts = HttpClient::Helper.symbolize_keys(incoming)
11966
- HttpClient::Preconditions.require_keys(opts, [:weight_threshold, :weight_unit], 'OversizedShipment')
11967
- @weight_threshold = HttpClient::Preconditions.assert_class('weight_threshold', opts.delete(:weight_threshold), Numeric)
11968
- @weight_unit = (x = opts.delete(:weight_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
11969
- @margin = (x = opts.delete(:margin); x.nil? ? nil : HttpClient::Preconditions.assert_class('margin', x, Numeric))
11970
- @amount = (x = opts.delete(:amount); x.nil? ? nil : HttpClient::Preconditions.assert_class('amount', x, Numeric))
11971
- end
11972
-
11973
- def to_json
11974
- JSON.dump(to_hash)
11975
- end
11976
-
11977
- def copy(incoming={})
11978
- OversizedShipment.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
11979
- end
11980
-
11981
- def subtype_to_hash
11982
- {
11983
- :weight_threshold => weight_threshold,
11984
- :weight_unit => weight_unit.value,
11985
- :margin => margin,
11986
- :amount => amount
11987
- }
11988
- end
11989
-
11990
- end
11991
-
11992
11653
  # Represents packaging available to ship items
11993
11654
  class Packaging
11994
11655
 
@@ -12664,393 +12325,6 @@ module Io
12664
12325
 
12665
12326
  end
12666
12327
 
12667
- # Snapshot of all lanes and rows across all service levels of an organization
12668
- class Ratecard
12669
-
12670
- attr_reader :id, :number, :effective_at, :origination_zones, :service, :published_at
12671
-
12672
- def initialize(incoming={})
12673
- opts = HttpClient::Helper.symbolize_keys(incoming)
12674
- HttpClient::Preconditions.require_keys(opts, [:id, :number, :effective_at, :origination_zones, :service], 'Ratecard')
12675
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12676
- @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
12677
- @effective_at = HttpClient::Preconditions.assert_class('effective_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:effective_at)), DateTime)
12678
- @origination_zones = HttpClient::Preconditions.assert_class('origination_zones', opts.delete(:origination_zones), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x)) }
12679
- @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::RatecardServiceReference) ? x : ::Io::Flow::V0::Models::RatecardServiceReference.new(x))
12680
- @published_at = (x = opts.delete(:published_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('published_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
12681
- end
12682
-
12683
- def to_json
12684
- JSON.dump(to_hash)
12685
- end
12686
-
12687
- def copy(incoming={})
12688
- Ratecard.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12689
- end
12690
-
12691
- def to_hash
12692
- {
12693
- :id => id,
12694
- :number => number,
12695
- :effective_at => effective_at,
12696
- :origination_zones => origination_zones.map { |o| o.to_hash },
12697
- :service => service.to_hash,
12698
- :published_at => published_at
12699
- }
12700
- end
12701
-
12702
- end
12703
-
12704
- # Represents a summary of a cost estimate based on rate card data for an
12705
- # origin/destination and weight, either gravitational or dimensional
12706
- class RatecardEstimate
12707
-
12708
- attr_reader :service, :shipment_window, :currency, :amount, :fees, :total
12709
-
12710
- def initialize(incoming={})
12711
- opts = HttpClient::Helper.symbolize_keys(incoming)
12712
- HttpClient::Preconditions.require_keys(opts, [:service, :shipment_window, :currency, :amount, :fees, :total], 'RatecardEstimate')
12713
- @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::RatecardServiceReference) ? x : ::Io::Flow::V0::Models::RatecardServiceReference.new(x))
12714
- @shipment_window = (x = opts.delete(:shipment_window); x.is_a?(::Io::Flow::V0::Models::ShipmentWindow) ? x : ::Io::Flow::V0::Models::ShipmentWindow.new(x))
12715
- @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
12716
- @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
12717
- @fees = HttpClient::Preconditions.assert_class('fees', opts.delete(:fees), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RatecardFee) ? x : ::Io::Flow::V0::Models::RatecardFee.from_json(x)) }
12718
- @total = HttpClient::Preconditions.assert_class('total', opts.delete(:total), Numeric)
12719
- end
12720
-
12721
- def to_json
12722
- JSON.dump(to_hash)
12723
- end
12724
-
12725
- def copy(incoming={})
12726
- RatecardEstimate.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12727
- end
12728
-
12729
- def to_hash
12730
- {
12731
- :service => service.to_hash,
12732
- :shipment_window => shipment_window.to_hash,
12733
- :currency => currency,
12734
- :amount => amount,
12735
- :fees => fees.map { |o| o.to_hash },
12736
- :total => total
12737
- }
12738
- end
12739
-
12740
- end
12741
-
12742
- class RatecardForm
12743
-
12744
- attr_reader :effective_at, :number, :origination_zones, :service
12745
-
12746
- def initialize(incoming={})
12747
- opts = HttpClient::Helper.symbolize_keys(incoming)
12748
- HttpClient::Preconditions.require_keys(opts, [:effective_at, :number, :origination_zones, :service], 'RatecardForm')
12749
- @effective_at = HttpClient::Preconditions.assert_class('effective_at', HttpClient::Helper.to_date_time_iso8601(opts.delete(:effective_at)), DateTime)
12750
- @number = HttpClient::Preconditions.assert_class('number', opts.delete(:number), String)
12751
- @origination_zones = HttpClient::Preconditions.assert_class('origination_zones', opts.delete(:origination_zones), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x)) }
12752
- @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
12753
- end
12754
-
12755
- def to_json
12756
- JSON.dump(to_hash)
12757
- end
12758
-
12759
- def copy(incoming={})
12760
- RatecardForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12761
- end
12762
-
12763
- def to_hash
12764
- {
12765
- :effective_at => effective_at,
12766
- :number => number,
12767
- :origination_zones => origination_zones.map { |o| o.to_hash },
12768
- :service => service
12769
- }
12770
- end
12771
-
12772
- end
12773
-
12774
- # Describe list of rates applicable for a lane on the ratecard - defined by
12775
- # origin and destination zone
12776
- class RatecardLane
12777
-
12778
- attr_reader :id, :currency, :delivered_duty, :shipment_window, :destination, :dim_factor, :fees, :origin, :service, :rates, :rounding, :weight_unit, :distance_unit
12779
-
12780
- def initialize(incoming={})
12781
- opts = HttpClient::Helper.symbolize_keys(incoming)
12782
- HttpClient::Preconditions.require_keys(opts, [:id, :currency, :delivered_duty, :shipment_window, :destination, :dim_factor, :fees, :origin, :service, :rates, :rounding, :weight_unit, :distance_unit], 'RatecardLane')
12783
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12784
- @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
12785
- @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
12786
- @shipment_window = (x = opts.delete(:shipment_window); x.is_a?(::Io::Flow::V0::Models::ShipmentWindow) ? x : ::Io::Flow::V0::Models::ShipmentWindow.new(x))
12787
- @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x))
12788
- @dim_factor = HttpClient::Preconditions.assert_class('dim_factor', opts.delete(:dim_factor), Numeric)
12789
- @fees = HttpClient::Preconditions.assert_class('fees', opts.delete(:fees), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RatecardFee) ? x : ::Io::Flow::V0::Models::RatecardFee.from_json(x)) }
12790
- @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x))
12791
- @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::RatecardServiceReference) ? x : ::Io::Flow::V0::Models::RatecardServiceReference.new(x))
12792
- @rates = HttpClient::Preconditions.assert_class('rates', opts.delete(:rates), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RatecardRate) ? x : ::Io::Flow::V0::Models::RatecardRate.new(x)) }
12793
- @rounding = (x = opts.delete(:rounding); x.is_a?(::Io::Flow::V0::Models::Rounding) ? x : ::Io::Flow::V0::Models::Rounding.new(x))
12794
- @weight_unit = (x = opts.delete(:weight_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
12795
- @distance_unit = (x = opts.delete(:distance_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
12796
- end
12797
-
12798
- def to_json
12799
- JSON.dump(to_hash)
12800
- end
12801
-
12802
- def copy(incoming={})
12803
- RatecardLane.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12804
- end
12805
-
12806
- def to_hash
12807
- {
12808
- :id => id,
12809
- :currency => currency,
12810
- :delivered_duty => delivered_duty.value,
12811
- :shipment_window => shipment_window.to_hash,
12812
- :destination => destination.to_hash,
12813
- :dim_factor => dim_factor,
12814
- :fees => fees.map { |o| o.to_hash },
12815
- :origin => origin.to_hash,
12816
- :service => service.to_hash,
12817
- :rates => rates.map { |o| o.to_hash },
12818
- :rounding => rounding.to_hash,
12819
- :weight_unit => weight_unit.value,
12820
- :distance_unit => distance_unit.value
12821
- }
12822
- end
12823
-
12824
- end
12825
-
12826
- class RatecardLaneForm
12827
-
12828
- attr_reader :currency, :destination, :shipment_window, :delivered_duty, :dim_factor, :fees, :origin, :rounding, :rates, :weight_unit, :distance_unit
12829
-
12830
- def initialize(incoming={})
12831
- opts = HttpClient::Helper.symbolize_keys(incoming)
12832
- HttpClient::Preconditions.require_keys(opts, [:currency, :destination, :shipment_window, :delivered_duty, :dim_factor, :fees, :origin, :rounding, :rates, :weight_unit, :distance_unit], 'RatecardLaneForm')
12833
- @currency = HttpClient::Preconditions.assert_class('currency', opts.delete(:currency), String)
12834
- @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x))
12835
- @shipment_window = (x = opts.delete(:shipment_window); x.is_a?(::Io::Flow::V0::Models::ShipmentWindow) ? x : ::Io::Flow::V0::Models::ShipmentWindow.new(x))
12836
- @delivered_duty = (x = opts.delete(:delivered_duty); x.is_a?(::Io::Flow::V0::Models::DeliveredDuty) ? x : ::Io::Flow::V0::Models::DeliveredDuty.apply(x))
12837
- @dim_factor = HttpClient::Preconditions.assert_class('dim_factor', opts.delete(:dim_factor), Numeric)
12838
- @fees = HttpClient::Preconditions.assert_class('fees', opts.delete(:fees), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RatecardFee) ? x : ::Io::Flow::V0::Models::RatecardFee.from_json(x)) }
12839
- @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::Zone) ? x : ::Io::Flow::V0::Models::Zone.new(x))
12840
- @rounding = (x = opts.delete(:rounding); x.is_a?(::Io::Flow::V0::Models::Rounding) ? x : ::Io::Flow::V0::Models::Rounding.new(x))
12841
- @rates = HttpClient::Preconditions.assert_class('rates', opts.delete(:rates), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::RatecardRateForm) ? x : ::Io::Flow::V0::Models::RatecardRateForm.new(x)) }
12842
- @weight_unit = (x = opts.delete(:weight_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
12843
- @distance_unit = (x = opts.delete(:distance_unit); x.is_a?(::Io::Flow::V0::Models::UnitOfMeasurement) ? x : ::Io::Flow::V0::Models::UnitOfMeasurement.apply(x))
12844
- end
12845
-
12846
- def to_json
12847
- JSON.dump(to_hash)
12848
- end
12849
-
12850
- def copy(incoming={})
12851
- RatecardLaneForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12852
- end
12853
-
12854
- def to_hash
12855
- {
12856
- :currency => currency,
12857
- :destination => destination.to_hash,
12858
- :shipment_window => shipment_window.to_hash,
12859
- :delivered_duty => delivered_duty.value,
12860
- :dim_factor => dim_factor,
12861
- :fees => fees.map { |o| o.to_hash },
12862
- :origin => origin.to_hash,
12863
- :rounding => rounding.to_hash,
12864
- :rates => rates.map { |o| o.to_hash },
12865
- :weight_unit => weight_unit.value,
12866
- :distance_unit => distance_unit.value
12867
- }
12868
- end
12869
-
12870
- end
12871
-
12872
- class RatecardLaneVersion
12873
-
12874
- attr_reader :id, :timestamp, :type, :ratecard_lane
12875
-
12876
- def initialize(incoming={})
12877
- opts = HttpClient::Helper.symbolize_keys(incoming)
12878
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :ratecard_lane], 'RatecardLaneVersion')
12879
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12880
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
12881
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
12882
- @ratecard_lane = (x = opts.delete(:ratecard_lane); x.is_a?(::Io::Flow::V0::Models::RatecardLane) ? x : ::Io::Flow::V0::Models::RatecardLane.new(x))
12883
- end
12884
-
12885
- def to_json
12886
- JSON.dump(to_hash)
12887
- end
12888
-
12889
- def copy(incoming={})
12890
- RatecardLaneVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12891
- end
12892
-
12893
- def to_hash
12894
- {
12895
- :id => id,
12896
- :timestamp => timestamp,
12897
- :type => type.value,
12898
- :ratecard_lane => ratecard_lane.to_hash
12899
- }
12900
- end
12901
-
12902
- end
12903
-
12904
- # Specific line item in a ratecard lane with information on a weight threshold
12905
- # and corresponding amount to charge
12906
- class RatecardRate
12907
-
12908
- attr_reader :id, :amount, :weight
12909
-
12910
- def initialize(incoming={})
12911
- opts = HttpClient::Helper.symbolize_keys(incoming)
12912
- HttpClient::Preconditions.require_keys(opts, [:id, :amount, :weight], 'RatecardRate')
12913
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12914
- @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
12915
- @weight = HttpClient::Preconditions.assert_class('weight', opts.delete(:weight), Numeric)
12916
- end
12917
-
12918
- def to_json
12919
- JSON.dump(to_hash)
12920
- end
12921
-
12922
- def copy(incoming={})
12923
- RatecardRate.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12924
- end
12925
-
12926
- def to_hash
12927
- {
12928
- :id => id,
12929
- :amount => amount,
12930
- :weight => weight
12931
- }
12932
- end
12933
-
12934
- end
12935
-
12936
- class RatecardRateForm
12937
-
12938
- attr_reader :amount, :weight
12939
-
12940
- def initialize(incoming={})
12941
- opts = HttpClient::Helper.symbolize_keys(incoming)
12942
- HttpClient::Preconditions.require_keys(opts, [:amount, :weight], 'RatecardRateForm')
12943
- @amount = HttpClient::Preconditions.assert_class('amount', opts.delete(:amount), Numeric)
12944
- @weight = HttpClient::Preconditions.assert_class('weight', opts.delete(:weight), Numeric)
12945
- end
12946
-
12947
- def to_json
12948
- JSON.dump(to_hash)
12949
- end
12950
-
12951
- def copy(incoming={})
12952
- RatecardRateForm.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12953
- end
12954
-
12955
- def to_hash
12956
- {
12957
- :amount => amount,
12958
- :weight => weight
12959
- }
12960
- end
12961
-
12962
- end
12963
-
12964
- class RatecardRateVersion
12965
-
12966
- attr_reader :id, :timestamp, :type, :ratecard_rate
12967
-
12968
- def initialize(incoming={})
12969
- opts = HttpClient::Helper.symbolize_keys(incoming)
12970
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :ratecard_rate], 'RatecardRateVersion')
12971
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
12972
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
12973
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
12974
- @ratecard_rate = (x = opts.delete(:ratecard_rate); x.is_a?(::Io::Flow::V0::Models::RatecardRate) ? x : ::Io::Flow::V0::Models::RatecardRate.new(x))
12975
- end
12976
-
12977
- def to_json
12978
- JSON.dump(to_hash)
12979
- end
12980
-
12981
- def copy(incoming={})
12982
- RatecardRateVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
12983
- end
12984
-
12985
- def to_hash
12986
- {
12987
- :id => id,
12988
- :timestamp => timestamp,
12989
- :type => type.value,
12990
- :ratecard_rate => ratecard_rate.to_hash
12991
- }
12992
- end
12993
-
12994
- end
12995
-
12996
- class RatecardServiceReference
12997
-
12998
- attr_reader :id
12999
-
13000
- def initialize(incoming={})
13001
- opts = HttpClient::Helper.symbolize_keys(incoming)
13002
- HttpClient::Preconditions.require_keys(opts, [:id], 'RatecardServiceReference')
13003
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13004
- end
13005
-
13006
- def to_json
13007
- JSON.dump(to_hash)
13008
- end
13009
-
13010
- def copy(incoming={})
13011
- RatecardServiceReference.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13012
- end
13013
-
13014
- def to_hash
13015
- {
13016
- :id => id
13017
- }
13018
- end
13019
-
13020
- end
13021
-
13022
- class RatecardVersion
13023
-
13024
- attr_reader :id, :timestamp, :type, :ratecard
13025
-
13026
- def initialize(incoming={})
13027
- opts = HttpClient::Helper.symbolize_keys(incoming)
13028
- HttpClient::Preconditions.require_keys(opts, [:id, :timestamp, :type, :ratecard], 'RatecardVersion')
13029
- @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
13030
- @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
13031
- @type = (x = opts.delete(:type); x.is_a?(::Io::Flow::V0::Models::ChangeType) ? x : ::Io::Flow::V0::Models::ChangeType.apply(x))
13032
- @ratecard = (x = opts.delete(:ratecard); x.is_a?(::Io::Flow::V0::Models::Ratecard) ? x : ::Io::Flow::V0::Models::Ratecard.new(x))
13033
- end
13034
-
13035
- def to_json
13036
- JSON.dump(to_hash)
13037
- end
13038
-
13039
- def copy(incoming={})
13040
- RatecardVersion.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13041
- end
13042
-
13043
- def to_hash
13044
- {
13045
- :id => id,
13046
- :timestamp => timestamp,
13047
- :type => type.value,
13048
- :ratecard => ratecard.to_hash
13049
- }
13050
- end
13051
-
13052
- end
13053
-
13054
12328
  # Refunds are used to issue refunds against a prior capture.
13055
12329
  class Refund
13056
12330
 
@@ -13758,34 +13032,6 @@ module Io
13758
13032
 
13759
13033
  end
13760
13034
 
13761
- class ShipmentWindow
13762
-
13763
- attr_reader :from, :to
13764
-
13765
- def initialize(incoming={})
13766
- opts = HttpClient::Helper.symbolize_keys(incoming)
13767
- HttpClient::Preconditions.require_keys(opts, [:from, :to], 'ShipmentWindow')
13768
- @from = HttpClient::Preconditions.assert_class('from', opts.delete(:from), Integer)
13769
- @to = HttpClient::Preconditions.assert_class('to', opts.delete(:to), Integer)
13770
- end
13771
-
13772
- def to_json
13773
- JSON.dump(to_hash)
13774
- end
13775
-
13776
- def copy(incoming={})
13777
- ShipmentWindow.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
13778
- end
13779
-
13780
- def to_hash
13781
- {
13782
- :from => from,
13783
- :to => to
13784
- }
13785
- end
13786
-
13787
- end
13788
-
13789
13035
  class ShippingAddress
13790
13036
 
13791
13037
  attr_reader :contact, :location
@@ -14833,7 +14079,7 @@ module Io
14833
14079
  @experience = (x = opts.delete(:experience); x.is_a?(::Io::Flow::V0::Models::FulfillmentExperienceReference) ? x : ::Io::Flow::V0::Models::FulfillmentExperienceReference.new(x))
14834
14080
  @integration = (x = opts.delete(:integration); x.is_a?(::Io::Flow::V0::Models::ShipmentIntegrationType) ? x : ::Io::Flow::V0::Models::ShipmentIntegrationType.apply(x))
14835
14081
  @name = HttpClient::Preconditions.assert_class('name', opts.delete(:name), String)
14836
- @services = HttpClient::Preconditions.assert_class('services', opts.delete(:services), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ServiceReference) ? x : ::Io::Flow::V0::Models::ServiceReference.new(x)) }
14082
+ @services = HttpClient::Preconditions.assert_class('services', opts.delete(:services), Array).map { |v| HttpClient::Preconditions.assert_class('services', v, String) }
14837
14083
  @strategy = (x = opts.delete(:strategy); x.is_a?(::Io::Flow::V0::Models::TierStrategy) ? x : ::Io::Flow::V0::Models::TierStrategy.apply(x))
14838
14084
  @visibility = (x = opts.delete(:visibility); x.is_a?(::Io::Flow::V0::Models::Visibility) ? x : ::Io::Flow::V0::Models::Visibility.apply(x))
14839
14085
  end
@@ -14852,7 +14098,7 @@ module Io
14852
14098
  :experience => experience.to_hash,
14853
14099
  :integration => integration.value,
14854
14100
  :name => name,
14855
- :services => services.map { |o| o.to_hash },
14101
+ :services => services,
14856
14102
  :strategy => strategy.value,
14857
14103
  :visibility => visibility.value
14858
14104
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flowcommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.32
4
+ version: 0.0.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flow Commerce, Inc.