quicktravel_client 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. checksums.yaml +5 -5
  2. data/.ruby-version +1 -1
  3. data/.travis.yml +4 -2
  4. data/CHANGELOG.md +12 -3
  5. data/README.md +1 -1
  6. data/lib/quick_travel.rb +2 -0
  7. data/lib/quick_travel/adapter.rb +8 -58
  8. data/lib/quick_travel/address.rb +4 -2
  9. data/lib/quick_travel/adjustment.rb +3 -2
  10. data/lib/quick_travel/background_check.rb +4 -2
  11. data/lib/quick_travel/bed_configuration.rb +3 -2
  12. data/lib/quick_travel/bed_requirement.rb +3 -2
  13. data/lib/quick_travel/booking.rb +10 -1
  14. data/lib/quick_travel/checkout.rb +1 -1
  15. data/lib/quick_travel/client.rb +3 -2
  16. data/lib/quick_travel/contact.rb +4 -1
  17. data/lib/quick_travel/init_from_hash.rb +54 -1
  18. data/lib/quick_travel/passenger.rb +7 -2
  19. data/lib/quick_travel/passenger_price_break.rb +3 -2
  20. data/lib/quick_travel/passenger_split.rb +5 -0
  21. data/lib/quick_travel/property.rb +2 -1
  22. data/lib/quick_travel/property_facility.rb +3 -2
  23. data/lib/quick_travel/reservation.rb +4 -0
  24. data/lib/quick_travel/resource.rb +11 -2
  25. data/lib/quick_travel/resource_category.rb +5 -1
  26. data/lib/quick_travel/resource_group.rb +9 -0
  27. data/lib/quick_travel/room_facility.rb +3 -2
  28. data/lib/quick_travel/route_stop.rb +11 -2
  29. data/lib/quick_travel/service.rb +3 -2
  30. data/lib/quick_travel/version.rb +1 -1
  31. data/quicktravel_client.gemspec +2 -1
  32. data/spec/adapter_spec.rb +2 -2
  33. data/spec/booking_spec.rb +14 -6
  34. data/spec/checkout_spec.rb +182 -0
  35. data/spec/product_spec.rb +5 -5
  36. data/spec/region_spec.rb +2 -2
  37. data/spec/reservation_spec.rb +2 -6
  38. data/spec/support/cassettes/accommodation_reserve.yml +109 -51
  39. data/spec/support/cassettes/basic_product_scheduled_trips.yml +19 -33
  40. data/spec/support/cassettes/basic_product_scheduled_trips_multi_sector.yml +19 -27
  41. data/spec/support/cassettes/basic_product_scheduled_trips_unbookable.yml +9 -11
  42. data/spec/support/cassettes/booking_activate.yml +25 -28
  43. data/spec/support/cassettes/booking_cancel.yml +25 -28
  44. data/spec/support/cassettes/booking_create.yml +14 -15
  45. data/spec/support/cassettes/booking_create_accommodation.yml +62 -0
  46. data/spec/support/cassettes/booking_documents.yml +9 -11
  47. data/spec/support/cassettes/booking_non_existant.yml +8 -10
  48. data/spec/support/cassettes/booking_price_changes.yml +19 -17
  49. data/spec/support/cassettes/booking_show.yml +13 -14
  50. data/spec/support/cassettes/booking_update.yml +25 -27
  51. data/spec/support/cassettes/booking_with_documents.yml +35 -36
  52. data/spec/support/cassettes/booking_with_nested_attributes.yml +61 -61
  53. data/spec/support/cassettes/booking_with_price_changes.yml +27 -26
  54. data/spec/support/cassettes/checkout_client_token.yml +11 -13
  55. data/spec/support/cassettes/countries.yml +15 -93
  56. data/spec/support/cassettes/country_all.yml +15 -93
  57. data/spec/support/cassettes/create_reservation_fail.yml +8 -10
  58. data/spec/support/cassettes/create_reservation_with_booking.yml +15 -16
  59. data/spec/support/cassettes/locations.yml +12 -14
  60. data/spec/support/cassettes/opal_modern_pay_failed_booking.yml +62 -0
  61. data/spec/support/cassettes/opal_modern_pay_failed_create.yml +59 -0
  62. data/spec/support/cassettes/opal_modern_pay_failed_update.yml +57 -0
  63. data/spec/support/cassettes/opal_modern_pay_successful_booking.yml +62 -0
  64. data/spec/support/cassettes/opal_modern_pay_successful_response.yml +59 -0
  65. data/spec/support/cassettes/opal_modern_pay_successful_update_response.yml +59 -0
  66. data/spec/support/cassettes/opal_pay.yml +59 -0
  67. data/spec/support/cassettes/opal_pay_booking.yml +62 -0
  68. data/spec/support/cassettes/passenger_all.yml +11 -13
  69. data/spec/support/cassettes/payment_info.yml +9 -11
  70. data/spec/support/cassettes/price_quote.yml +17 -21
  71. data/spec/support/cassettes/product_date_range_bookability.yml +32 -48
  72. data/spec/support/cassettes/product_show.yml +13 -17
  73. data/spec/support/cassettes/product_show_as_agent.yml +14 -22
  74. data/spec/support/cassettes/product_type_all.yml +16 -14
  75. data/spec/support/cassettes/product_type_resource_categories.yml +9 -11
  76. data/spec/support/cassettes/product_type_resource_categories_tickets.yml +12 -14
  77. data/spec/support/cassettes/product_type_routes.yml +14 -16
  78. data/spec/support/cassettes/property.yml +16 -18
  79. data/spec/support/cassettes/property_types.yml +12 -14
  80. data/spec/support/cassettes/region_show.yml +11 -13
  81. data/spec/support/cassettes/reservation_resource.yml +62 -0
  82. data/spec/support/cassettes/reservation_with_extra_picks.yml +54 -60
  83. data/spec/support/cassettes/resource_category_all.yml +12 -14
  84. data/spec/support/cassettes/resource_category_all_for_product_type_8.yml +11 -13
  85. data/spec/support/cassettes/resource_fare_bases.yml +18 -23
  86. data/spec/support/cassettes/resource_show.yml +15 -17
  87. data/spec/support/cassettes/resource_with_price.yml +16 -18
  88. data/spec/support/cassettes/settings_basic.yml +9 -11
  89. data/spec/support/cassettes/tenant_switcher.yml +31 -27
  90. data/spec/support/cassettes/wrong_url.yml +25 -46
  91. data/spec/support/coverage_loader.rb +1 -1
  92. metadata +43 -7
