quicktravel_client 1.1.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +14 -2
  5. data/CHANGELOG.md +34 -3
  6. data/Gemfile +0 -3
  7. data/Rakefile +0 -6
  8. data/examples/login_example.rb +1 -1
  9. data/gemfiles/rails4.gemfile +9 -0
  10. data/lib/quick_travel.rb +2 -1
  11. data/lib/quick_travel/accommodation.rb +1 -15
  12. data/lib/quick_travel/adapter.rb +98 -67
  13. data/lib/quick_travel/{adapter_exception.rb → adapter_error.rb} +1 -1
  14. data/lib/quick_travel/address.rb +2 -7
  15. data/lib/quick_travel/adjustment.rb +0 -2
  16. data/lib/quick_travel/bed_configuration.rb +0 -1
  17. data/lib/quick_travel/bed_requirement.rb +0 -1
  18. data/lib/quick_travel/booking.rb +22 -46
  19. data/lib/quick_travel/cache.rb +8 -14
  20. data/lib/quick_travel/checkout.rb +1 -1
  21. data/lib/quick_travel/client.rb +2 -4
  22. data/lib/quick_travel/client_type.rb +2 -1
  23. data/lib/quick_travel/connection_error.rb +1 -1
  24. data/lib/quick_travel/constants.rb +0 -1
  25. data/lib/quick_travel/contact.rb +0 -1
  26. data/lib/quick_travel/country.rb +0 -3
  27. data/lib/quick_travel/document.rb +0 -2
  28. data/lib/quick_travel/document_group.rb +0 -2
  29. data/lib/quick_travel/location.rb +0 -2
  30. data/lib/quick_travel/party.rb +7 -12
  31. data/lib/quick_travel/passenger.rb +0 -1
  32. data/lib/quick_travel/passenger_price_break.rb +0 -2
  33. data/lib/quick_travel/passenger_type.rb +0 -2
  34. data/lib/quick_travel/payment.rb +0 -3
  35. data/lib/quick_travel/payment_type.rb +4 -13
  36. data/lib/quick_travel/price_changes.rb +3 -0
  37. data/lib/quick_travel/price_changes/booking_price_change.rb +30 -0
  38. data/lib/quick_travel/price_changes/price_change.rb +23 -0
  39. data/lib/quick_travel/{discounts/discount_tree.rb → price_changes/price_change_tree.rb} +12 -8
  40. data/lib/quick_travel/product.rb +15 -28
  41. data/lib/quick_travel/product_type.rb +4 -16
  42. data/lib/quick_travel/property.rb +4 -20
  43. data/lib/quick_travel/property_facility.rb +0 -1
  44. data/lib/quick_travel/property_type.rb +2 -14
  45. data/lib/quick_travel/region.rb +0 -9
  46. data/lib/quick_travel/reservation.rb +0 -21
  47. data/lib/quick_travel/resource.rb +7 -28
  48. data/lib/quick_travel/room_facility.rb +0 -1
  49. data/lib/quick_travel/route.rb +9 -25
  50. data/lib/quick_travel/route_stop.rb +0 -1
  51. data/lib/quick_travel/service.rb +2 -1
  52. data/lib/quick_travel/status.rb +23 -0
  53. data/lib/quick_travel/trip.rb +0 -1
  54. data/lib/quick_travel/vehicle.rb +2 -4
  55. data/lib/quick_travel/vehicle_type.rb +0 -3
  56. data/lib/quick_travel/version.rb +1 -1
  57. data/quicktravel_client.gemspec +4 -4
  58. data/spec/booking_spec.rb +24 -0
  59. data/spec/discounts_spec.rb +69 -69
  60. data/spec/passenger_type_spec.rb +30 -0
  61. data/spec/payment_type_spec.rb +10 -0
  62. data/spec/product_spec.rb +52 -21
  63. data/spec/product_type_spec.rb +19 -0
  64. data/spec/property_spec.rb +83 -0
  65. data/spec/region_spec.rb +1 -1
  66. data/spec/reservation_spec.rb +3 -2
  67. data/spec/resource_spec.rb +31 -7
  68. data/spec/route_spec.rb +118 -0
  69. data/spec/spec_helper.rb +18 -25
  70. data/spec/status_spec.rb +9 -0
  71. data/spec/support/cassettes/booking_create.yml +39 -33
  72. data/spec/support/cassettes/booking_documents.yml +36 -30
  73. data/spec/support/cassettes/booking_price_changes.yml +66 -0
  74. data/spec/support/cassettes/booking_show.yml +38 -32
  75. data/spec/support/cassettes/booking_update.yml +74 -62
  76. data/spec/support/cassettes/booking_with_documents.yml +88 -76
  77. data/spec/support/cassettes/booking_with_nested_attributes.yml +128 -110
  78. data/spec/support/cassettes/booking_with_price_changes.yml +86 -0
  79. data/spec/support/cassettes/countries.yml +140 -0
  80. data/spec/support/cassettes/country_all.yml +36 -30
  81. data/spec/support/cassettes/create_reservation_fail.yml +32 -27
  82. data/spec/support/cassettes/create_reservation_with_booking.yml +40 -34
  83. data/spec/support/cassettes/passenger_all.yml +36 -30
  84. data/spec/support/cassettes/payment_info.yml +61 -0
  85. data/spec/support/cassettes/product_date_range_bookability.yml +61 -59
  86. data/spec/support/cassettes/product_show.yml +42 -32
  87. data/spec/support/cassettes/product_show_as_agent.yml +63 -0
  88. data/spec/support/cassettes/product_type_all.yml +53 -0
  89. data/spec/support/cassettes/property.yml +66 -0
  90. data/spec/support/cassettes/region_show.yml +36 -30
  91. data/spec/support/cassettes/reservation_with_extra_picks.yml +137 -110
  92. data/spec/support/cassettes/resource_fare_bases.yml +47 -78
  93. data/spec/support/cassettes/resource_product_type.yml +63 -0
  94. data/spec/support/cassettes/resource_show.yml +37 -31
  95. data/spec/support/cassettes/resource_with_price.yml +63 -0
  96. data/spec/support/cassettes/route_all.yml +65 -0
  97. data/spec/support/cassettes/tenant_switcher.yml +109 -0
  98. data/spec/support/coverage_loader.rb +26 -0
  99. data/spec/tenant_spec.rb +28 -0
  100. metadata +106 -115
  101. data/bootstrap/boot.rb +0 -4
  102. data/lib/quick_travel/discounts.rb +0 -3
  103. data/lib/quick_travel/discounts/booking_discount.rb +0 -18
  104. data/lib/quick_travel/discounts/discount.rb +0 -21
  105. data/spec/support/cassettes/booking_create_legacy.yml +0 -50
  106. data/spec/support/cassettes/booking_discounts.yml +0 -53
  107. data/spec/support/cassettes/booking_with_discounts.yml +0 -72
  108. data/spec/support/cassettes/region_index.yml +0 -48
