quicktravel_client 3.6.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +5 -5
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +6 -3
  4. data/CHANGELOG.md +36 -3
  5. data/README.md +1 -1
  6. data/gemfiles/rails6.gemfile +8 -0
  7. data/lib/quick_travel.rb +4 -0
  8. data/lib/quick_travel/adapter.rb +19 -81
  9. data/lib/quick_travel/address.rb +4 -2
  10. data/lib/quick_travel/adjustment.rb +3 -2
  11. data/lib/quick_travel/background_check.rb +4 -2
  12. data/lib/quick_travel/bed_configuration.rb +3 -2
  13. data/lib/quick_travel/bed_requirement.rb +3 -2
  14. data/lib/quick_travel/booking.rb +11 -1
  15. data/lib/quick_travel/cache.rb +24 -5
  16. data/lib/quick_travel/checkout.rb +1 -1
  17. data/lib/quick_travel/client.rb +9 -0
  18. data/lib/quick_travel/contact.rb +4 -1
  19. data/lib/quick_travel/init_from_hash.rb +58 -1
  20. data/lib/quick_travel/package.rb +13 -0
  21. data/lib/quick_travel/passenger.rb +7 -2
  22. data/lib/quick_travel/passenger_price_break.rb +3 -2
  23. data/lib/quick_travel/passenger_split.rb +5 -0
  24. data/lib/quick_travel/passenger_type.rb +1 -1
  25. data/lib/quick_travel/product_configuration.rb +1 -1
  26. data/lib/quick_travel/products/base.rb +4 -4
  27. data/lib/quick_travel/property.rb +2 -1
  28. data/lib/quick_travel/property_facility.rb +3 -2
  29. data/lib/quick_travel/reservation.rb +5 -1
  30. data/lib/quick_travel/resource.rb +12 -3
  31. data/lib/quick_travel/resource_category.rb +5 -1
  32. data/lib/quick_travel/resource_group.rb +9 -0
  33. data/lib/quick_travel/room_facility.rb +3 -2
  34. data/lib/quick_travel/route.rb +1 -1
  35. data/lib/quick_travel/route_stop.rb +18 -2
  36. data/lib/quick_travel/service.rb +3 -2
  37. data/lib/quick_travel/version.rb +1 -1
  38. data/quicktravel_client.gemspec +6 -5
  39. data/spec/adapter_spec.rb +36 -5
  40. data/spec/booking_spec.rb +24 -6
  41. data/spec/clients_spec.rb +42 -0
  42. data/spec/discounts_spec.rb +21 -21
  43. data/spec/package_spec.rb +24 -0
  44. data/spec/passenger_type_spec.rb +1 -1
  45. data/spec/product_configuration_spec.rb +11 -0
  46. data/spec/product_spec.rb +5 -5
  47. data/spec/region_spec.rb +2 -2
  48. data/spec/reservation_spec.rb +22 -6
  49. data/spec/spec_helper.rb +6 -3
  50. data/spec/support/cassettes/accommodation_reserve.yml +119 -53
  51. data/spec/support/cassettes/basic_product_scheduled_trips.yml +22 -34
  52. data/spec/support/cassettes/basic_product_scheduled_trips_multi_sector.yml +22 -28
  53. data/spec/support/cassettes/basic_product_scheduled_trips_unbookable.yml +12 -12
  54. data/spec/support/cassettes/booking_activate.yml +31 -30
  55. data/spec/support/cassettes/booking_cancel.yml +31 -30
  56. data/spec/support/cassettes/booking_create.yml +17 -16
  57. data/spec/support/cassettes/booking_create_accommodation.yml +64 -0
  58. data/spec/support/cassettes/booking_documents.yml +12 -12
  59. data/spec/support/cassettes/booking_non_existant.yml +11 -11
  60. data/spec/support/cassettes/booking_price_changes.yml +22 -18
  61. data/spec/support/cassettes/booking_show.yml +16 -15
  62. data/spec/support/cassettes/booking_update.yml +31 -29
  63. data/spec/support/cassettes/booking_with_comments.yml +119 -0
  64. data/spec/support/cassettes/booking_with_documents.yml +41 -38
  65. data/spec/support/cassettes/booking_with_nested_attributes.yml +70 -64
  66. data/spec/support/cassettes/booking_with_price_changes.yml +30 -27
  67. data/spec/support/cassettes/checkout_client_token.yml +14 -14
  68. data/spec/support/cassettes/client_templates.yml +120 -0
  69. data/spec/support/cassettes/countries.yml +18 -94
  70. data/spec/support/cassettes/country_all.yml +18 -94
  71. data/spec/support/cassettes/create_reservation_fail.yml +11 -11
  72. data/spec/support/cassettes/create_reservation_with_booking.yml +18 -17
  73. data/spec/support/cassettes/locations.yml +15 -15
  74. data/spec/support/cassettes/opal_modern_pay_failed_booking.yml +64 -0
  75. data/spec/support/cassettes/opal_modern_pay_failed_create.yml +61 -0
  76. data/spec/support/cassettes/opal_modern_pay_failed_update.yml +59 -0
  77. data/spec/support/cassettes/opal_modern_pay_successful_booking.yml +64 -0
  78. data/spec/support/cassettes/opal_modern_pay_successful_response.yml +61 -0
  79. data/spec/support/cassettes/opal_modern_pay_successful_update_response.yml +61 -0
  80. data/spec/support/cassettes/opal_pay.yml +61 -0
  81. data/spec/support/cassettes/opal_pay_booking.yml +64 -0
  82. data/spec/support/cassettes/package_show.yml +83 -0
  83. data/spec/support/cassettes/package_show_product_type.yml +80 -0
  84. data/spec/support/cassettes/passenger_all.yml +14 -14
  85. data/spec/support/cassettes/payment_info.yml +12 -12
  86. data/spec/support/cassettes/price_quote.yml +23 -23
  87. data/spec/support/cassettes/product_date_range_bookability.yml +35 -49
  88. data/spec/support/cassettes/product_show.yml +16 -18
  89. data/spec/support/cassettes/product_show_as_agent.yml +17 -23
  90. data/spec/support/cassettes/product_type_all.yml +19 -15
  91. data/spec/support/cassettes/product_type_resource_categories.yml +12 -12
  92. data/spec/support/cassettes/product_type_resource_categories_tickets.yml +15 -15
  93. data/spec/support/cassettes/product_type_routes.yml +17 -17
  94. data/spec/support/cassettes/property.yml +19 -19
  95. data/spec/support/cassettes/property_types.yml +15 -15
  96. data/spec/support/cassettes/region_show.yml +14 -14
  97. data/spec/support/cassettes/reservation_resource.yml +64 -0
  98. data/spec/support/cassettes/reservation_with_extra_picks.yml +63 -63
  99. data/spec/support/cassettes/resource_category_all.yml +15 -15
  100. data/spec/support/cassettes/resource_category_all_for_product_type_8.yml +14 -14
  101. data/spec/support/cassettes/resource_fare_bases.yml +21 -24
  102. data/spec/support/cassettes/resource_show.yml +18 -18
  103. data/spec/support/cassettes/resource_with_price.yml +19 -19
  104. data/spec/support/cassettes/settings_basic.yml +12 -12
  105. data/spec/support/cassettes/tenant_switcher.yml +37 -29
  106. data/spec/support/cassettes/wrong_url.yml +28 -47
  107. data/spec/support/coverage_loader.rb +1 -1
  108. metadata +69 -27
  109. data/gemfiles/rails4.gemfile +0 -9
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+ require 'quick_travel/client'
5
+
6
+ describe QuickTravel::Client do
7
+ context '#find' do
8
+ let(:templates) do
9
+ VCR.use_cassette('client_templates') do
10
+ QuickTravel::Client.find(2).templates
11
+ end
12
+ end
13
+ it 'should find the templates correctly' do
14
+ expect(templates['vehicle_templates']).to eq([
15
+ {
16
+ 'id' => 1,
17
+ 'length' => 5.0,
18
+ 'height' => 1.5,
19
+ 'width' => 1.8,
20
+ 'weight' => 1000.0,
21
+ 'details' => 'Holden Commodore',
22
+ 'registration' => 'ABC123',
23
+ 'cargo' => 'None',
24
+ 'vehicle_type_id' => 1,
25
+ 'party_id' => 9
26
+ }
27
+ ])
28
+ expect(templates['passenger_templates']).to eq([
29
+ {
30
+ 'id' => 1,
31
+ 'age' => 30,
32
+ 'title' => 'Mr',
33
+ 'first_name' => 'Homer',
34
+ 'last_name' => 'Simpson',
35
+ 'gender' => 'Male',
36
+ 'passenger_type_id' => 1,
37
+ 'party_id' => 9
38
+ }
39
+ ])
40
+ end
41
+ end
42
+ end
@@ -26,9 +26,9 @@ describe 'Booking price_changes' do
26
26
 