@@ -4,5 +4,9 @@ module QuickTravel
4
4
  class ResourceCategory < Adapter
5
5
  self.api_base = '/api/resource_categories'
6
6
  self.lookup = true
7
- end
7
+
8
+ def product_type
9
+ QuickTravel::ProductType.find(product_type_id)
10
+ end
11
+ end
8
12
  end
@@ -0,0 +1,9 @@
1
+ module QuickTravel
2
+ class ResourceGroup
3
+ include QuickTravel::InitFromHash
4
+
5
+ def product_type
6
+ ProductType.find(product_type_id)
7
+ end
8
+ end
9
+ end
@@ -1,6 +1,7 @@
1
- require 'quick_travel/adapter'
1
+ require 'quick_travel/init_from_hash'
2
2
 
3
3
  module QuickTravel
4
- class RoomFacility < Adapter
4
+ class RoomFacility
5
+ include QuickTravel::InitFromHash
5
6
  end
6
7
  end
@@ -1,6 +1,15 @@
1
- require 'quick_travel/adapter'
1
+ require 'quick_travel/init_from_hash'
2
2
 
3
3
  module QuickTravel
4
- class RouteStop < Adapter
4
+ class RouteStop
5
+ include QuickTravel::InitFromHash
6
+
7
+ def stop
8
+ Stop.new({ id: stop_id, name: name, code: code, address: address })
9
+ end
10
+ end
11
+
12
+ class Stop
13
+ include QuickTravel::InitFromHash
5
14
  end
6
15
  end
@@ -1,6 +1,7 @@
1
- require 'quick_travel/adapter'
1
+ require 'quick_travel/init_from_hash'
2
2
 
3
3
  module QuickTravel
4
- class Service < Adapter
4
+ class Service
5
+ include QuickTravel::InitFromHash
5
6
  end
6
7
  end
@@ -1,3 +1,3 @@
1
1
  module QuickTravel
2
- VERSION = '3.6.1'
2
+ VERSION = '3.7.0'
3
3
  end
@@ -16,11 +16,12 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ['lib']
18
18
 