@@ -2,96 +2,65 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://0.0.0.0:8080/api/resources.json?parent_resource_id=6
5
+ uri: http://test.qt.sealink.com.au:8080/resources.json?parent_resource_id=6
6
6
  body:
7
- encoding: US-ASCII
7
+ encoding: UTF-8
8
8
  string: access_key=<QT_KEY>
9
9
  headers:
10
- content-length:
10
+ Content-Length:
11
11
  - '0'
12
12
  response:
13
13
  status:
14
14
  code: 200
15
- message: ! 'OK '
15
+ message: 'OK '
16
16
  headers:
17
- p3p:
17
+ P3p:
18
18
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
- content-type:
19
+ Content-Type:
20
20
  - application/json; charset=utf-8
21
- x-ua-compatible:
22
- - IE=Edge,chrome=1
23
- etag:
24
- - ! '"9e3d741671888b92c23d5d9ed9847fa8"'
25
- cache-control:
26
- - max-age=0, private, must-revalidate
27
- x-request-id:
28
- - b2792dffd6108715e79f581fadda4493
29
- x-runtime:
30
- - '0.132300'
31
- date:
32
- - Thu, 28 Feb 2013 13:34:09 GMT
33
- x-rack-cache:
21
+ X-Ua-Compatible:
22
+ - IE=Edge
23
+ Cache-Control:
24
+ - no-store, must-revalidate, private, max-age=0
25
+ X-Request-Id:
26
+ - a888f1493c39836d9a76249f6e7d03be
27
+ X-Runtime:
28
+ - '0.063580'
29
+ Vary:
30
+ - Origin
31
+ X-Rack-Cache:
34
32
  - miss