27
27
  specify { expect(price_change.target.type).to eq 'Booking' }
28
28
  specify { expect(price_change.target.id).to eq booking.id }
29
- specify { expect(price_change.original_price).to eq 640.00 }
30
- specify { expect(price_change.changed_price).to eq 380.00 }
31
- specify { expect(price_change.price_change).to eq(-260.00) }
29
+ specify { expect(price_change.original_price).to eq 640.00.to_money }
30
+ specify { expect(price_change.changed_price).to eq 380.00.to_money }
31
+ specify { expect(price_change.price_change).to eq(-260.00.to_money) }
32
32
  specify do
33
33
  expect(price_change.reservation_price_changes.count).to(
34
34
  eq booking.reservations.count)
@@ -43,9 +43,9 @@ describe 'Booking price_changes' do
43
43
 
44
44
  specify { expect(price_change.target.type).to eq 'Reservation' }
45
45
  specify { expect(price_change.target.id).to eq reservation.id }
46
- specify { expect(price_change.original_price).to eq 400.00 }
47
- specify { expect(price_change.changed_price).to eq 200.00 }
48
- specify { expect(price_change.price_change).to eq(-200) }
46
+ specify { expect(price_change.original_price).to eq 400.00.to_money }
47
+ specify { expect(price_change.changed_price).to eq 200.00.to_money }
48
+ specify { expect(price_change.price_change).to eq(-200.to_money) }
49
49
  end
50
50
 
51
51
  context 'the total price_change applied on the top level reservation' do
@@ -57,9 +57,9 @@ describe 'Booking price_changes' do
57
57
 
58
58
  specify { expect(price_change.target.type).to eq 'Reservation' }
59
59
  specify { expect(price_change.target.id).to eq reservation.id }
60
- specify { expect(price_change.original_price).to eq 640.00 }
61
- specify { expect(price_change.changed_price).to eq 380.00 }
62
- specify { expect(price_change.price_change).to eq(-260.00) }
60
+ specify { expect(price_change.original_price).to eq 640.00.to_money }
61
+ specify { expect(price_change.changed_price).to eq 380.00.to_money }
62
+ specify { expect(price_change.price_change).to eq(-260.00.to_money) }
63
63
  end
64
64
 
65
65
  context 'the price_change applied on the first extra pick' do
@@ -71,9 +71,9 @@ describe 'Booking price_changes' do
71
71
 
72
72
  specify { expect(price_change.target.type).to eq 'Reservation' }
73
73
  specify { expect(price_change.target.id).to eq extra_pick_without_price_change.id }
74
- specify { expect(price_change.original_price).to eq 120 }
75
- specify { expect(price_change.changed_price).to eq 120 }
76
- specify { expect(price_change.price_change).to eq 0 }
74
+ specify { expect(price_change.original_price).to eq 120.to_money }
75
+ specify { expect(price_change.changed_price).to eq 120.to_money }
76
+ specify { expect(price_change.price_change).to eq 0.to_money }
77
77
  end
78
78
 
79
79
  context 'the total price_change applied on the first extra pick' do
@@ -85,9 +85,9 @@ describe 'Booking price_changes' do
85
85
 
86
86
  specify { expect(price_change.target.type).to eq 'Reservation' }
87
87
  specify { expect(price_change.target.id).to eq extra_pick_without_price_change.id }
88
- specify { expect(price_change.original_price).to eq 120 }
89
- specify { expect(price_change.changed_price).to eq 120 }
90
- specify { expect(price_change.price_change).to eq 0 }
88
+ specify { expect(price_change.original_price).to eq 120.to_money }
89
+ specify { expect(price_change.changed_price).to eq 120.to_money }
90
+ specify { expect(price_change.price_change).to eq 0.to_money }
91
91
  end
92
92
 
93
93
  context 'the price_change applied on second extra pick' do
