quicktravel_client 3.6.1 → 4.0.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 (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