35
- server:
36
- - WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)
37
- content-length:
38
- - '3065'
39
- connection:
40
- - close
41
- set-cookie:
42
- - _session_id=01ce77a09ac8d80e3d1de61f9a416c4a; path=/; HttpOnly
33
+ X-Miniprofiler-Ids:
34
+ - '["cb1fhhmviia4g48z9ueg","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
+ Date:
38
+ - Mon, 26 Oct 2015 00:18:52 GMT
39
+ Content-Length:
40
+ - '3494'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - __profilin=p%3Dt; path=/
45
+ - __profilin=p%3Dt; path=/
46
+ - __profilin=p%3Dt; path=/
47
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWJjYWMzN2Y5MGI2ZjdhYWY1ODc3MTVlODllNzg5N2M3BjsAVEkiCXVzZXIGOwBGaQY%3D--f19bbf8bfd4d0418d90d6cf724598c0b2eaaa795;
48
+ path=/; HttpOnly
43
49
  body:
44
- encoding: US-ASCII
45
- string: ! '[{"id":3,"name":"QBE Travel Insurance - Policy E","product_type_id":7,"default_capacity":null,"type":"Insurance","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":4,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"QBE
50
+ encoding: UTF-8
51
+ string: '[{"id":3,"name":"QBE Travel Insurance - Policy E","product_type_id":7,"default_capacity":null,"type":"Insurance","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":4,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"QBE
46
52
  Travel Insurance Policy E covers the clients up to $1000 for defined unforeseen