@@ -99,9 +99,9 @@ describe 'Booking price_changes' do
99
99
 
100
100
  specify { expect(price_change.target.type).to eq 'Reservation' }
101
101
  specify { expect(price_change.target.id).to eq extra_pick_with_price_change.id }
102
- specify { expect(price_change.original_price).to eq 120.00 }
103
- specify { expect(price_change.changed_price).to eq 60.00 }
104
- specify { expect(price_change.price_change).to eq(-60.00) }
102
+ specify { expect(price_change.original_price).to eq 120.00.to_money }
103
+ specify { expect(price_change.changed_price).to eq 60.00.to_money }
104
+ specify { expect(price_change.price_change).to eq(-60.00.to_money) }
105
105
  end
106
106
 
107
107
  context 'the total price_change applied on second extra pick' do
@@ -113,9 +113,9 @@ describe 'Booking price_changes' do
113
113
 
114
114
  specify { expect(price_change.target.type).to eq 'Reservation' }
115
115
  specify { expect(price_change.target.id).to eq extra_pick_with_price_change.id }
116
- specify { expect(price_change.original_price).to eq 120.00 }
117
- specify { expect(price_change.changed_price).to eq 60.00 }
118
- specify { expect(price_change.price_change).to eq(-60.00) }
116
+ specify { expect(price_change.original_price).to eq 120.00.to_money }
117
+ specify { expect(price_change.changed_price).to eq 60.00.to_money }
118
+ specify { expect(price_change.price_change).to eq(-60.00.to_money) }
119
119
  end
120
120
  end
121
121
  end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+ require 'quick_travel/package'
3
+
4
+ describe QuickTravel::Package do
5
+ subject(:package) {
6
+ VCR.use_cassette('package_show') do
7
+ QuickTravel::Package.find(464)
8
+ end
9
+ }
10
+
11
+ its(:name) { should eq 'Swan Valley Gourmet Wine Cruise (SVGWC-0945)' }
12
+ its(:type) { should eq 'Package' }
13
+
14
+
15
+ context '#product_type' do
16
+ subject(:property_type) {
17
+ VCR.use_cassette 'package_show_product_type' do
18
+ package.product_type
19
+ end
20
+ }
21
+
22
+ its(:name) { should eq 'Rottnest Packages' }
23
+ end
24
+ end
@@ -39,7 +39,7 @@ describe QuickTravel::PassengerType do
39
39
 
40
40
  before do
41
41
  stub_const('QuickTravel::Api', api)
42
- allow(api).to receive(:call_and_validate) { [{id: 1}, {id: 2}] }
42
+ allow(api).to receive(:call_and_validate) { double(parsed_response: [{id: 1}, {id: 2}], headers: {}) }
43
43
  end
44
44
 
45
45
  context 'when called the first time' do
@@ -127,6 +127,17 @@ describe QuickTravel::ProductConfiguration do
127
127
  let(:pricing_details) { nil }
128
128
  it { is_expected.not_to be_priced }
129
129
  end
130
+
131
+ context 'when pricing details are omitted' do
132
+ let(:product) do
133
+ double(
134
+ extras: extras,
135
+ available?: available
136
+ )
137
+ end
138
+
139
+ it { is_expected.not_to be_priced }
140
+ end
130
141
  end
131
142
 
132
143
  context '#price' do
@@ -99,13 +99,13 @@ describe QuickTravel::Product do
99
99
  it { should eq expected_price } # $200 for 2 pax, $50 for extra passenger
100
100
  end
101
101
 
102
- context 'adjustments' do
103
- subject(:adjustments) { pricing_details.adjustments_to_apply }
102
+ context 'applied rules' do
103
+ subject(:rules) { pricing_details.applied_rules }
104
104
  it { should be_an_instance_of Array }
105
105
 
106
- context 'first adjustment' do
107
- subject(:adjustment) { adjustments.first }
108
- it { should be_an_instance_of Hash }
106
+ context 'first rule' do
107
+ subject(:rule) { rules.first }
108
+ it { should be_an_instance_of String }
109
109
  end
110
110
  end
111
111
  end
@@ -8,10 +8,10 @@ describe QuickTravel::Region do
8
8
  it 'should find a first instance of region from QuickTravel' do
9
9
  VCR.use_cassette('region_show') do
10
10
  expect(subject).to be_an_instance_of QuickTravel::Region
11
- expect(subject.id).to be_an_instance_of Fixnum
11
+ expect(subject.id).to be_a_kind_of Integer
12
12
  expect(subject.name).to be_an_instance_of String
13
13
  expect(subject.location_ids).to be_an_instance_of Array
14
- expect(subject.location_ids[0]).to be_an_instance_of Fixnum
14
+ expect(subject.location_ids[0]).to be_a_kind_of Integer
15
15
  end
16
16
  end
17
17
  end
@@ -10,11 +10,7 @@ describe QuickTravel::Reservation do
10
10
  first_travel_date: '2016-03-01',
11
11
  passenger_types_numbers: { '1' => '2', '2' => '1' }
12
12
  )
13
- expect(reservation.booking_id).to eq 4 # based on running ALL specs
14
- # from a fresh bootstrap.sql
15
- # bootstrap.sql has 2 bookings
16
- # Plus 3rd booking created in booking_spec
17
- # Plus 4th booking created here
13
+ expect(reservation.booking_id).not_to eq 0
18
14
  end
19
15
  end
20
16
 
@@ -35,7 +31,7 @@ describe QuickTravel::Reservation do
35
31
  resource_names = nil
36
32
  VCR.use_cassette('reservation_with_extra_picks') do
37
33
  @booking = QuickTravel::Booking.find(1)
38
- @reservation = @booking.reservations.first
34
+ @reservation = @booking.reservations.last
39
35
  sub_reservations = @reservation.sub_reservations
40
36
  resource_names = sub_reservations.map(&:resource).map(&:name)
41
37
  end
@@ -52,3 +48,23 @@ describe QuickTravel::Reservation do
52
48
  expect(@reservation.gross_including_packaged_item).to be_an_instance_of Money
53
49
  end
54
50
  end