19
- spec.add_dependency 'httparty', '~> 0.14'
19
+ spec.add_dependency 'httparty', '0.15.7' # Bug in >16 relating to nested parameters
20
20
  spec.add_dependency 'json'
21
21
  spec.add_dependency 'activesupport', '>= 2.0.0'
22
22
  spec.add_dependency 'facets'
23
23
  spec.add_dependency 'money', '>= 3.0', '< 6.0' # 6.0 starts to deprecate/split
24
+ spec.add_dependency 'will_paginate'
24
25
 
25
26
  spec.add_development_dependency 'bundler', '~> 1.7'
26
27
  spec.add_development_dependency 'rake'
data/spec/adapter_spec.rb CHANGED
@@ -37,7 +37,7 @@ describe QuickTravel::Adapter do
37
37
  end
38
38
 
39
39
  context 'when response non standard' do
40
- let(:url) { 'http://www.google.com' }
40
+ let(:url) { 'https://httpstat.us/418' }
41
41
 
42
42
  let(:adapter_response) {
43
43
  VCR.use_cassette 'wrong_url' do
@@ -48,7 +48,7 @@ describe QuickTravel::Adapter do
48
48
  specify do
49
49
  expect { adapter_response }.to raise_error(
50
50
  QuickTravel::AdapterError,
51
- /That’s all we know/
51
+ /418 I'm a teapot/
52
52
  )
53
53
  end
54
54
  end
data/spec/booking_spec.rb CHANGED
@@ -65,7 +65,7 @@ describe QuickTravel::Booking do
65
65
  VCR.use_cassette('booking_show') do
66
66
  b = QuickTravel::Booking.find(@booking.id)
67
67
  expect(b.payment_types).to be_an_instance_of Array
68
- expect(b.payment_types.size).to eq 3
68
+ expect(b.payment_types.size).to eq 4
69
69
  expect(b.payment_types.first).to be_an_instance_of QuickTravel::PaymentType
70
70
  expect(b.payments).to be_an_instance_of Array
71
71
  expect(b.payments.size).to eq 0
@@ -144,10 +144,12 @@ end
144
144
 
145
145
  describe QuickTravel::Booking, 'when booking accommodation' do
146
146
  let(:booking) {
147
- VCR.use_cassette('booking_with_documents') {
148
- QuickTravel::Booking.find(1)
149
- }
147
+ VCR.use_cassette('booking_create_accommodation') do
148
+ QuickTravel.config.version = 4
149
+ QuickTravel::Booking.create
150
+ end
150
151
  }
152
+
151
153
  let(:reservation) {
152
154
  VCR.use_cassette('accommodation_reserve') do
153
155
  booking.accommodation_reserve(
@@ -157,14 +159,20 @@ describe QuickTravel::Booking, 'when booking accommodation' do
157
159
  first_travel_date: '01/03/2016',
158
160
  last_travel_date: '02/03/2016'
159
161
  )
160
- booking.reservations.detect { |reservation| reservation.resource.name == 'Executive Room' }
162
+ QuickTravel::Booking.find(booking.id).reservations.detect { |reservation| reservation.resource.name == 'Executive Room' }
163
+ end
164
+ }
165
+
166
+ let(:resource) {
167
+ VCR.use_cassette('reservation_resource') do
168
+ QuickTravel::Resource.find(reservation.resource_id)
161
169
  end
162
170
  }
163
171
 
164
172
  it 'should create acommodation reservation' do
165
173
  expect(reservation.first_travel_date).to eq '2016-03-01'.to_date
166
174
  expect(reservation.last_travel_date).to eq '2016-03-02'.to_date
167
- expect(reservation.resource.name).to eq 'Executive Room'
175
+ expect(resource.name).to eq 'Executive Room'
168
176
  expect(reservation.passenger_ids).to eq booking.passenger_ids
169
177
  end
170
178
  end
@@ -12,4 +12,186 @@ describe QuickTravel::Checkout do
12
12
  expect(token.keys).to eq [:client_token]
13
13
  expect(token[:client_token]).to match /^[0-9A-Za-z\=]+$/
14
14
  end
15
+
16
+ context 'Modern Opal Pay' do
17
+ context 'failed payment' do
18
+ let!(:booking) {
19
+ VCR.use_cassette('opal_modern_pay_failed_booking') do
20
+ QuickTravel.config.version = 4
21
+ QuickTravel::Booking.create
22
+ end
23
+ }
24
+ let(:create_payment_request) {
25
+ {
26
+ booking_id: booking.id,
27
+ payment: {
28
+ payment_type_id: 10,
29
+ amount_in_cents: 10,
30
+ uid: 'modern-opal-failed-uid',
31
+ comment: 'Test Opal Payment'
32
+ }
33
+ }
34
+ }
35
+
36
+ let!(:create_payment_response) {
37
+ VCR.use_cassette('opal_modern_pay_failed_create') do
38
+ QuickTravel::Checkout.create(create_payment_request)
39
+ end
40
+ }
41
+
42
+ let(:update_payment_request) {
43
+ {
44
+ gateway_response: {
45
+ raw_response: '{
46
+ "CardNumber": 3085227007682330,
47
+ "CardBalance": 6546,
48
+ "CardSequenceNumber": 55,
49
+ "CILAmount": 0,
50
+ "AuthorizedAmount": 890,
51
+ "SalesReferenceNumber": 53183943,
52
+ "TransactionDTM": "2018-01-04T09:00:43.106",
53
+ "VoidTransactionReferenceNumber": 1271099697,
54
+ "CardBlockState": false,
55
+ "AutoloadAmount": 0
56
+ }',
57
+ meta_data: {
58
+ applicationInstanceId: 101166,
59
+ operatorId: 'an_operator'
60
+ },
61
+ success: false
62
+ }
63
+ }
64
+ }
65
+
66
+ let(:update_payment_response) {
67
+ VCR.use_cassette('opal_modern_pay_failed_update') do
68
+ QuickTravel::Checkout.update(create_payment_response.id, update_payment_request)
69
+ end
70
+ }
71
+
72
+ let(:expected_create_attributes) { { completable: false } }
73
+ let(:expected_update_attributes) { { successful: false } }
74
+ it 'should update correctly' do
75
+ expect(create_payment_response).to have_attributes(expected_create_attributes)
76
+ expect(update_payment_response).to have_attributes(expected_update_attributes)
77
+ end
78
+ end
79
+
80
+ context 'successful payment' do
81
+ let!(:booking) {
82
+ VCR.use_cassette('opal_modern_pay_successful_booking') do
83
+ QuickTravel.config.version = 4
84
+ QuickTravel::Booking.create
85
+ end
86
+ }
87
+ let(:payment_create_request) {
88
+ {
89
+ booking_id: booking.id,
90
+ payment: {
91
+ payment_type_id: 10,
92
+ amount_in_cents: 10,
93
+ uid: 'modern-opal-uid',
94
+ comment: 'Test Opal Payment'
95
+ }
96
+ }
97
+ }
98
+
99
+ let!(:create_payment_response) {
100
+ VCR.use_cassette('opal_modern_pay_successful_response') do
101
+ QuickTravel::Checkout.create(payment_create_request)
102
+ end
103
+ }
104
+
105
+ let(:update_payment_request) {
106
+ {
107
+ gateway_response: {
108
+ raw_response: '{
109
+ "CardNumber": 3085227007682330,
110
+ "CardBalance": 6546,
111
+ "CardSequenceNumber": 55,
112
+ "CILAmount": 0,
113
+ "AuthorizedAmount": 890,
114
+ "SalesReferenceNumber": 53183943,
115
+ "TransactionDTM": "2018-01-04T09:00:43.106",
116
+ "TransactionReferenceNumber": 1271099697,
117
+ "CardBlockState": false,
118
+ "AutoloadAmount": 0
119
+ }',
120
+ meta_data: {
121
+ applicationInstanceId: 101166,
122
+ operatorId: 'an_operator'
123
+ },
124
+ success: true
125
+ }
126
+ }
127
+ }
128
+
129
+ let(:update_payment_response) {
130
+ VCR.use_cassette('opal_modern_pay_successful_update_response') do
131
+ QuickTravel::Checkout.update(create_payment_response.id, update_payment_request)
132
+ end
133
+ }
134
+
135
+ let(:expected_create_attributes) { { completable: false } }
136
+ let(:expected_update_attributes) { { successful: true } }
137
+ it 'should update correctly' do
138
+ expect(create_payment_response).to have_attributes(expected_create_attributes)
139
+ expect(update_payment_response).to have_attributes(expected_update_attributes)
140
+ end
141
+ end
142
+ end
143
+
144
+ context 'Opal Pay' do
145
+ let(:booking) {
146
+ VCR.use_cassette('opal_pay_booking') do
147
+ QuickTravel.config.version = 4
148
+ QuickTravel::Booking.create
149
+ end
150
+ }
151
+
152
+ let(:payment_create_request) {
153
+ {
154
+ booking_id: booking.id,
155
+ payment: {
156
+ gateway_response: '{
157
+ "CardNumber": 3085227007682330,
158
+ "CardBalance": 6546,
159
+ "CardSequenceNumber": 55,
160
+ "CILAmount": 0,
161
+ "AuthorizedAmount": 890,
162
+ "SalesReferenceNumber": 53183943,
163
+ "TransactionDTM": "2018-01-04T09:00:43.106",
164
+ "TransactionReferenceNumber": 1271099697,
165
+ "CardBlockState": false,
166
+ "AutoloadAmount": 0
167
+ }',
168
+ meta_data: {
169
+ applicationInstanceId: 101166,
170
+ operatorId: 'an_operator'
171
+ },
172
+ payment_type_id: 10,
173
+ amount_in_cents: 10,
174
+ uid: 'opal-uid',
175
+ comment: 'Test Opal Payment'
176
+ }
177
+ }
178
+ }
179
+
180
+ subject(:response) {
181
+ VCR.use_cassette('opal_pay') do
182
+ QuickTravel::Checkout.create(payment_create_request)
183
+ end
184
+ }
185
+
186
+ let(:expected_attributes) {
187
+ {
188
+ completable: true,
189
+ completed: true,
190
+ progress: 'completed',
191
+ successful: true
192
+ }
193
+ }
194
+
195
+ it { is_expected.to have_attributes(expected_attributes) }
196
+ end
15
197
  end