47
- cancellations and additional expenses.","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":null,"created_at":"2014-09-12T17:10:47+09:30","updated_at":"2014-09-12T17:10:55+09:30","code":"","restrict_to_client_types":false,"minimum_age":null,"guardian_minimum_age":19,"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,"vehicle_ticket_format_id":null,"passenger_ticket_format_id":null,"reservation_ticket_format_id":null,"frequent_traveller_redemption_rate":null,"client_type_ids":[],"category":null,"location":"","current_description":"","graphics":[],"graphic_names":[]},{"id":4,"name":"Travel
53
+ cancellations and additional expenses.","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":null,"created_at":"2014-09-12T17:10:47+09:30","updated_at":"2014-09-12T17:10:55+09:30","code":"","restrict_to_client_types":false,"minimum_age":null,"guardian_minimum_age":19,"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,"client_type_ids":[],"category":null,"location":"","current_description":"\u003Cp\u003E\u003Cspan
54
+ class=\"caps\"\u003EQBE\u003C/span\u003E Travel Insurance Policy E known as
55
+ the \u0026#8216;Australian Cancellation and Additional Expenses\u0026#8217;
56
+ plan has been included into this booking. This covers you for defined unforeseen
57
+ cancellations and additional expenses. Please refer to the Product Disclosure
58
+ Statement for further information.\u003C/p\u003E","graphics":[],"graphic_names":[]},{"id":4,"name":"Travel
48
59
  Insurance - Declined","product_type_id":7,"default_capacity":null,"type":"Insurance","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":4,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"This
49
- is only to be used if the clients have declined Travel Insurance.","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":null,"created_at":"2014-09-12T17:12:11+09:30","updated_at":"2013-03-01T00:17:12+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,"vehicle_ticket_format_id":null,"passenger_ticket_format_id":null,"reservation_ticket_format_id":null,"frequent_traveller_redemption_rate":null,"client_type_ids":[],"category":null,"location":"","current_description":"","graphics":[],"graphic_names":[]}]'
50
- http_version: '1.1'
51
- recorded_at: Thu, 18 Dec 2014 08:01:33 GMT
52
- - request:
53
- method: get
54
- uri: http://0.0.0.0:8080/api/fare_bases.json?fare_basis_pointer_id[]=4&fare_basis_pointer_id[]=4
55
- body:
56
- encoding: US-ASCII
57
- string: access_key=<QT_KEY>
58
- headers:
59
- content-length:
60
- - '0'
61
- response:
62
- status:
63
- code: 200
64
- message: ! 'OK '
65
- headers:
66
- p3p:
67
- - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
68
- content-type:
69
- - application/json; charset=utf-8
70
- x-ua-compatible:
71
- - IE=Edge,chrome=1
72
- etag:
73
- - ! '"e3dd48e30aa7bcf81a4d874772465bc6"'
74
- cache-control:
75
- - max-age=0, private, must-revalidate
76
- x-request-id:
77
- - e45380c6997bf02486a3ad43dd56821f
78
- x-runtime:
79
- - '0.146592'
80
- date:
81
- - Thu, 28 Feb 2013 13:34:09 GMT
82
- x-rack-cache:
83
- - miss
84
- server:
85
- - WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)
86
- content-length:
87
- - '6'
88
- connection:
89
- - close
90
- set-cookie:
91
- - _session_id=560e503455bd22baf5afa2dc9b8a7b7e; path=/; HttpOnly
92
- body:
93
- encoding: US-ASCII
94
- string: ! '[null]'
95
- http_version: '1.1'
96
- recorded_at: Thu, 18 Dec 2014 08:01:33 GMT
60
+ is only to be used if the clients have declined Travel Insurance.","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":null,"created_at":"2014-09-12T17:12:11+09:30","updated_at":"2013-03-01T00:17:12+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,"client_type_ids":[],"category":null,"location":"","current_description":"\u003Cp\u003EYou
61
+ have declined Travel Insurance for your booking. If you wish to add Travel
62
+ Insurance to this booking, please contact the SeaLink Travel Group on 13 13
63
+ 01 prior to commencing your travels.\u003C/p\u003E","graphics":[],"graphic_names":[]}]'
64
+ http_version:
65
+ recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
97
66
  recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://test.qt.sealink.com.au:8080/api/product_types.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: access_key=<QT_KEY>
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: 'OK '
16
+ headers:
17
+ X-Frame-Options:
18
+ - SAMEORIGIN
19
+ X-Xss-Protection:
20
+ - '1'
21
+ X-Content-Type-Options:
22
+ - nosniff
23
+ X-Download-Options:
24
+ - noopen
25
+ X-Permitted-Cross-Domain-Policies:
26
+ - none
27
+ P3p:
28
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"11c073c9ef8dfd437622afb5a87e5424"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - d6ae6dcec29fd80c84101358b1cda871
39
+ X-Runtime:
40
+ - '0.059593'
41
+ Vary:
42
+ - Origin
43
+ Date:
44
+ - Thu, 28 Feb 2013 13:35:53 GMT
45
+ X-Rack-Cache:
46
+ - miss
47
+ Server:
48
+ - WEBrick/1.3.1 (Ruby/2.2.4/2015-12-16)
49
+ Content-Length:
50
+ - '4978'
51
+ Connection:
52
+ - Keep-Alive
53
+ Set-Cookie:
54
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWUwNWI2OGUwMTczMTVmM2JhZWIzYTUxOTMzNmMwY2Q4BjsAVEkiCXVzZXIGOwBGaQY%3D--3f9cdfae11ab4c6abd4123c4661a6a701af9c1fd;
55
+ path=/; HttpOnly
56
+ body:
57
+ encoding: UTF-8
58
+ string: '[{"id":1,"name":"Ferry","resource_class_name":"Ship","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":2,"name":"Accommodation","resource_class_name":"Accommodation","disclaimer_id":null,"durational":true,"can_find_by_location":true,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":3,"name":"Flight","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":4,"name":"Item","resource_class_name":"Item","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"needs_services":false,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":5,"name":"Ticket","resource_class_name":"Ticket","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"needs_services":false,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":6,"name":"Mainland
59
+ Coach Transfers","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":true,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2013-03-01T01:33:37+10:30","updated_at":"2013-03-01T01:33:37+10:30","code":"","needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":7,"name":"Travel
60
+ Insurance","resource_class_name":"Insurance","disclaimer_id":null,"durational":true,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":true,"created_at":"2014-09-12T17:06:45+09:30","updated_at":"2014-09-12T17:06:45+09:30","code":"","needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":false},{"id":8,"name":"Merchandise","resource_class_name":"Item","disclaimer_id":1,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["reservation_group_id","trip_name","departure_time","pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2015-08-25T15:10:06+09:30","updated_at":"2015-08-25T15:10:06+09:30","code":"","needs_services":false,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false}]'
61
+ http_version:
62
+ recorded_at: Thu, 07 Apr 2016 06:57:34 GMT
63
+ recorded_with: VCR 3.0.1
@@ -2,49 +2,55 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://0.0.0.0:8080/api/resources/6.json?
5
+ uri: http://test.qt.sealink.com.au:8080/resources/6.json
6
6
  body:
7
- encoding: US-ASCII
7
+ encoding: UTF-8
8
8
  string: access_key=<QT_KEY>
9
9
  headers:
10
- content-length:
10
+ Content-Length:
11
11
  - '0'
12
12
  response:
13
13
  status:
14
14
  code: 200
15
- message: ! 'OK '
15
+ message: 'OK '
16
16
  headers:
17
- p3p:
17
+ P3p:
18
18
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
- content-type:
19
+ Content-Type:
20
20
  - application/json; charset=utf-8
21
- x-ua-compatible:
22
- - IE=Edge,chrome=1
23
- etag:
24
- - ! '"597948cd4b4de4495bfbdf7274a6923d"'
25
- cache-control:
26
- - max-age=0, private, must-revalidate
27
- x-request-id:
28
- - 1c14aa89d7ff2b87dab94f3ace899c5a
29
- x-runtime:
30
- - '0.028282'
31
- date:
32
- - Thu, 28 Feb 2013 14:28:22 GMT
33
- x-rack-cache:
21
+ X-Ua-Compatible:
22
+ - IE=Edge
23
+ Cache-Control:
24
+ - no-store, must-revalidate, private, max-age=0
25
+ X-Request-Id:
26
+ - d51ad9bad61e17a0c9464722edf61921
27
+ X-Runtime:
28
+ - '0.062933'
29
+ Vary:
30
+ - Origin
31
+ X-Rack-Cache:
34
32
  - miss
35
- server:
36
- - WEBrick/1.3.1 (Ruby/2.1.5/2014-11-13)
37
- content-length:
38
- - '1499'
39
- connection:
40
- - close
41
- set-cookie:
42
- - _session_id=68a0c30f91cf8e0b5990d8a37581b6ae; path=/; HttpOnly
33
+ X-Miniprofiler-Ids:
34
+ - '["2a6vuz8r4il0kc57pwgg","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
+ Date:
38
+ - Mon, 26 Oct 2015 00:18:51 GMT
39
+ Content-Length:
40
+ - '1413'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - __profilin=p%3Dt; path=/
45
+ - __profilin=p%3Dt; path=/
46
+ - __profilin=p%3Dt; path=/
47
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTk1YWVkNDUzOGM0ODFlZjg2NjI5ZDdkZjNlMWI1NmQ4BjsAVEkiCXVzZXIGOwBGaQY%3D--03521ff3da28a669ffd25a78c1a73fd4d879c15a;
48
+ path=/; HttpOnly
43
49
  body:
44
- encoding: US-ASCII
45
- 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,"booking_notes":"","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"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,"vehicle_ticket_format_id":null,"passenger_ticket_format_id":null,"reservation_ticket_format_id":null,"frequent_traveller_redemption_rate":null,"client_type_ids":[],"category":null,"location":"Adelaide
50
+ encoding: UTF-8
51
+ 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,"booking_notes":"","expiry_units":null,"uses":null,"inline_price_in_cents":null,"inline_cost_in_cents":null,"expiry_level":null,"unlimited_uses":false,"no_expiry":false,"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,"client_type_ids":[],"category":null,"location":"Adelaide
46
52
  CBD","current_description":"\u003Cp\u003EA basic studio room\u003C/p\u003E","graphics":[],"graphic_names":[],"property_name":"Hilton
47
53
  Hotel"}'
48
- http_version: '1.1'
49
- recorded_at: Thu, 18 Dec 2014 07:45:12 GMT
54
+ http_version:
55
+ recorded_at: Mon, 26 Oct 2015 00:18:51 GMT
50
56
  recorded_with: VCR 2.9.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://test.qt.sealink.com.au:8080/api/resources/index_with_price.json?product_type_ids=5