51
+
52
+ describe QuickTravel::Reservation do
53
+ before(:each) do
54
+ VCR.use_cassette('reservation_with_extra_picks') do
55
+ @booking = QuickTravel::Booking.find(1)
56
+ @reservation = @booking.reservations.first
57
+ end
58
+ end
59
+
60
+ it 'should convert hash to objects' do
61
+ expect(@reservation.passenger_splits.first).to be_an_instance_of QuickTravel::PassengerSplit
62
+ end
63
+
64
+ let(:test_type) { double(name: 'test') }
65
+
66
+ it 'should not raise error in passenger count' do
67
+ allow(QuickTravel::PassengerType).to receive(:find).and_return(test_type)
68
+ expect{ @reservation.passengers_count(@booking) }.not_to raise_error
69
+ end
70
+ end
@@ -27,6 +27,11 @@ end
27
27
  require 'quick_travel/connection_error'
28
28
  require 'quick_travel/cache'
29
29
 
30
+ Money.default_currency = Money::Currency.new("AUD")
31
+ Money.locale_backend = nil
32
+ Money.default_formatting_rules = { thousands_separator: "," }
33
+ Money.rounding_mode = BigDecimal::ROUND_HALF_UP
34
+
30
35
  class HashCache
31
36
  def initialize
32
37
  @cache = {}
@@ -50,12 +55,10 @@ class HashCache
50
55
  end
51
56
 
52
57
  QuickTravel::Cache.cache_store = HashCache.new
58
+ QuickTravel::Cache.namespace = 'namespace'
53
59
 
54
60
  RSpec.configure do |config|
55
61
  config.raise_errors_for_deprecations!
56
62
  config.run_all_when_everything_filtered = true
57
63
  config.filter_run :focus
58
- config.before :each do
59
- allow(QuickTravel::Adapter).to receive(:cache) { ActiveSupport::Cache::MemoryStore.new }
60
- end
61
64
  end
@@ -5,10 +5,12 @@ http_interactions:
5
5
  uri: http://test.qt.sealink.com.au:8080/reservation_for/accommodations/create_or_update.json
6
6
  body:
7
7
  encoding: UTF-8
8
- string: reservations[passenger_ids][]=1&reservations[passenger_ids][]=2&reservations[resource_id]=6&reservations[bed_configuration_id]=1&reservations[first_travel_date]=01%2F03%2F2016&reservations[last_travel_date]=02%2F03%2F2016&booking_id=1&access_key=<QT_KEY>
8
+ string: reservations[resource_id]=6&reservations[bed_configuration_id]=1&reservations[first_travel_date]=01%2F03%2F2016&reservations[last_travel_date]=02%2F03%2F2016&booking_id=4
9
9
  headers:
10
10
  Content-Length:
11
11
  - '0'
12
+ X-API-KEY:
13
+ - <QT_KEY>
12
14
  response:
13
15
  status:
14
16
  code: 200
@@ -17,23 +19,19 @@ http_interactions:
17
19
  P3p:
18
20
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
21
  Content-Type:
20
- - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
- Etag:
24
- - '"7215ee9c7d9dc229d2921a40e899ec5f"'
22
+ - application/json
25
23
  Cache-Control:
26
- - max-age=0, private, must-revalidate
24
+ - no-cache
27
25
  X-Request-Id:
28
- - 8483181abc52a31a2826eb6ff745cd65
26
+ - c6f65171-2281-4438-b378-06608bb5251c
29
27
  X-Runtime:
30
- - '0.583677'
31
- Vary:
32
- - Origin
28
+ - '1.192269'
33
29
  Date:
34
- - Fri, 01 Jan 2016 04:38:24 GMT
30
+ - Fri, 01 Jan 2016 02:32:13 GMT
35
31
  X-Rack-Cache:
36
32
  - invalidate, pass
33
+ Vary:
34
+ - Origin
37
35
  X-Content-Type-Options:
38
36
  - nosniff
39
37
  X-Download-Options:
@@ -47,26 +45,28 @@ http_interactions:
47
45
  Server:
48
46
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
47
  Content-Length:
50
- - '1'
48
+ - '0'
51
49
  Connection:
52
50
  - Keep-Alive
53
51
  Set-Cookie:
54
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTZhYjQyOTVjMGExNTJkZTM3MThhODk2YmY0MDQ1NDQ0BjsAVEkiCXVzZXIGOwBGaQY%3D--d7a6c585df1323901ec4d571ae9e7b92a3623e1f;
52
+ - _session_id=dUVxdWo3cFFXeWFReWJoaGFPM2JQcmpVL0RqVFVvWUlkZjZ5Wm5aSkZhT0dyWWFDSVJZUWVWL0NXUkRaZGU5c2h0TEl6allubWhhQk05NzFwMFNHRmpySTdPUHZPdkNBKzk3cU9DcjNsNnM9LS12YmxYcjJmYml4aVlnL3F3ZEZFUXp3PT0%3D--f2e2ac7d49461e937a4c5caa8713046af63442c2;
55
53
  path=/; HttpOnly
56
54
  body:
57
55
  encoding: UTF-8
58
- string: " "
56
+ string: ''
59
57
  http_version:
60
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
58
+ recorded_at: Wed, 21 Mar 2018 04:40:20 GMT
61
59
  - request:
62
60
  method: get
63
- uri: http://test.qt.sealink.com.au:8080/api/bookings/1.json
61
+ uri: http://test.qt.sealink.com.au:8080/api/bookings/4.json
64
62
  body:
65
63
  encoding: UTF-8
66
- string: access_key=<QT_KEY>
64
+ string: ''
67
65
  headers:
68
66
  Content-Length:
69
67
  - '0'
68
+ X-API-KEY:
69
+ - <QT_KEY>
70
70
  response:
71
71
  status:
72
72
  code: 200
@@ -76,22 +76,20 @@ http_interactions:
76
76
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
77
77
  Content-Type:
78
78
  - application/json; charset=utf-8
79
- X-Ua-Compatible:
80
- - IE=Edge,chrome=1
81
79
  Etag:
82
- - '"ea2f8a56e770a78eec327ba979588850"'
80
+ - W/"aa50e1d763ad0b4a59803613427e6867"
83
81
  Cache-Control:
84
82
  - max-age=0, private, must-revalidate
85
83
  X-Request-Id:
86
- - 7d3bf632051d184e80724dc59dba8b34
84
+ - daf1bf42-c376-4700-91a2-25a029fd9b2f
87
85
  X-Runtime:
88
- - '0.155058'
89
- Vary:
90
- - Origin
86
+ - '0.738630'
91
87
  Date:
92
- - Fri, 01 Jan 2016 04:38:25 GMT
88
+ - Fri, 01 Jan 2016 02:32:14 GMT
93
89
  X-Rack-Cache:
94
90
  - miss
91
+ Vary:
92
+ - Origin
95
93
  X-Content-Type-Options:
96
94
  - nosniff
97
95
  X-Download-Options:
@@ -105,34 +103,37 @@ http_interactions:
105
103
  Server:
106
104
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
107
105
  Content-Length:
108
- - '6280'
106
+ - '5932'
109
107
  Connection:
110
108
  - Keep-Alive
111
109
  Set-Cookie:
112
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWFmZWIxNmZkYjBjOTc0ZDQ3YzgxYmE3N2UyMTdlZTMzBjsAVEkiCXVzZXIGOwBGaQY%3D--b1bc261a811a392ee20584effaf23a3db290b279;
110
+ - _session_id=NVVTZG8xNE00bVZUUlV2Y3JMakdxeG9KbkI4MGljd2wwNGpQWTM2QU5iR0l6NWtsSnNoVHJRT2EwNkQyYzFtZ0JKa00zQlNqcXR2N0RiZXNLb0dkd29oNm1NMUJIWUJIeFhlT1VSSnRYR1E9LS0yV0F5UXBreVJIY1A0aUFoVndUZDhBPT0%3D--97882a9490c73e7d8d3f1e77f679bc614aee81bd;
113
111
  path=/; HttpOnly
114
112
  body:
115
113
  encoding: UTF-8
116
- string: '{"id":1,"state":"active","reference":"222223","public_comments":null,"internal_comments":null,"customer_contact_name":null,"customer_contact_phone":null,"customer_contact_mobile":null,"customer_contact_email":null,"currency_iso_code":"AUD","country_id":3,"post_code":"","referral_code_id":1,"external_identifier":null,"created_at":"2013-03-01T00:05:46+10:30","updated_at":"2016-01-01T15:08:24+10:30","promo_code":null,"promo_code_id":null,"insurance_offered":false,"total_adjustments_in_cents":0,"pre_adjusted_gross_in_cents":20000,"nett_in_cents":20000,"gross_in_cents":20000,"commission_in_cents":0,"balance_in_cents":20000,"paid_in_cents":0,"surcharge_in_cents":0,"deposit_in_cents":0,"web_site_name":null,"deposit_relevant":false,"deposit_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00+10:30"},"balance_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00+10:30"},"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"complete":true,"reason_not_complete":"","first_reason_not_complete":"","discardable_in":60,"inactivatable_in":10,"notices":{},"client":null,"passenger_ids":[1,2],"vehicle_ids":[],"reservation_ids":[13],"adjustment_ids":[],"todo_items":[],"confirmation_requests":[],"passengers_attributes":[{"id":1,"title":null,"first_name":null,"last_name":null,"passenger_type_id":1,"age":30,"gender":null,"position":1},{"id":2,"title":null,"first_name":null,"last_name":null,"passenger_type_id":1,"age":30,"gender":null,"position":2}],"vehicles_attributes":[],"reservations_attributes":[{"id":13,"booking_id":1,"description":"A
117
- basic studio room","comment":null,"active":true,"service_ids":[3,4],"resource_id":6,"quantity":null,"adjustments_attributes":[{"id":12,"gross_in_cents":-20000,"creator":{"active":true,"age":null,"business_number":null,"business_number_type":null,"created_at":"2013-03-01T00:00:02+10:30","creator_id":null,"currency_iso_code":"AUD","first_name":"administrator","gender":null,"id":1,"internal_staff":true,"internal_subdivision":false,"last_name":"administrator","name":"Administrator
118
- Administrator","notes":null,"remember_token":null,"remember_token_expires_at":null,"salt":null,"title":null,"updated_at":"2013-03-01T00:00:03+10:30","updator_id":null},"created_at":"2016-01-01T15:08:24+10:30","description":"50%
119
- Off","adjustable_item_type":"Reservation","adjustable_item_id":13,"adjustment_definition_id":1,"adjustment_category_id":1,"automatic":true}],"complete":true,"reason_not_complete":"","first_reason_not_complete":"","enough_time_before_travel_to_edit":true,"bed_configuration":"1
120
- x Double and 1 x Single","product_type_id":2,"itinerary_footer":false,"fare_basis_set_id":12,"manually_priced":false,"manually_assigned_fare_basis_set":false,"has_fare_basis":true,"fare_basis_season_name":"","fare_basis_pointer_id":6,"pick_up_info":null,"drop_off_info":null,"selection_name":"Hilton
121
- Hotel: Executive Room","product_name_underscore":"accommodation","resource_class_name_underscore":"accommodation","resource_class_name":"Accommodation","has_ticket_template":false,"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"durational":true,"duration":2,"checkout_date":{"_type":"Date","_value":"2016-03-03"},"duration_units":"Nights","date_start_label":"In:","date_end_label":"Out:","accommodation_extra_picks":false,"expires":false,"expiry":"*NA*","has_skipped_reservation_groups":false,"editable_reservation_groups":[],"tariff_level_name":"Auto
114
+ string: '{"id":4,"state":"new","reference":"222227","public_comments":null,"internal_comments":null,"customer_contact_name":null,"customer_contact_phone":null,"customer_contact_mobile":null,"customer_contact_email":null,"currency_iso_code":"AUD","country_id":14,"drop_off_option_id":null,"drop_off_location_id":null,"post_code":null,"referral_code_id":1,"external_identifier":null,"created_at":"2016-01-01T13:02:12.000+10:30","updated_at":"2016-01-01T13:02:13.000+10:30","promo_code":null,"promo_code_id":null,"insurance_offered":false,"total_adjustments_in_cents":0,"pre_adjusted_gross_in_cents":20000,"nett_in_cents":20000,"gross_in_cents":20000,"commission_in_cents":0,"balance_in_cents":20000,"paid_in_cents":0,"surcharge_in_cents":0,"deposit_in_cents":0,"web_site_name":"SeaLink","deposit_relevant":false,"deposit_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00.000+10:30"},"balance_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00.000+10:30"},"due":false,"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"complete":true,"reason_not_complete":"","first_reason_not_complete":"","unprintable_luggage_tags":false,"discardable_in":60,"inactivatable_in":10,"notices":{},"client":null,"passenger_ids":[],"vehicle_ids":[],"reservation_ids":[6],"adjustment_ids":[],"todo_items":[],"confirmation_requests":[],"passengers_attributes":[],"vehicles_attributes":[],"reservations_attributes":[{"id":6,"booking_id":4,"description":"A
115
+ basic studio room","comment":null,"active":true,"service_ids":[3,4],"resource_id":6,"quantity":null,"adjustments_attributes":[{"id":7,"gross_in_cents":-20000,"creator":{"id":1,"name":"Administrator
116
+ Administrator","age":null,"first_name":"administrator","last_name":"administrator","title":null,"gender":null,"created_at":null,"updated_at":null,"notes":null,"updator_id":null,"creator_id":null,"active":true,"internal_subdivision":false,"business_number":null,"business_number_type":null,"currency_iso_code":"AUD","access_type":2},"created_at":"2016-01-01T13:02:13.000+10:30","description":"50%
117
+ Off","adjustable_item_type":"Reservation","adjustable_item_id":6,"adjustment_definition_id":1,"adjustment_category_id":1,"automatic":true}],"complete":true,"reason_not_complete":"","first_reason_not_complete":"","enough_time_before_travel_to_edit":true,"bed_configuration":"1
118
+ x Double and 1 x Single","product_type_id":2,"itinerary_footer":false,"fare_basis_set_id":12,"manually_priced":false,"manually_assigned_fare_basis_set":false,"has_fare_basis":true,"fare_basis_season_name":null,"fare_basis_pointer_id":6,"pick_up_info":null,"drop_off_info":null,"selection_name":"Hilton
119
+ Hotel: Executive Room","product_name_underscore":"accommodation","resource_class_name_underscore":"accommodation","resource_class_name":"Accommodation","has_ticket_template":false,"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"durational":true,"duration":2,"span":2,"checkout_date":{"_type":"Date","_value":"2016-03-03"},"duration_units":"Nights","date_start_label":"In:","date_end_label":"Out:","accommodation_extra_picks":false,"expires":false,"expiry":"*NA*","has_skipped_reservation_groups":false,"editable_reservation_groups":[],"tariff_level_name":"Auto
122
120
  Priced as: Rack Rate","gross_including_packaged_item_in_cents":20000,"pre_adjusted_gross_including_packaged_item_in_cents":40000,"gross_in_cents":20000,"pre_adjusted_gross_in_cents":40000,"pre_adjusted_commission_in_cents":0,"cost_in_cents":20000,"rules":[{"unique_name":"Test