data/spec/product_spec.rb CHANGED
@@ -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
data/spec/region_spec.rb CHANGED
@@ -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
@@ -5,7 +5,7 @@ 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&access_key=<QT_KEY>
9
9
  headers:
10
10
  Content-Length:
11
11
  - '0'
@@ -17,23 +17,19 @@ http_interactions:
17
17
  P3p:
18
18
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
19
  Content-Type:
20
- - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
- Etag:
24
- - '"7215ee9c7d9dc229d2921a40e899ec5f"'
20
+ - application/json
25
21
  Cache-Control:
26
- - max-age=0, private, must-revalidate
22
+ - no-cache
27
23
  X-Request-Id:
28
- - 8483181abc52a31a2826eb6ff745cd65
24
+ - c6f65171-2281-4438-b378-06608bb5251c
29
25
  X-Runtime:
30
- - '0.583677'
31
- Vary:
32
- - Origin
26
+ - '1.192269'
33
27
  Date:
34
- - Fri, 01 Jan 2016 04:38:24 GMT
28
+ - Fri, 01 Jan 2016 02:32:13 GMT
35
29
  X-Rack-Cache:
36
30
  - invalidate, pass
31
+ Vary:
32
+ - Origin
37
33
  X-Content-Type-Options:
38
34
  - nosniff