6
+ body:
7
+ encoding: UTF-8
8
+ string: access_key=<QT_KEY>
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: 'OK '
16
+ headers:
17
+ X-Frame-Options:
18
+ - SAMEORIGIN
19
+ X-Xss-Protection:
20
+ - '1'
21
+ X-Content-Type-Options:
22
+ - nosniff
23
+ X-Download-Options:
24
+ - noopen
25
+ X-Permitted-Cross-Domain-Policies:
26
+ - none
27
+ P3p:
28
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"bb1d26de241b81d26f40904a269d8e56"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - 9591c5d94258db0d9fb4859e0c22fd36
39
+ X-Runtime:
40
+ - '0.142174'
41
+ Vary:
42
+ - Origin
43
+ Date:
44
+ - Thu, 28 Feb 2013 13:30:18 GMT
45
+ X-Rack-Cache:
46
+ - miss
47
+ Server:
48
+ - WEBrick/1.3.1 (Ruby/2.2.4/2015-12-16)
49
+ Content-Length:
50
+ - '3815'
51
+ Connection:
52
+ - Keep-Alive
53
+ Set-Cookie:
54
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTQxNWVlY2QxMGJhOTgwM2Y2MTEwYzY5M2RkOTUzMDFiBjsAVEkiCXVzZXIGOwBGaQY%3D--ecffeb7fcbe10f9d3422590fb09ac6e40414e338;
55
+ path=/; HttpOnly
56
+ body:
57
+ encoding: UTF-8
58
+ string: '[{"id":7,"name":"Adult Return","product_type_id":5,"default_capacity":null,"type":"Ticket","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":null,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"","expiry_units":"days","uses":2,"inline_price_in_cents":3200,"inline_cost_in_cents":0,"expiry_level":30,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":1,"created_at":"2015-08-25T14:22:46+09:30","updated_at":"2015-08-25T14:22:46+09:30","code":"2AD","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":true,"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":true,"individual_tickets":false,"frequent_traveller_redemption_rate":null,"position":null,"todays_price_in_cents":3200,"child_resources":[]},{"id":8,"name":"Concession
59
+ Return","product_type_id":5,"default_capacity":null,"type":"Ticket","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":null,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"","expiry_units":"days","uses":2,"inline_price_in_cents":1600,"inline_cost_in_cents":0,"expiry_level":30,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":1,"created_at":"2015-08-25T14:24:45+09:30","updated_at":"2015-08-25T14:24:45+09:30","code":"2CON","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":true,"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":true,"individual_tickets":false,"frequent_traveller_redemption_rate":null,"position":null,"todays_price_in_cents":1600,"child_resources":[]},{"id":9,"name":"Student
60
+ Flexi","product_type_id":5,"default_capacity":null,"type":"Ticket","inventory_type":1,"maximum_occupancy":null,"location_id":null,"property_id":null,"fare_basis_pointer_id":null,"disclaimer_id":null,"deposit_rule_id":null,"vendor_id":null,"maximum_weight":null,"days_before_inventory_expires":null,"property_type_id":null,"star_rating":null,"booking_notes":"","expiry_units":"days","uses":2,"inline_price_in_cents":6800,"inline_cost_in_cents":0,"expiry_level":30,"unlimited_uses":false,"no_expiry":false,"reason_required":false,"resource_category_id":2,"created_at":"2015-08-25T14:25:43+09:30","updated_at":"2015-08-25T14:25:43+09:30","code":"10STU","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":true,"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":false,"frequent_traveller_redemption_rate":null,"position":null,"todays_price_in_cents":6800,"child_resources":[]}]'
61
+ http_version:
62
+ recorded_at: Thu, 07 Apr 2016 06:51:59 GMT
63
+ recorded_with: VCR 3.0.1
@@ -0,0 +1,65 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://test.qt.sealink.com.au:8080/product_types/1/routes.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: access_key=<QT_KEY>
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: 'OK '
16
+ headers:
17
+ X-Frame-Options:
18
+ - SAMEORIGIN
19
+ X-Xss-Protection:
20
+ - '1'
21
+ X-Content-Type-Options:
22
+ - nosniff
23
+ X-Download-Options:
24
+ - noopen
25
+ X-Permitted-Cross-Domain-Policies:
26
+ - none
27
+ P3p:
28
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Ua-Compatible:
32
+ - IE=Edge,chrome=1
33
+ Etag:
34
+ - '"28e8a10061a92c63158d0d85424140f3"'
35
+ Cache-Control:
36
+ - max-age=0, private, must-revalidate
37
+ X-Request-Id:
38
+ - d3c6e41f08d937995f0f8c6a9c826ffb
39
+ X-Runtime:
40
+ - '0.066613'
41
+ Vary:
42
+ - Origin
43
+ Date:
44
+ - Thu, 28 Feb 2013 13:35:14 GMT
45
+ X-Rack-Cache:
46
+ - miss
47
+ Server:
48
+ - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
49
+ Content-Length:
50
+ - '1201'
51
+ Connection:
52
+ - Keep-Alive
53
+ Set-Cookie:
54
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWQ5ZGFhNzEwODk2Y2M1YWMzYjUyNjg3OGFmODYwZTdiBjsAVEkiCXVzZXIGOwBGaQY%3D--510e99799935dc8095c1fcdafd0c2bf26e64618d;
55
+ path=/; HttpOnly
56
+ body:
57
+ encoding: UTF-8
58
+ string: '[{"id":1,"product_type_id":1,"reverse_id":2,"position":1,"created_at":"2013-03-01T00:01:37+10:30","updated_at":"2013-03-01T00:06:45+10:30","name":"To
59
+ Kangaroo Island","path":"Cape Jervis to Penneshaw","route_stops":[{"id":1,"name":"Cape
60
+ Jervis","address":"","inventory_controlled":true,"route_id":1,"position":1,"created_at":"2013-03-01T00:01:37+10:30","updated_at":"2013-03-01T00:01:37+10:30","code":"CPJ"},{"id":2,"name":"Penneshaw","address":"","inventory_controlled":true,"route_id":1,"position":2,"created_at":"2013-03-01T00:01:37+10:30","updated_at":"2013-03-01T00:01:37+10:30","code":"PEN"}]},{"id":2,"product_type_id":1,"reverse_id":1,"position":2,"created_at":"2013-03-01T00:02:06+10:30","updated_at":"2013-03-01T00:06:38+10:30","name":"From
61
+ Kangaroo Island","path":"Penneshaw to Cape Jervis","route_stops":[{"id":3,"name":"Penneshaw","address":"","inventory_controlled":true,"route_id":2,"position":1,"created_at":"2013-03-01T00:02:06+10:30","updated_at":"2013-03-01T00:02:06+10:30","code":"PEN"},{"id":4,"name":"Cape
62
+ Jervis","address":"","inventory_controlled":true,"route_id":2,"position":2,"created_at":"2013-03-01T00:02:06+10:30","updated_at":"2013-03-01T00:02:06+10:30","code":"CPJ"}]}]'
63
+ http_version:
64
+ recorded_at: Sun, 24 Jan 2016 22:13:11 GMT
65
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,109 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://test.qt.sealink.com.au:8080/api/product_types.json
6
+ body:
7
+ encoding: UTF-8
8
+ string: access_key=<QT_KEY>
9
+ headers:
10
+ Content-Length:
11
+ - '0'
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: 'OK '
16
+ headers:
17
+ P3p:
18
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ X-Ua-Compatible:
22
+ - IE=Edge
23
+ Cache-Control:
24
+ - no-store, must-revalidate, private, max-age=0
25
+ X-Request-Id:
26
+ - 67e534623458a7d42a917b0222e97400
27
+ X-Runtime:
28
+ - '0.086951'
29
+ Vary:
30
+ - Origin
31
+ X-Rack-Cache:
32
+ - miss
33
+ X-Miniprofiler-Ids:
34
+ - '["aqfwnpkw3y59qtm211zk","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
35
+ Server:
36
+ - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
+ Date:
38
+ - Mon, 26 Oct 2015 00:18:52 GMT
39
+ Content-Length:
40
+ - '4799'
41
+ Connection:
42
+ - Keep-Alive
43
+ Set-Cookie:
44
+ - __profilin=p%3Dt; path=/
45
+ - __profilin=p%3Dt; path=/
46
+ - __profilin=p%3Dt; path=/
47
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWNkZWM2M2M2MTdiY2M3NTU4ZDZiNmU4OWM0YTY0MzQyBjsAVEkiCXVzZXIGOwBGaQY%3D--07e407f62950a5418bfbd060d44bcf63b4ba76c7;
48
+ path=/; HttpOnly
49
+ body:
50
+ encoding: UTF-8
51
+ string: '[{"id":1,"name":"Ferry","resource_class_name":"Ship","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":2,"name":"Accommodation","resource_class_name":"Accommodation","disclaimer_id":null,"durational":true,"can_find_by_location":true,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":3,"name":"Flight","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":4,"name":"Item","resource_class_name":"Item","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":5,"name":"Ticket","resource_class_name":"Ticket","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":6,"name":"Mainland
52
+ Coach Transfers","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":true,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2013-03-01T01:33:37+10:30","updated_at":"2013-03-01T01:33:37+10:30","code":"","can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":7,"name":"Travel
53
+ Insurance","resource_class_name":"Insurance","disclaimer_id":null,"durational":true,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":true,"created_at":"2014-09-12T17:06:45+09:30","updated_at":"2014-09-12T17:06:45+09:30","code":"","can_have_quantity":false,"can_have_dates":true,"needs_passengers":false},{"id":8,"name":"Merchandise","resource_class_name":"Item","disclaimer_id":1,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["reservation_group_id","trip_name","departure_time","pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2015-08-25T15:10:06+09:30","updated_at":"2015-08-25T15:10:06+09:30","code":"","can_have_quantity":true,"can_have_dates":false,"needs_passengers":false}]'
54
+ http_version:
55
+ recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
56
+ - request:
57
+ method: get
58
+ uri: http://test.qt.other.com.au:8080/api/product_types.json
59
+ body:
60
+ encoding: UTF-8
61
+ string: access_key=<QT_KEY_2>
62
+ headers:
63
+ Content-Length:
64
+ - '0'
65
+ response:
66
+ status:
67
+ code: 200
68
+ message: 'OK '
69
+ headers:
70
+ P3p:
71
+ - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
72
+ Content-Type:
73
+ - application/json; charset=utf-8
74
+ X-Ua-Compatible:
75
+ - IE=Edge
76
+ Cache-Control:
77
+ - no-store, must-revalidate, private, max-age=0
78
+ X-Request-Id:
79
+ - eb8495af40f2abe809d68616a5746b49
80
+ X-Runtime:
81
+ - '0.079787'
82
+ Vary:
83
+ - Origin
84
+ X-Rack-Cache:
85
+ - miss
86
+ X-Miniprofiler-Ids:
87
+ - '["8glh8apmwrgyt6d05c82","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
88
+ Server:
89
+ - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
90
+ Date:
91
+ - Mon, 26 Oct 2015 00:18:52 GMT
92
+ Content-Length:
93
+ - '4799'
94
+ Connection:
95
+ - Keep-Alive
96
+ Set-Cookie:
97
+ - __profilin=p%3Dt; path=/
98
+ - __profilin=p%3Dt; path=/
99
+ - __profilin=p%3Dt; path=/
100
+ - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTFlY2Q0YzZhMDJlMTkxY2Y5ODM2MGZhYjE0Nzk4NDA3BjsAVEkiCXVzZXIGOwBGaQY%3D--b960d2b4ab390e1ef5e60d4a9c730eb08a7d512d;
101
+ path=/; HttpOnly
102
+ body:
103
+ encoding: UTF-8
104
+ string: '[{"id":1,"name":"Ferry","resource_class_name":"Ship","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":2,"name":"Accommodation","resource_class_name":"Accommodation","disclaimer_id":null,"durational":true,"can_find_by_location":true,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":3,"name":"Flight","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":4,"name":"Item","resource_class_name":"Item","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":5,"name":"Ticket","resource_class_name":"Ticket","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":null,"maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":null,"created_at":null,"updated_at":null,"code":null,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":6,"name":"Mainland
105
+ Coach Transfers","resource_class_name":"ScheduledTripResource","disclaimer_id":null,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":true,"multi_leg":true,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2013-03-01T01:33:37+10:30","updated_at":"2013-03-01T01:33:37+10:30","code":"","can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":7,"name":"Travel
106
+ Insurance","resource_class_name":"Insurance","disclaimer_id":null,"durational":true,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":true,"created_at":"2014-09-12T17:06:45+09:30","updated_at":"2014-09-12T17:06:45+09:30","code":"","can_have_quantity":false,"can_have_dates":true,"needs_passengers":false},{"id":8,"name":"Merchandise","resource_class_name":"Item","disclaimer_id":1,"durational":false,"can_find_by_location":false,"measure_units_by_pax_count":false,"multi_leg":false,"prompt_for_pick_up_drop_off":false,"book_before_level":null,"book_before_units":"seconds","maximum_passengers_online":null,"confirmation_request_fields":["reservation_group_id","trip_name","departure_time","pick_up_information","drop_off_information","vendor_pnr","notes_for_vendor","vendor_staff","note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2015-08-25T15:10:06+09:30","updated_at":"2015-08-25T15:10:06+09:30","code":"","can_have_quantity":true,"can_have_dates":false,"needs_passengers":false}]'
107
+ http_version:
108
+ recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
109
+ recorded_with: VCR 2.9.3