123
- Discount Hilton","description":"","display_name":"Test Discount Hilton"}],"package":false,"sub_reservation_depth":0,"extra_pick":null,"child_resource":null,"pending_confirmation":false,"confirmation_request_fields":[],"report_reservation_changes":false,"vendor_pnr":null,"pick_up_information":null,"drop_off_information":null,"vendor_staff":null,"notes_for_vendor":null,"passenger_ids":[1,2],"passenger_splits":[{"commission_in_cents":0,"commission_percentage":"0.0","consumer_id":1,"consumer_splittable_id":13,"consumer_splittable_type":"Reservation","created_at":"2016-01-01T15:08:24+10:30","gross_in_cents":0,"id":23,"updated_at":"2016-01-01T15:08:24+10:30"},{"commission_in_cents":0,"commission_percentage":"0.0","consumer_id":2,"consumer_splittable_id":13,"consumer_splittable_type":"Reservation","created_at":"2016-01-01T15:08:24+10:30","gross_in_cents":0,"id":24,"updated_at":"2016-01-01T15:08:24+10:30"}],"vehicle_ids":[],"vehicle_splits":[],"consumer_grosses":{"1":0,"2":0}}],"adjustments_attributes":[],"payments_attributes":[],"payment_types_attributes":[{"id":5,"name":"master","description":"master","transaction_fee":"0.0","active":true,"position":2,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":"MasterCard","payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":4,"name":"visa","description":"visa","transaction_fee":"0.0","active":true,"position":3,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":"Visa","payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":7,"name":"PayPal","description":"Payments
124
- made via PayPal account","transaction_fee":"0.0","active":true,"position":6,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":"2013-03-01T00:00:03+10:30","updated_at":"2013-03-01T00:00:03+10:30","credit_card_brand":null,"payment_method":"paypal","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false}],"issued_tickets_attributes":[]}'
121
+ Discount Hilton","description":"","display_name":"Test Discount Hilton"}],"package":false,"sub_reservation_depth":0,"extra_pick":null,"child_resource":null,"pending_confirmation":false,"confirmation_request_fields":[],"report_reservation_changes":false,"vendor_pnr":null,"pick_up_information":null,"drop_off_information":null,"vendor_staff":null,"notes_for_vendor":null,"passenger_ids":[],"passenger_splits":[],"vehicle_ids":[],"vehicle_splits":[],"consumer_grosses":{}}],"adjustments_attributes":[],"payments_attributes":[],"payment_types_attributes":[{"id":4,"name":"visa","description":"visa","transaction_fee":"0.0","active":true,"position":3,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":"Visa","payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":5,"name":"master","description":"master","transaction_fee":"0.0","active":true,"position":4,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":7,"name":"PayPal","description":"Payments
122
+ made via PayPal account","transaction_fee":"0.0","active":true,"position":6,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"paypal","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":10,"name":"Opal
123
+ Pay","description":"Opal Payments","transaction_fee":"0.0","active":true,"position":9,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"opal_pay","gateway":null,"on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":false,"creditlink":false,"surchargeable":false}],"issued_tickets_attributes":[]}'
125
124
  http_version:
126
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
125
+ recorded_at: Wed, 21 Mar 2018 04:40:21 GMT
127
126
  - request:
128
127
  method: get
129
- uri: http://test.qt.sealink.com.au:8080/resources/6.json
128
+ uri: http://test.qt.sealink.com.au:8080/api/bookings/4.json
130
129
  body:
131
130
  encoding: UTF-8
132
- string: access_key=<QT_KEY>
131
+ string: ''
133
132
  headers:
134
133
  Content-Length:
135
134
  - '0'
135
+ X-API-KEY:
136
+ - <QT_KEY>
136
137
  response:
137
138
  status:
138
139
  code: 200
@@ -142,22 +143,87 @@ http_interactions:
142
143
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
143
144
  Content-Type:
144
145
  - application/json; charset=utf-8