39
35
  X-Download-Options:
@@ -47,20 +43,20 @@ http_interactions:
47
43
  Server:
48
44
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
45
  Content-Length:
50
- - '1'
46
+ - '0'
51
47
  Connection:
52
48
  - Keep-Alive
53
49
  Set-Cookie:
54
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTZhYjQyOTVjMGExNTJkZTM3MThhODk2YmY0MDQ1NDQ0BjsAVEkiCXVzZXIGOwBGaQY%3D--d7a6c585df1323901ec4d571ae9e7b92a3623e1f;
50
+ - _session_id=dUVxdWo3cFFXeWFReWJoaGFPM2JQcmpVL0RqVFVvWUlkZjZ5Wm5aSkZhT0dyWWFDSVJZUWVWL0NXUkRaZGU5c2h0TEl6allubWhhQk05NzFwMFNHRmpySTdPUHZPdkNBKzk3cU9DcjNsNnM9LS12YmxYcjJmYml4aVlnL3F3ZEZFUXp3PT0%3D--f2e2ac7d49461e937a4c5caa8713046af63442c2;
55
51
  path=/; HttpOnly
56
52
  body:
57
53
  encoding: UTF-8
58
- string: " "
54
+ string: ''
59
55
  http_version:
60
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
56
+ recorded_at: Wed, 21 Mar 2018 04:40:20 GMT
61
57
  - request:
62
58
  method: get
63
- uri: http://test.qt.sealink.com.au:8080/api/bookings/1.json
59
+ uri: http://test.qt.sealink.com.au:8080/api/bookings/4.json
64
60
  body:
65
61
  encoding: UTF-8
66
62
  string: access_key=<QT_KEY>
@@ -76,22 +72,20 @@ http_interactions:
76
72
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
77
73
  Content-Type:
78
74
  - application/json; charset=utf-8
79
- X-Ua-Compatible:
80
- - IE=Edge,chrome=1
81
75
  Etag:
82
- - '"ea2f8a56e770a78eec327ba979588850"'
76
+ - W/"aa50e1d763ad0b4a59803613427e6867"
83
77
  Cache-Control:
84
78
  - max-age=0, private, must-revalidate
85
79
  X-Request-Id:
86
- - 7d3bf632051d184e80724dc59dba8b34
80
+ - daf1bf42-c376-4700-91a2-25a029fd9b2f
87
81
  X-Runtime:
88
- - '0.155058'
89
- Vary:
90
- - Origin
82
+ - '0.738630'
91
83
  Date:
92
- - Fri, 01 Jan 2016 04:38:25 GMT
84
+ - Fri, 01 Jan 2016 02:32:14 GMT
93
85
  X-Rack-Cache:
94
86
  - miss
87
+ Vary:
88
+ - Origin
95
89
  X-Content-Type-Options:
96
90
  - nosniff
97
91
  X-Download-Options:
@@ -105,28 +99,29 @@ http_interactions:
105
99
  Server:
106
100
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
107
101
  Content-Length:
108
- - '6280'
102
+ - '5932'
109
103
  Connection:
110
104
  - Keep-Alive
111
105
  Set-Cookie:
112
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWFmZWIxNmZkYjBjOTc0ZDQ3YzgxYmE3N2UyMTdlZTMzBjsAVEkiCXVzZXIGOwBGaQY%3D--b1bc261a811a392ee20584effaf23a3db290b279;
106
+ - _session_id=NVVTZG8xNE00bVZUUlV2Y3JMakdxeG9KbkI4MGljd2wwNGpQWTM2QU5iR0l6NWtsSnNoVHJRT2EwNkQyYzFtZ0JKa00zQlNqcXR2N0RiZXNLb0dkd29oNm1NMUJIWUJIeFhlT1VSSnRYR1E9LS0yV0F5UXBreVJIY1A0aUFoVndUZDhBPT0%3D--97882a9490c73e7d8d3f1e77f679bc614aee81bd;
113
107
  path=/; HttpOnly
114
108
  body:
115
109
  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
110
+ 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
111
+ 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
112
+ 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%
113
+ 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
114
+ 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
115
+ 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
116
  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":[]}'
117
+ 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
118
+ 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
119
+ 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
120
  http_version:
126
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
121
+ recorded_at: Wed, 21 Mar 2018 04:40:21 GMT
127
122
  - request:
128
123
  method: get
129
- uri: http://test.qt.sealink.com.au:8080/resources/6.json
124
+ uri: http://test.qt.sealink.com.au:8080/api/bookings/4.json
130
125
  body:
131
126
  encoding: UTF-8
132
127
  string: access_key=<QT_KEY>
@@ -142,22 +137,85 @@ http_interactions:
142
137
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
143
138
  Content-Type:
144
139
  - application/json; charset=utf-8
145
- X-Ua-Compatible:
146
- - IE=Edge,chrome=1
147
140
  Etag:
148
- - '"4d660ebe1fce6dba8cfe89a924383b21"'
141
+ - W/"aa50e1d763ad0b4a59803613427e6867"
149
142
  Cache-Control:
150
143
  - max-age=0, private, must-revalidate
151
144
  X-Request-Id:
152
- - befb6299b8e9da3e8c7c2be5741aa0ee
145
+ - 00bd9364-b63e-4cea-af27-0fe0688e24da
153
146
  X-Runtime:
154
- - '0.065444'
147
+ - '0.353520'
148
+ Date:
149
+ - Fri, 01 Jan 2016 02:32:14 GMT
150
+ X-Rack-Cache:
151
+ - miss
155
152
  Vary:
156
153
  - Origin