145
- X-Ua-Compatible:
146
- - IE=Edge,chrome=1
147
146
  Etag:
148
- - '"4d660ebe1fce6dba8cfe89a924383b21"'
147
+ - W/"aa50e1d763ad0b4a59803613427e6867"
149
148
  Cache-Control:
150
149
  - max-age=0, private, must-revalidate
151
150
  X-Request-Id:
152
- - befb6299b8e9da3e8c7c2be5741aa0ee
151
+ - 00bd9364-b63e-4cea-af27-0fe0688e24da
153
152
  X-Runtime:
154
- - '0.065444'
153
+ - '0.353520'
154
+ Date:
155
+ - Fri, 01 Jan 2016 02:32:14 GMT
156
+ X-Rack-Cache:
157
+ - miss
155
158
  Vary:
156
159
  - Origin
160
+ X-Content-Type-Options:
161
+ - nosniff
162
+ X-Download-Options:
163
+ - noopen
164
+ X-Frame-Options:
165
+ - sameorigin
166
+ X-Permitted-Cross-Domain-Policies:
167
+ - none
168
+ X-Xss-Protection:
169
+ - 1; mode=block
170
+ Server:
171
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
172
+ Content-Length:
173
+ - '5932'
174
+ Connection:
175
+ - Keep-Alive
176
+ Set-Cookie:
177
+ - _session_id=ZUErbjdUa3VaRW9Cd1o4bkwvSi9rOVhSTTRYcmI4NEZGb25SSXZOeTU2YjB5WkR2L0lPTVhQUDR4MW1hODdEZHpwNzVQNFc3QWtZb1J6UFdCaHZsUWJZdVF4TWNySDRIeXYrOUZURlJtZTA9LS1kNTB6VVdncU5CSE85NS91MEtzMVNBPT0%3D--9a48c9f9b4262a5a21f47dd71ec25d97eb4a9395;
178
+ path=/; HttpOnly
179
+ body:
180
+ encoding: UTF-8
181
+ string: '{"id":4,"state":"new","reference":"222227","public_comments":null,"internal_comments":null,"customer_contact_name":null,"customer_contact_phone":null,"customer_contact_mobile":null,"customer_contact_email":null,"currency_iso_code":"AUD","country_id":14,"drop_off_option_id":null,"drop_off_location_id":null,"post_code":null,"referral_code_id":1,"external_identifier":null,"created_at":"2016-01-01T13:02:12.000+10:30","updated_at":"2016-01-01T13:02:13.000+10:30","promo_code":null,"promo_code_id":null,"insurance_offered":false,"total_adjustments_in_cents":0,"pre_adjusted_gross_in_cents":20000,"nett_in_cents":20000,"gross_in_cents":20000,"commission_in_cents":0,"balance_in_cents":20000,"paid_in_cents":0,"surcharge_in_cents":0,"deposit_in_cents":0,"web_site_name":"SeaLink","deposit_relevant":false,"deposit_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00.000+10:30"},"balance_due_on":{"_type":"Date","_value":"2016-03-01T00:00:00.000+10:30"},"due":false,"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"complete":true,"reason_not_complete":"","first_reason_not_complete":"","unprintable_luggage_tags":false,"discardable_in":60,"inactivatable_in":10,"notices":{},"client":null,"passenger_ids":[],"vehicle_ids":[],"reservation_ids":[6],"adjustment_ids":[],"todo_items":[],"confirmation_requests":[],"passengers_attributes":[],"vehicles_attributes":[],"reservations_attributes":[{"id":6,"booking_id":4,"description":"A
182
+ basic studio room","comment":null,"active":true,"service_ids":[3,4],"resource_id":6,"quantity":null,"adjustments_attributes":[{"id":7,"gross_in_cents":-20000,"creator":{"id":1,"name":"Administrator
183
+ Administrator","age":null,"first_name":"administrator","last_name":"administrator","title":null,"gender":null,"created_at":null,"updated_at":null,"notes":null,"updator_id":null,"creator_id":null,"active":true,"internal_subdivision":false,"business_number":null,"business_number_type":null,"currency_iso_code":"AUD","access_type":2},"created_at":"2016-01-01T13:02:13.000+10:30","description":"50%
184
+ Off","adjustable_item_type":"Reservation","adjustable_item_id":6,"adjustment_definition_id":1,"adjustment_category_id":1,"automatic":true}],"complete":true,"reason_not_complete":"","first_reason_not_complete":"","enough_time_before_travel_to_edit":true,"bed_configuration":"1
185
+ x Double and 1 x Single","product_type_id":2,"itinerary_footer":false,"fare_basis_set_id":12,"manually_priced":false,"manually_assigned_fare_basis_set":false,"has_fare_basis":true,"fare_basis_season_name":null,"fare_basis_pointer_id":6,"pick_up_info":null,"drop_off_info":null,"selection_name":"Hilton
186
+ Hotel: Executive Room","product_name_underscore":"accommodation","resource_class_name_underscore":"accommodation","resource_class_name":"Accommodation","has_ticket_template":false,"first_travel_date":{"_type":"Date","_value":"2016-03-01"},"last_travel_date":{"_type":"Date","_value":"2016-03-02"},"durational":true,"duration":2,"span":2,"checkout_date":{"_type":"Date","_value":"2016-03-03"},"duration_units":"Nights","date_start_label":"In:","date_end_label":"Out:","accommodation_extra_picks":false,"expires":false,"expiry":"*NA*","has_skipped_reservation_groups":false,"editable_reservation_groups":[],"tariff_level_name":"Auto
187
+ Priced as: Rack Rate","gross_including_packaged_item_in_cents":20000,"pre_adjusted_gross_including_packaged_item_in_cents":40000,"gross_in_cents":20000,"pre_adjusted_gross_in_cents":40000,"pre_adjusted_commission_in_cents":0,"cost_in_cents":20000,"rules":[{"unique_name":"Test
188
+ Discount Hilton","description":"","display_name":"Test Discount Hilton"}],"package":false,"sub_reservation_depth":0,"extra_pick":null,"child_resource":null,"pending_confirmation":false,"confirmation_request_fields":[],"report_reservation_changes":false,"vendor_pnr":null,"pick_up_information":null,"drop_off_information":null,"vendor_staff":null,"notes_for_vendor":null,"passenger_ids":[],"passenger_splits":[],"vehicle_ids":[],"vehicle_splits":[],"consumer_grosses":{}}],"adjustments_attributes":[],"payments_attributes":[],"payment_types_attributes":[{"id":4,"name":"visa","description":"visa","transaction_fee":"0.0","active":true,"position":3,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":"Visa","payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":5,"name":"master","description":"master","transaction_fee":"0.0","active":true,"position":4,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"credit_card","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":7,"name":"PayPal","description":"Payments
189
+ made via PayPal account","transaction_fee":"0.0","active":true,"position":6,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"paypal","gateway":"braintree","on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":true,"creditlink":false,"surchargeable":false},{"id":10,"name":"Opal
190
+ Pay","description":"Opal Payments","transaction_fee":"0.0","active":true,"position":9,"for_frequent_traveller_redemption":false,"comment_required":false,"created_at":null,"updated_at":null,"credit_card_brand":null,"payment_method":"opal_pay","gateway":null,"on_account":false,"ticket_holding":false,"requires_staff":false,"internal":false,"redirect":false,"background":false,"creditlink":false,"surchargeable":false}],"issued_tickets_attributes":[]}'
191
+ http_version:
192
+ recorded_at: Wed, 21 Mar 2018 04:40:21 GMT
193
+ - request:
194
+ method: get
195
+ uri: http://test.qt.sealink.com.au:8080/api/resources/6.json
196
+ body:
197
+ encoding: UTF-8
198
+ string: ''
199
+ headers:
200
+ Content-Length:
201
+ - '0'
202
+ X-API-KEY:
203
+ - <QT_KEY>
204
+ response:
205
+ status:
206
+ code: 200
207
+ message: 'OK '
208
+ headers:
209
+ P3p:
210
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
211
+ Content-Type:
212
+ - application/json; charset=utf-8
213
+ Etag:
214
+ - W/"641461e04c30167b268dd9059d420764"
215
+ Cache-Control:
216
+ - max-age=0, private, must-revalidate
217
+ X-Request-Id:
218
+ - 8b2145a1-6e67-423e-9f40-547544d64ca0
219
+ X-Runtime:
220
+ - '0.188828'
157
221
  Date:
158
- - Fri, 01 Jan 2016 04:38:25 GMT
222
+ - Fri, 01 Jan 2016 02:32:15 GMT
159
223
  X-Rack-Cache:
160
224
  - miss
225
+ Vary:
226
+ - Origin
161
227
  X-Content-Type-Options:
162
228
  - nosniff
163
229
  X-Download-Options:
@@ -171,18 +237,18 @@ http_interactions:
171
237
  Server:
172
238
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
173
239
  Content-Length:
174
- - '1444'
240
+ - '1437'
175
241
  Connection:
176
242
  - Keep-Alive
177
243
  Set-Cookie:
178
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWJkNmVhMDgwMDNjNzlhZGFkY2Y0YjM3NDEyYjRkMmFjBjsAVEkiCXVzZXIGOwBGaQY%3D--d7a54eab8057174197ebacf5b21a47b876feade9;
244
+ - _session_id=K3YwQzJqQTRUQVg5Z21zQTBtY09CMGxRUU0rRFM5Ukx5dEE5aGhGaGFRSWpOSEhpczRsTyt4dld6SUtKUnNScWs1cm5JRGYyOWZraExiK1FkY3VXZENNQURqK0d0YUs0NTB3SHd3cHFOSVU9LS1UMlF1bXFXSUQxb0lTTUxMdERtWVpnPT0%3D--a8f069368bac2bf3c131daccbe44f8b0776d020e;
179
245
  path=/; HttpOnly
180
246
  body:
181
247
  encoding: UTF-8
182
- string: '{"id":6,"name":"Executive Room","product_type_id":2,"default_capacity":2,"type":"Accommodation","inventory_type":0,"maximum_occupancy":2,"location_id":1,"property_id":1,"fare_basis_pointer_id":6,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":1,"star_rating":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"reason_required":false,"resource_category_id":null,"created_at":"2013-03-01T00:08:49+10:30","updated_at":"2013-03-01T00:55:56+10:30","code":"","restrict_to_client_types":false,"minimum_age":null,"guardian_minimum_age":null,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"active":true,"report_changes":false,"inline_pricing":false,"bookable_individually":true,"minimum_passengers":null,"maximum_passengers":null,"required_number_of_vehicles":null,"frequent_traveller_points_multiplier":null,"commissionable":true,"masterpoint_resource_id":null,"print_tickets":false,"individual_tickets":null,"frequent_traveller_redemption_rate":null,"position":null,"ticket_template_id":null,"generate_tickets_by_quantity":true,"to_s":"Hilton
183
- Hotel - Executive Room","client_type_ids":[],"category":null,"location":"Adelaide
184
- CBD","current_description":"\u003Cp\u003EA basic studio room\u003C/p\u003E","graphics":[],"graphic_names":[],"property_name":"Hilton
185
- Hotel","ticket_template":null,"expiry_days":null}'
248
+ string: '[{"id":6,"name":"Executive Room","product_type_id":2,"default_capacity":2,"type":"Accommodation","inventory_type":0,"maximum_occupancy":2,"property_id":1,"fare_basis_pointer_id":6,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":1,"star_rating":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"resource_category_id":null,"created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10:30","code":"","restrict_to_client_types":false,"minimum_age":null,"guardian_minimum_age":null,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"active":true,"report_changes":false,"inline_pricing":false,"bookable_individually":true,"minimum_passengers":null,"maximum_passengers":null,"required_number_of_vehicles":null,"frequent_traveller_points_multiplier":null,"commissionable":true,"masterpoint_resource_id":null,"print_tickets":false,"individual_tickets":null,"frequent_traveller_redemption_rate":null,"position":null,"ticket_template_id":null,"generate_tickets_by_quantity":true,"inventory_release_hour":null,"to_s":"Hilton
249
+ Hotel - Executive Room","client_type_ids":[],"category":null,"location_ids":[5],"current_description":"\u003cp\u003eA
250
+ basic studio room\u003c/p\u003e","graphics":[],"graphic_names":[],"property_name":"Hilton
251
+ Hotel","ticket_template":null,"expiry_days":null}]'
186
252
  http_version:
187
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
188
- recorded_with: VCR 3.0.3
253
+ recorded_at: Wed, 21 Mar 2018 04:40:22 GMT
254
+ recorded_with: VCR 4.0.0