154
+ X-Content-Type-Options:
155
+ - nosniff
156
+ X-Download-Options:
157
+ - noopen
158
+ X-Frame-Options:
159
+ - sameorigin
160
+ X-Permitted-Cross-Domain-Policies:
161
+ - none
162
+ X-Xss-Protection:
163
+ - 1; mode=block
164
+ Server:
165
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
166
+ Content-Length:
167
+ - '5932'
168
+ Connection:
169
+ - Keep-Alive
170
+ Set-Cookie:
171
+ - _session_id=ZUErbjdUa3VaRW9Cd1o4bkwvSi9rOVhSTTRYcmI4NEZGb25SSXZOeTU2YjB5WkR2L0lPTVhQUDR4MW1hODdEZHpwNzVQNFc3QWtZb1J6UFdCaHZsUWJZdVF4TWNySDRIeXYrOUZURlJtZTA9LS1kNTB6VVdncU5CSE85NS91MEtzMVNBPT0%3D--9a48c9f9b4262a5a21f47dd71ec25d97eb4a9395;
172
+ path=/; HttpOnly
173
+ body:
174
+ encoding: UTF-8
175
+ 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
176
+ 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
177
+ 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%
178
+ 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
179
+ 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
180
+ 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
181
+ 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
182
+ 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
183
+ 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
184
+ 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":[]}'
185
+ http_version:
186
+ recorded_at: Wed, 21 Mar 2018 04:40:21 GMT
187
+ - request:
188
+ method: get
189
+ uri: http://test.qt.sealink.com.au:8080/api/resources/6.json
190
+ body:
191
+ encoding: UTF-8
192
+ string: access_key=<QT_KEY>
193
+ headers:
194
+ Content-Length:
195
+ - '0'
196
+ response:
197
+ status:
198
+ code: 200
199
+ message: 'OK '
200
+ headers:
201
+ P3p:
202
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
203
+ Content-Type:
204
+ - application/json; charset=utf-8
205
+ Etag:
206
+ - W/"641461e04c30167b268dd9059d420764"
207
+ Cache-Control:
208
+ - max-age=0, private, must-revalidate
209
+ X-Request-Id:
210
+ - 8b2145a1-6e67-423e-9f40-547544d64ca0
211
+ X-Runtime:
212
+ - '0.188828'
157
213
  Date:
158
- - Fri, 01 Jan 2016 04:38:25 GMT
214
+ - Fri, 01 Jan 2016 02:32:15 GMT
159
215
  X-Rack-Cache:
160
216
  - miss
217
+ Vary:
218
+ - Origin
161
219
  X-Content-Type-Options:
162
220
  - nosniff
163
221
  X-Download-Options:
@@ -171,18 +229,18 @@ http_interactions:
171
229
  Server:
172
230
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
173
231
  Content-Length:
174
- - '1444'
232
+ - '1437'
175
233
  Connection:
176
234
  - Keep-Alive
177
235
  Set-Cookie:
178
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWJkNmVhMDgwMDNjNzlhZGFkY2Y0YjM3NDEyYjRkMmFjBjsAVEkiCXVzZXIGOwBGaQY%3D--d7a54eab8057174197ebacf5b21a47b876feade9;
236
+ - _session_id=K3YwQzJqQTRUQVg5Z21zQTBtY09CMGxRUU0rRFM5Ukx5dEE5aGhGaGFRSWpOSEhpczRsTyt4dld6SUtKUnNScWs1cm5JRGYyOWZraExiK1FkY3VXZENNQURqK0d0YUs0NTB3SHd3cHFOSVU9LS1UMlF1bXFXSUQxb0lTTUxMdERtWVpnPT0%3D--a8f069368bac2bf3c131daccbe44f8b0776d020e;
179
237
  path=/; HttpOnly
180
238
  body:
181
239
  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}'
240
+ 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
241
+ Hotel - Executive Room","client_type_ids":[],"category":null,"location_ids":[5],"current_description":"\u003cp\u003eA
242
+ basic studio room\u003c/p\u003e","graphics":[],"graphic_names":[],"property_name":"Hilton
243
+ Hotel","ticket_template":null,"expiry_days":null}]'
186
244
  http_version:
187
- recorded_at: Wed, 08 Feb 2017 00:35:12 GMT
188
- recorded_with: VCR 3.0.3
245
+ recorded_at: Wed, 21 Mar 2018 04:40:22 GMT
246
+ recorded_with: VCR 4.0.0