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
@@ -2,13 +2,15 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://test.qt.sealink.com.au:8080/resources/6.json
5
+ uri: http://test.qt.sealink.com.au:8080/api/resources/6.json
6
6
  body:
7
7
  encoding: UTF-8
8
- string: access_key=<QT_KEY>
8
+ string: ''
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
@@ -18,22 +20,20 @@ http_interactions:
18
20
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
21
  Content-Type:
20
22
  - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
23
  Etag:
24
- - '"d1e1e0f8d3920bd1435fd4b44b17f60f"'
24
+ - W/"641461e04c30167b268dd9059d420764"
25
25
  Cache-Control:
26
26
  - max-age=0, private, must-revalidate
27
27
  X-Request-Id:
28
- - 84117d9e1f5bd338cbb38af3566053a1
28
+ - 3d60184a-17a0-4b82-b04b-4db7ff3793f2
29
29
  X-Runtime:
30
- - '0.093168'
31
- Vary:
32
- - Origin
30
+ - '0.203714'
33
31
  Date:
34
- - Fri, 01 Jan 2016 02:32:40 GMT
32
+ - Fri, 01 Jan 2016 02:32:37 GMT
35
33
  X-Rack-Cache:
36
34
  - miss
35
+ Vary:
36
+ - Origin
37
37
  X-Content-Type-Options:
38
38
  - nosniff
39
39
  X-Download-Options:
@@ -47,18 +47,18 @@ http_interactions:
47
47
  Server:
48
48
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
49
  Content-Length:
50
- - '1556'
50
+ - '1437'
51
51
  Connection:
52
52
  - Keep-Alive
53
53
  Set-Cookie:
54
- - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWFmNTllNzdlNTRjMGU2YzkxZDkwNThiY2JhMTcxODkzBjsAVEkiCXVzZXIGOwBGaQY%3D--3234d338cf6ce10667c99c802eb01a98660c84e6;
54
+ - _session_id=Q2paaVFEVXVRMkUyYzBLa014WkxaeStrQkltMm1MZE9TVmF4N3YrTVNHeFE0RDFYY0FXQ0wwV242S2J3RGRBQWVseWpWMWY2Ti90RGlrVldXNml4dGdmeHNDaThJSURYKytTeHVpUlBBS3c9LS1wLzJNcE5TVmtDMmQ2Q05FYzhwMlRRPT0%3D--f16fffab318d81b9a68b2d14478da63f0d2921d8;
55
55
  path=/; HttpOnly
56
56
  body:
57
57
  encoding: UTF-8
58
- 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,"ticket_template_id":null,"generate_tickets_by_quantity":true,"to_s":"Hilton
59
- Hotel - Executive Room","client_type_ids":[],"category":null,"location":"Adelaide
60
- CBD","current_description":"\u003Cp\u003EA basic studio room\u003C/p\u003E","graphics":[],"graphic_names":[],"property_name":"Hilton
61
- Hotel","ticket_template":null,"expiry_days":null}'
58
+ 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
59
+ Hotel - Executive Room","client_type_ids":[],"category":null,"location_ids":[5],"current_description":"\u003cp\u003eA
60
+ basic studio room\u003c/p\u003e","graphics":[],"graphic_names":[],"property_name":"Hilton
61
+ Hotel","ticket_template":null,"expiry_days":null}]'
62
62
  http_version:
63
- recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
64
- recorded_with: VCR 3.0.3
63
+ recorded_at: Wed, 21 Mar 2018 04:40:44 GMT
64
+ recorded_with: VCR 4.0.0
@@ -5,10 +5,12 @@ http_interactions:
5
5
  uri: http://test.qt.sealink.com.au:8080/api/resources/index_with_price.json?product_type_ids=5
6
6
  body:
7
7
  encoding: UTF-8
8
- string: access_key=<QT_KEY>
8
+ string: ''
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
@@ -18,22 +20,20 @@ http_interactions:
18
20
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
21
  Content-Type:
20
22
  - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
23
  Etag:
24
- - '"4021e9c5ee2443266c0cff2a606de158"'
24
+ - W/"2f9eac1da4c12c4fd054c093855ad01d"
25
25
  Cache-Control:
26
26
  - max-age=0, private, must-revalidate
27
27
  X-Request-Id:
28
- - 4d20d16ecfa3816287c45e7b885cc4d6
28
+ - fcbdf515-068a-40c5-8b9b-46299a023cb5
29
29
  X-Runtime:
30
- - '0.106900'
31
- Vary:
32
- - Origin
30
+ - '0.162243'
33
31
  Date:
34
- - Fri, 01 Jan 2016 02:32:40 GMT
32
+ - Fri, 01 Jan 2016 02:32:37 GMT
35
33
  X-Rack-Cache:
36
34
  - miss
35
+ Vary:
36
+ - Origin
37
37
  X-Content-Type-Options:
38
38
  - nosniff
39
39
  X-Download-Options:
@@ -47,20 +47,20 @@ http_interactions:
47
47
  Server:
48
48
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
49
  Content-Length:
50
- - '4895'
50
+ - '4847'
51
51
  Connection:
52
52
  - Keep-Alive
53
53
  Set-Cookie:
54
- - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWMxYTgzNmQ2MTdiMzRhYzRiMzBlMGJkMzhiMzhhNDJmBjsAVEkiCXVzZXIGOwBGaQY%3D--1cc254b42d691db0988afc5e493189f2ddc0d030;
54
+ - _session_id=MEFBTFdvRGlSTloxUGNMd1BBNzh4RnFxQWorT2ZySDRFUmFKeExSWDV1eHA1R3RGNzd4MWNYRW5FS29BOERGQW1ZWkpBZml3SnJZSmd6T21aMllLV2hZaUVkMFlMbzYxSGJJZEtKRHVodGs9LS1TWU8yTm5tcWxTRlV2Ukl2UjNGUkNRPT0%3D--f29a9fbdeec3a363e1af8585fad6ea421db26720;
55
55
  path=/; HttpOnly
56
56
  body:
57
57
  encoding: UTF-8
58
- string: '[{"id":7,"name":"Adult Return","product_type_id":5,"default_capacity":null,"type":"Item","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":"2016-07-13T09:44:55+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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"todays_price_in_cents":3200,"todays_price_with_rules_in_cents":3200,"applied_rules":[],"description":"","ticket_template":{"activation_trigger":"travel_date","created_at":"2016-07-13T09:44:55+09:30","expiry_days":30,"id":1,"maximum_uses":2,"name":"2
59
- uses, 30 days expiry","updated_at":"2016-07-13T09:44:55+09:30"},"expiry_days":30,"child_resources":[]},{"id":8,"name":"Concession
60
- Return","product_type_id":5,"default_capacity":null,"type":"Item","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":"2016-07-13T09:44:55+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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"todays_price_in_cents":1600,"todays_price_with_rules_in_cents":1600,"applied_rules":[],"description":"","ticket_template":{"activation_trigger":"travel_date","created_at":"2016-07-13T09:44:55+09:30","expiry_days":30,"id":1,"maximum_uses":2,"name":"2
61
- uses, 30 days expiry","updated_at":"2016-07-13T09:44:55+09:30"},"expiry_days":30,"child_resources":[]},{"id":9,"name":"Student
62
- Flexi","product_type_id":5,"default_capacity":null,"type":"Item","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":"2016-07-13T09:44:55+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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"todays_price_in_cents":6800,"todays_price_with_rules_in_cents":6800,"applied_rules":[],"description":"","ticket_template":{"activation_trigger":"travel_date","created_at":"2016-07-13T09:44:55+09:30","expiry_days":30,"id":1,"maximum_uses":2,"name":"2
63
- uses, 30 days expiry","updated_at":"2016-07-13T09:44:55+09:30"},"expiry_days":30,"child_resources":[]}]'
58
+ string: '[{"id":7,"name":"Adult Return","product_type_id":5,"default_capacity":null,"type":"Item","inventory_type":1,"maximum_occupancy":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,"inline_price_in_cents":3200,"inline_cost_in_cents":0,"resource_category_id":1,"created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10: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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"inventory_release_hour":null,"location_ids":[],"todays_price_in_cents":3200,"todays_price_with_rules_in_cents":3200,"applied_rules":[],"description":"","ticket_template":{"id":1,"name":"2
59
+ uses, 30 days expiry","maximum_uses":2,"expiry_days":30,"activation_trigger":"travel_date","created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10:30","validity_duration_minutes":15,"daily_uses_limit":null,"parent_id":null},"expiry_days":30,"child_resources":[]},{"id":8,"name":"Concession
60
+ Return","product_type_id":5,"default_capacity":null,"type":"Item","inventory_type":1,"maximum_occupancy":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,"inline_price_in_cents":1600,"inline_cost_in_cents":0,"resource_category_id":1,"created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10: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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"inventory_release_hour":null,"location_ids":[],"todays_price_in_cents":1600,"todays_price_with_rules_in_cents":1600,"applied_rules":[],"description":"","ticket_template":{"id":1,"name":"2
61
+ uses, 30 days expiry","maximum_uses":2,"expiry_days":30,"activation_trigger":"travel_date","created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10:30","validity_duration_minutes":15,"daily_uses_limit":null,"parent_id":null},"expiry_days":30,"child_resources":[]},{"id":9,"name":"Student
62
+ Flexi","product_type_id":5,"default_capacity":null,"type":"Item","inventory_type":1,"maximum_occupancy":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,"inline_price_in_cents":6800,"inline_cost_in_cents":0,"resource_category_id":2,"created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10: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,"ticket_template_id":1,"generate_tickets_by_quantity":true,"inventory_release_hour":null,"location_ids":[],"todays_price_in_cents":6800,"todays_price_with_rules_in_cents":6800,"applied_rules":[],"description":"","ticket_template":{"id":1,"name":"2
63
+ uses, 30 days expiry","maximum_uses":2,"expiry_days":30,"activation_trigger":"travel_date","created_at":"2018-03-21T11:24:01.000+10:30","updated_at":"2018-03-21T11:24:01.000+10:30","validity_duration_minutes":15,"daily_uses_limit":null,"parent_id":null},"expiry_days":30,"child_resources":[]}]'
64
64
  http_version:
65
- recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
66
- recorded_with: VCR 3.0.3
65
+ recorded_at: Wed, 21 Mar 2018 04:40:44 GMT
66
+ recorded_with: VCR 4.0.0
@@ -5,10 +5,12 @@ http_interactions:
5
5
  uri: http://test.qt.sealink.com.au:8080/api/settings/basic.json
6
6
  body:
7
7
  encoding: UTF-8
8
- string: access_key=<QT_KEY>
8
+ string: ''
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
@@ -18,22 +20,20 @@ http_interactions:
18
20
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
21
  Content-Type:
20
22
  - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
23
  Etag:
24
- - '"168ce77e85be5b01489cbdeb4579ae80"'
24
+ - W/"fa3cf293c3f4a0785f054bee171056d2"
25
25
  Cache-Control:
26
26
  - max-age=0, private, must-revalidate
27
27
  X-Request-Id:
28
- - 9bc0325ad1d87df4cfeabe842fd54665
28
+ - a3470cff-09d0-4bce-a31d-0b9a8b2dc1f1
29
29
  X-Runtime:
30
- - '0.162131'
31
- Vary:
32
- - Origin
30
+ - '0.148414'
33
31
  Date:
34
- - Fri, 01 Jan 2016 02:35:07 GMT
32
+ - Fri, 01 Jan 2016 02:32:38 GMT
35
33
  X-Rack-Cache:
36
34
  - miss
35
+ Vary:
36
+ - Origin
37
37
  X-Content-Type-Options:
38
38
  - nosniff
39
39
  X-Download-Options:
@@ -51,11 +51,11 @@ http_interactions:
51
51
  Connection:
52
52
  - Keep-Alive
53
53
  Set-Cookie:
54
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTA1MTMxYmM3MzVkODRmNDc3ZTJkYzdjMTQ5YzM3M2Q3BjsAVEkiCXVzZXIGOwBGaQY%3D--a046d093f16ee7b3088c89116f6cfe2d12594657;
54
+ - _session_id=WWtpVzB5aHJVQ0tCVTd2STBVZ3ZVMlE1WnZuVUtrL3lROXo3cnBYRlpEbjR4UEZXL3pzOVNaWm1HT0pYTFJ6UUJ6a1lvaTllMmhvcDhrVE1QNHhoOFZhS1huVlptSnlxS1lqenJBZ2daQTA9LS1OTVlkaW9vM2JqRXU0UHZPeHA0ZDNBPT0%3D--78c26600f82228527582fe1571f21bad21915d24;
55
55
  path=/; HttpOnly
56
56
  body:
57
57
  encoding: UTF-8
58
58
  string: '{"vehicle_optional_fields":["weight","registration"],"default_passenger_type_id":1,"time_zone":"Australia/Adelaide","ob_num_pax_requiring_details":"none","person_titles":["Mr","Mrs","Ms","Miss"]}'
59
59
  http_version:
60
- recorded_at: Tue, 23 May 2017 04:09:58 GMT
61
- recorded_with: VCR 3.0.3
60
+ recorded_at: Wed, 21 Mar 2018 04:40:45 GMT
61
+ recorded_with: VCR 4.0.0
@@ -5,10 +5,12 @@ http_interactions:
5
5
  uri: http://test.qt.sealink.com.au:8080/api/product_types.json
6
6
  body:
7
7
  encoding: UTF-8
8
- string: access_key=<QT_KEY>
8
+ string: ''
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
@@ -18,22 +20,20 @@ http_interactions:
18
20
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
19
21
  Content-Type:
20
22
  - application/json; charset=utf-8
21
- X-Ua-Compatible:
22
- - IE=Edge,chrome=1
23
23
  Etag:
24
- - '"3ff67a732ba04673f7461eccd9b919ed"'
24
+ - W/"1fe4427aa58b4d56ec64723a80cfd66d"
25
25
  Cache-Control:
26
26
  - max-age=0, private, must-revalidate
27
27
  X-Request-Id:
28
- - 14eda6d265f2e49defc392ff37f5d201
28
+ - 12a84107-d09e-4489-b75f-3938be33386f
29
29
  X-Runtime:
30
- - '0.086428'
31
- Vary:
32
- - Origin
30
+ - '0.134015'
33
31
  Date:
34
- - Fri, 01 Jan 2016 02:32:40 GMT
32
+ - Fri, 01 Jan 2016 02:32:38 GMT
35
33
  X-Rack-Cache:
36
34
  - miss
35
+ Vary:
36
+ - Origin
37
37
  X-Content-Type-Options:
38
38
  - nosniff
39
39
  X-Download-Options:
@@ -47,28 +47,34 @@ http_interactions:
47
47
  Server:
48
48
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
49
  Content-Length:
50
- - '5576'
50
+ - '5426'
51
51
  Connection:
52
52
  - Keep-Alive
53
53
  Set-Cookie:
54
- - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTI3MmIxNmU0YWE3NTZmYzUzOTQ3MTBmMjNlODM0OTVjBjsAVEkiCXVzZXIGOwBGaQY%3D--d3c6d8263debc308d98297e7325bc71919307a83;
54
+ - _session_id=S29rR2pielF4Zy85MHZUa0I1VlBFbkh5NHRpd00rREJrempqZDNtcUx6cTg1ejBVSFVjMzVWWjVubXBSZmEza0lRTFJiNGJ4RWs1cmxtUk4zaURUMUQ1cW16YVpSd3YwM3BKcWhIZFhvRFU9LS1aQzluc2VPYjl2YXhrekd4WDhERFNRPT0%3D--c599bc05bd16b7ee5f77a2a73172b44b7c455580;
55
55
  path=/; HttpOnly
56
56
  body:
57
57
  encoding: UTF-8
58
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":"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":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},{"id":9,"name":"Cruise","resource_class_name":"GenericResource","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":"seconds","maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2016-05-11T12:10:20+09:30","updated_at":"2016-05-11T12:10:20+09:30","code":"","needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true}]'
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":null,"updated_at":null,"code":null,"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
61
+ notes_for_vendor","vendor_staff note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":true,"created_at":null,"updated_at":null,"code":null,"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":"''---\n -
62
+ reservation_group_id\n - trip_name departure_time\n - pick_up_information\n -
63
+ drop_off_information\n - vendor_pnr\n - notes_for_vendor\n - vendor_staff\n -
64
+ note_for_inventory_type_change''\n","only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":null,"updated_at":null,"code":null,"needs_services":false,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":9,"name":"Cruise","resource_class_name":"GenericResource","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":"seconds","maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true}]'
61
65
  http_version:
62
- recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
66
+ recorded_at: Wed, 21 Mar 2018 04:40:45 GMT
63
67
  - request:
64
68
  method: get
65
69
  uri: http://test.qt.other.com.au:8080/api/product_types.json
66
70
  body:
67
71
  encoding: UTF-8
68
- string: access_key=<QT_KEY_2>
72
+ string: ''
69
73
  headers:
70
74
  Content-Length:
71
75
  - '0'
76
+ X-API-KEY:
77
+ - <QT_KEY_2>
72
78
  response:
73
79
  status:
74
80
  code: 200
@@ -78,22 +84,20 @@ http_interactions:
78
84
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
79
85
  Content-Type:
80
86
  - application/json; charset=utf-8
81
- X-Ua-Compatible:
82
- - IE=Edge,chrome=1
83
87
  Etag:
84
- - '"3ff67a732ba04673f7461eccd9b919ed"'
88
+ - W/"1fe4427aa58b4d56ec64723a80cfd66d"
85
89
  Cache-Control:
86
90
  - max-age=0, private, must-revalidate
87
91
  X-Request-Id:
88
- - c65d177ee2b1977083d9043c5909f100
92
+ - 4fb41203-646a-4e9b-a16b-d1f3e611527b
89
93
  X-Runtime:
90
- - '0.075303'
91
- Vary:
92
- - Origin
94
+ - '0.154429'
93
95
  Date:
94
- - Fri, 01 Jan 2016 02:32:41 GMT
96
+ - Fri, 01 Jan 2016 02:32:38 GMT
95
97
  X-Rack-Cache:
96
98
  - miss
99
+ Vary:
100
+ - Origin
97
101
  X-Content-Type-Options:
98
102
  - nosniff
99
103
  X-Download-Options:
@@ -107,17 +111,21 @@ http_interactions:
107
111
  Server:
108
112
  - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
109
113
  Content-Length:
110
- - '5576'
114
+ - '5426'
111
115
  Connection:
112
116
  - Keep-Alive
113
117
  Set-Cookie:
114
- - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTQ2ZDFmYjJhNmY2NjJhMzdkMWM1ZGYwMDg4NDBkOThkBjsAVEkiCXVzZXIGOwBGaQY%3D--5c7357e5c89d006af101ad940fea5616ac6bdad3;
118
+ - _session_id=UmNXNXBDRStoMksrSHpLeDhYZWpoL05jSUorWXpRekdwVXVMUFo0TEZOK2tjdXUxWWdwSGxvTUVZLzIzNTRnNDBONlpzY3NKUndWbWlvUjFkWE5sQWgvMndxV3k2SG1vaUlHOXE4SGxCR0U9LS0wL3VGaXNTYndhaU55eFQrOEJTbHdBPT0%3D--3d8f1b0d841e72a9aa76714b0c996d0b4cc24317;
115
119
  path=/; HttpOnly
116
120
  body:
117
121
  encoding: UTF-8
118
122
  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":"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":6,"name":"Mainland
119
- 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
120
- 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},{"id":9,"name":"Cruise","resource_class_name":"GenericResource","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":"seconds","maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":"2016-05-11T12:10:20+09:30","updated_at":"2016-05-11T12:10:20+09:30","code":"","needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true}]'
123
+ 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":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true},{"id":7,"name":"Travel
124
+ 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
125
+ notes_for_vendor","vendor_staff note_for_inventory_type_change"],"only_bookable_with_accommodation":false,"footer_itinerary_item":true,"created_at":null,"updated_at":null,"code":null,"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":"''---\n -
126
+ reservation_group_id\n - trip_name departure_time\n - pick_up_information\n -
127
+ drop_off_information\n - vendor_pnr\n - notes_for_vendor\n - vendor_staff\n -
128
+ note_for_inventory_type_change''\n","only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":null,"updated_at":null,"code":null,"needs_services":false,"can_have_quantity":true,"can_have_dates":false,"needs_passengers":false},{"id":9,"name":"Cruise","resource_class_name":"GenericResource","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":"seconds","maximum_passengers_online":null,"confirmation_request_fields":[],"only_bookable_with_accommodation":false,"footer_itinerary_item":false,"created_at":null,"updated_at":null,"code":null,"needs_services":true,"can_have_quantity":false,"can_have_dates":true,"needs_passengers":true}]'
121
129
  http_version:
122
- recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
123
- recorded_with: VCR 3.0.3
130
+ recorded_at: Wed, 21 Mar 2018 04:40:45 GMT
131
+ recorded_with: VCR 4.0.0
@@ -2,62 +2,43 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://www.google.com/
5
+ uri: https://httpstat.us/418
6
6
  body:
7
7
  encoding: UTF-8
8
- string: access_key=<QT_KEY>
8
+ string: ''
9
9
  headers:
10
10
  Content-Length:
11
11
  - '0'
12
+ X-API-KEY:
13
+ - <QT_KEY>
12
14
  response:
13
15
  status:
14
- code: 400
15
- message: Bad Request
16
+ code: 418
17
+ message: I'm a teapot
16
18
  headers:
17
- Content-Type:
18
- - text/html; charset=UTF-8
19
+ Cache-Control:
20
+ - private
19
21
  Content-Length:
20
- - '1555'
22
+ - '16'
23
+ Content-Type:
24
+ - text/plain; charset=utf-8
25
+ Server:
26
+ - Microsoft-IIS/10.0
27
+ X-Aspnetmvc-Version:
28
+ - '5.1'
29
+ Access-Control-Allow-Origin:
30
+ - "*"
31
+ X-Aspnet-Version:
32
+ - 4.0.30319
33
+ X-Powered-By:
34
+ - ASP.NET
35
+ Set-Cookie:
36
+ - ARRAffinity=7943fc4fbbc26574a46521f2ec212be4ee889bc2a88a9742ab65676f5bd7e9e6;Path=/;HttpOnly;Domain=httpstat.us
21
37
  Date:
22
- - Fri, 28 Oct 2016 05:28:05 GMT
38
+ - Wed, 21 Mar 2018 04:40:11 GMT
23
39
  body:
24
- encoding: ASCII-8BIT
25
- string: !binary |-
26
- PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ZW4+CiAgPG1ldGEgY2hhcnNl
27
- dD11dGYtOD4KICA8bWV0YSBuYW1lPXZpZXdwb3J0IGNvbnRlbnQ9ImluaXRp
28
- YWwtc2NhbGU9MSwgbWluaW11bS1zY2FsZT0xLCB3aWR0aD1kZXZpY2Utd2lk
29
- dGgiPgogIDx0aXRsZT5FcnJvciA0MDAgKEJhZCBSZXF1ZXN0KSEhMTwvdGl0
30
- bGU+CiAgPHN0eWxlPgogICAgKnttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCxj
31
- b2Rle2ZvbnQ6MTVweC8yMnB4IGFyaWFsLHNhbnMtc2VyaWZ9aHRtbHtiYWNr
32
- Z3JvdW5kOiNmZmY7Y29sb3I6IzIyMjtwYWRkaW5nOjE1cHh9Ym9keXttYXJn
33
- aW46NyUgYXV0byAwO21heC13aWR0aDozOTBweDttaW4taGVpZ2h0OjE4MHB4
34
- O3BhZGRpbmc6MzBweCAwIDE1cHh9KiA+IGJvZHl7YmFja2dyb3VuZDp1cmwo
35
- Ly93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvZXJyb3JzL3JvYm90LnBuZykgMTAw
36
- JSA1cHggbm8tcmVwZWF0O3BhZGRpbmctcmlnaHQ6MjA1cHh9cHttYXJnaW46
37
- MTFweCAwIDIycHg7b3ZlcmZsb3c6aGlkZGVufWluc3tjb2xvcjojNzc3O3Rl
38
- eHQtZGVjb3JhdGlvbjpub25lfWEgaW1ne2JvcmRlcjowfUBtZWRpYSBzY3Jl
39
- ZW4gYW5kIChtYXgtd2lkdGg6NzcycHgpe2JvZHl7YmFja2dyb3VuZDpub25l
40
- O21hcmdpbi10b3A6MDttYXgtd2lkdGg6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9
41
- fSNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5jb20vaW1hZ2Vz
42
- L2JyYW5kaW5nL2dvb2dsZWxvZ28vMXgvZ29vZ2xlbG9nb19jb2xvcl8xNTB4
43
- NTRkcC5wbmcpIG5vLXJlcGVhdDttYXJnaW4tbGVmdDotNXB4fUBtZWRpYSBv
44
- bmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOjE5MmRwaSl7I2xvZ297
45
- YmFja2dyb3VuZDp1cmwoLy93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvYnJhbmRp
46
- bmcvZ29vZ2xlbG9nby8yeC9nb29nbGVsb2dvX2NvbG9yXzE1MHg1NGRwLnBu
47
- Zykgbm8tcmVwZWF0IDAlIDAlLzEwMCUgMTAwJTstbW96LWJvcmRlci1pbWFn
48
- ZTp1cmwoLy93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvYnJhbmRpbmcvZ29vZ2xl
49
- bG9nby8yeC9nb29nbGVsb2dvX2NvbG9yXzE1MHg1NGRwLnBuZykgMH19QG1l
50
- ZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVs
51
- LXJhdGlvOjIpeyNsb2dve2JhY2tncm91bmQ6dXJsKC8vd3d3Lmdvb2dsZS5j
52
- b20vaW1hZ2VzL2JyYW5kaW5nL2dvb2dsZWxvZ28vMngvZ29vZ2xlbG9nb19j
53
- b2xvcl8xNTB4NTRkcC5wbmcpIG5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91
54
- bmQtc2l6ZToxMDAlIDEwMCV9fSNsb2dve2Rpc3BsYXk6aW5saW5lLWJsb2Nr
55
- O2hlaWdodDo1NHB4O3dpZHRoOjE1MHB4fQogIDwvc3R5bGU+CiAgPGEgaHJl
56
- Zj0vL3d3dy5nb29nbGUuY29tLz48c3BhbiBpZD1sb2dvIGFyaWEtbGFiZWw9
57
- R29vZ2xlPjwvc3Bhbj48L2E+CiAgPHA+PGI+NDAwLjwvYj4gPGlucz5UaGF0
58
- 4oCZcyBhbiBlcnJvci48L2lucz4KICA8cD5Zb3VyIGNsaWVudCBoYXMgaXNz
59
- dWVkIGEgbWFsZm9ybWVkIG9yIGlsbGVnYWwgcmVxdWVzdC4gIDxpbnM+VGhh
60
- dOKAmXMgYWxsIHdlIGtub3cuPC9pbnM+Cg==
40
+ encoding: UTF-8
41
+ string: 418 I'm a teapot
61
42
  http_version:
62
- recorded_at: Fri, 28 Oct 2016 05:28:05 GMT
63
- recorded_with: VCR 3.0.3
43
+ recorded_at: Wed, 21 Mar 2018 04:40:12 GMT
44
+ recorded_with: VCR 4.0.0
@@ -1,4 +1,4 @@
1
1
  require 'simplecov-rcov'
2
2
  require 'coveralls'
3
3
  require 'coverage/kit'
4
- Coverage::Kit.setup(minimum_coverage: 82.53)
4
+ Coverage::Kit.setup(minimum_coverage: 83.2)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quicktravel_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Noack
@@ -10,24 +10,38 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-10-31 00:00:00.000000000 Z
13
+ date: 2020-06-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
- - - "~>"
19
+ - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '0.14'
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
- - - "~>"
26
+ - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '0.14'
28
+ version: '0'
29
29
  - !ruby/object:Gem::Dependency
30
- name: json
30
+ name: activesupport
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 5.0.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 5.0.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: facets
31
45
  requirement: !ruby/object:Gem::Requirement
32
46
  requirements:
33
47
  - - ">="
@@ -41,67 +55,61 @@ dependencies:
41
55
  - !ruby/object:Gem::Version
42
56
  version: '0'
43
57
  - !ruby/object:Gem::Dependency
44
- name: activesupport
58
+ name: money
45
59
  requirement: !ruby/object:Gem::Requirement
46
60
  requirements:
47
61
  - - ">="
48
62
  - !ruby/object:Gem::Version
49
- version: 2.0.0
63
+ version: '6.0'
50
64
  type: :runtime
51
65
  prerelease: false
52
66
  version_requirements: !ruby/object:Gem::Requirement
53
67
  requirements:
54
68
  - - ">="
55
69
  - !ruby/object:Gem::Version
56
- version: 2.0.0
70
+ version: '6.0'
57
71
  - !ruby/object:Gem::Dependency
58
- name: facets
72
+ name: money_extensions
59
73
  requirement: !ruby/object:Gem::Requirement
60
74
  requirements:
61
75
  - - ">="
62
76
  - !ruby/object:Gem::Version
63
- version: '0'
77
+ version: '1.0'
64
78
  type: :runtime
65
79
  prerelease: false
66
80
  version_requirements: !ruby/object:Gem::Requirement
67
81
  requirements:
68
82
  - - ">="
69
83
  - !ruby/object:Gem::Version
70
- version: '0'
84
+ version: '1.0'
71
85
  - !ruby/object:Gem::Dependency
72
- name: money
86
+ name: will_paginate
73
87
  requirement: !ruby/object:Gem::Requirement
74
88
  requirements:
75
89
  - - ">="
76
90
  - !ruby/object:Gem::Version
77
- version: '3.0'
78
- - - "<"
79
- - !ruby/object:Gem::Version
80
- version: '6.0'
91
+ version: '0'
81
92
  type: :runtime
82
93
  prerelease: false
83
94
  version_requirements: !ruby/object:Gem::Requirement
84
95
  requirements:
85
96
  - - ">="
86
97
  - !ruby/object:Gem::Version
87
- version: '3.0'
88
- - - "<"
89
- - !ruby/object:Gem::Version
90
- version: '6.0'
98
+ version: '0'
91
99
  - !ruby/object:Gem::Dependency
92
100
  name: bundler
93
101
  requirement: !ruby/object:Gem::Requirement
94
102
  requirements:
95
103
  - - "~>"
96
104
  - !ruby/object:Gem::Version
97
- version: '1.7'
105
+ version: '2'
98
106
  type: :development
99
107
  prerelease: false
100
108
  version_requirements: !ruby/object:Gem::Requirement
101
109
  requirements:
102
110
  - - "~>"
103
111
  - !ruby/object:Gem::Version
104
- version: '1.7'
112
+ version: '2'
105
113
  - !ruby/object:Gem::Dependency
106
114
  name: rake
107
115
  requirement: !ruby/object:Gem::Requirement
@@ -274,8 +282,8 @@ files:
274
282
  - Rakefile
275
283
  - examples/example_config.rb
276
284
  - examples/login_example.rb
277
- - gemfiles/rails4.gemfile
278
285
  - gemfiles/rails5.gemfile
286
+ - gemfiles/rails6.gemfile
279
287
  - lib/extensions.rb
280
288
  - lib/quick_travel.rb
281
289
  - lib/quick_travel/accommodation.rb
@@ -305,9 +313,11 @@ files:
305
313
  - lib/quick_travel/init_from_hash.rb
306
314
  - lib/quick_travel/location.rb
307
315
  - lib/quick_travel/mock.rb
316
+ - lib/quick_travel/package.rb
308
317
  - lib/quick_travel/party.rb
309
318
  - lib/quick_travel/passenger.rb
310
319
  - lib/quick_travel/passenger_price_break.rb
320
+ - lib/quick_travel/passenger_split.rb
311
321
  - lib/quick_travel/passenger_type.rb
312
322
  - lib/quick_travel/payment.rb
313
323
  - lib/quick_travel/payment_type.rb
@@ -330,6 +340,7 @@ files:
330
340
  - lib/quick_travel/reservation.rb
331
341
  - lib/quick_travel/resource.rb
332
342
  - lib/quick_travel/resource_category.rb
343
+ - lib/quick_travel/resource_group.rb
333
344
  - lib/quick_travel/room_facility.rb
334
345
  - lib/quick_travel/route.rb
335
346
  - lib/quick_travel/route_stop.rb
@@ -346,9 +357,11 @@ files:
346
357
  - spec/adapter_spec.rb
347
358
  - spec/booking_spec.rb
348
359
  - spec/checkout_spec.rb
360
+ - spec/clients_spec.rb
349
361
  - spec/country_spec.rb
350
362
  - spec/credit_card_spec.rb
351
363
  - spec/discounts_spec.rb
364
+ - spec/package_spec.rb
352
365
  - spec/passenger_type_spec.rb
353
366
  - spec/payment_type_spec.rb
354
367
  - spec/price_changes/price_change_spec.rb
@@ -373,20 +386,33 @@ files:
373
386
  - spec/support/cassettes/booking_activate.yml
374
387
  - spec/support/cassettes/booking_cancel.yml
375
388
  - spec/support/cassettes/booking_create.yml
389
+ - spec/support/cassettes/booking_create_accommodation.yml
376
390
  - spec/support/cassettes/booking_documents.yml
377
391
  - spec/support/cassettes/booking_non_existant.yml
378
392
  - spec/support/cassettes/booking_price_changes.yml
379
393
  - spec/support/cassettes/booking_show.yml
380
394
  - spec/support/cassettes/booking_update.yml
395
+ - spec/support/cassettes/booking_with_comments.yml
381
396
  - spec/support/cassettes/booking_with_documents.yml
382
397
  - spec/support/cassettes/booking_with_nested_attributes.yml
383
398
  - spec/support/cassettes/booking_with_price_changes.yml
384
399
  - spec/support/cassettes/checkout_client_token.yml
400
+ - spec/support/cassettes/client_templates.yml
385
401
  - spec/support/cassettes/countries.yml
386
402
  - spec/support/cassettes/country_all.yml
387
403
  - spec/support/cassettes/create_reservation_fail.yml
388
404
  - spec/support/cassettes/create_reservation_with_booking.yml
389
405
  - spec/support/cassettes/locations.yml
406
+ - spec/support/cassettes/opal_modern_pay_failed_booking.yml
407
+ - spec/support/cassettes/opal_modern_pay_failed_create.yml
408
+ - spec/support/cassettes/opal_modern_pay_failed_update.yml
409
+ - spec/support/cassettes/opal_modern_pay_successful_booking.yml
410
+ - spec/support/cassettes/opal_modern_pay_successful_response.yml
411
+ - spec/support/cassettes/opal_modern_pay_successful_update_response.yml
412
+ - spec/support/cassettes/opal_pay.yml
413
+ - spec/support/cassettes/opal_pay_booking.yml
414
+ - spec/support/cassettes/package_show.yml
415
+ - spec/support/cassettes/package_show_product_type.yml
390
416
  - spec/support/cassettes/passenger_all.yml
391
417
  - spec/support/cassettes/payment_info.yml
392
418
  - spec/support/cassettes/price_quote.yml
@@ -400,6 +426,7 @@ files:
400
426
  - spec/support/cassettes/property.yml
401
427
  - spec/support/cassettes/property_types.yml
402
428
  - spec/support/cassettes/region_show.yml
429
+ - spec/support/cassettes/reservation_resource.yml
403
430
  - spec/support/cassettes/reservation_with_extra_picks.yml
404
431
  - spec/support/cassettes/resource_category_all.yml
405
432
  - spec/support/cassettes/resource_category_all_for_product_type_8.yml
@@ -430,8 +457,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
430
457
  - !ruby/object:Gem::Version
431
458
  version: '0'
432
459
  requirements: []
433
- rubyforge_project:
434
- rubygems_version: 2.5.2
460
+ rubygems_version: 3.1.2
435
461
  signing_key:
436
462
  specification_version: 4
437
463
  summary: Booking process using QuickTravel API
@@ -439,9 +465,11 @@ test_files:
439
465
  - spec/adapter_spec.rb
440
466
  - spec/booking_spec.rb
441
467
  - spec/checkout_spec.rb
468
+ - spec/clients_spec.rb
442
469
  - spec/country_spec.rb
443
470
  - spec/credit_card_spec.rb
444
471
  - spec/discounts_spec.rb
472
+ - spec/package_spec.rb
445
473
  - spec/passenger_type_spec.rb
446
474
  - spec/payment_type_spec.rb
447
475
  - spec/price_changes/price_change_spec.rb
@@ -466,20 +494,33 @@ test_files:
466
494
  - spec/support/cassettes/booking_activate.yml
467
495
  - spec/support/cassettes/booking_cancel.yml
468
496
  - spec/support/cassettes/booking_create.yml
497
+ - spec/support/cassettes/booking_create_accommodation.yml
469
498
  - spec/support/cassettes/booking_documents.yml
470
499
  - spec/support/cassettes/booking_non_existant.yml
471
500
  - spec/support/cassettes/booking_price_changes.yml
472
501
  - spec/support/cassettes/booking_show.yml
473
502
  - spec/support/cassettes/booking_update.yml
503
+ - spec/support/cassettes/booking_with_comments.yml
474
504
  - spec/support/cassettes/booking_with_documents.yml
475
505
  - spec/support/cassettes/booking_with_nested_attributes.yml
476
506
  - spec/support/cassettes/booking_with_price_changes.yml
477
507
  - spec/support/cassettes/checkout_client_token.yml
508
+ - spec/support/cassettes/client_templates.yml
478
509
  - spec/support/cassettes/countries.yml
479
510
  - spec/support/cassettes/country_all.yml
480
511
  - spec/support/cassettes/create_reservation_fail.yml
481
512
  - spec/support/cassettes/create_reservation_with_booking.yml
482
513
  - spec/support/cassettes/locations.yml
514
+ - spec/support/cassettes/opal_modern_pay_failed_booking.yml
515
+ - spec/support/cassettes/opal_modern_pay_failed_create.yml
516
+ - spec/support/cassettes/opal_modern_pay_failed_update.yml
517
+ - spec/support/cassettes/opal_modern_pay_successful_booking.yml
518
+ - spec/support/cassettes/opal_modern_pay_successful_response.yml
519
+ - spec/support/cassettes/opal_modern_pay_successful_update_response.yml
520
+ - spec/support/cassettes/opal_pay.yml
521
+ - spec/support/cassettes/opal_pay_booking.yml
522
+ - spec/support/cassettes/package_show.yml
523
+ - spec/support/cassettes/package_show_product_type.yml
483
524
  - spec/support/cassettes/passenger_all.yml
484
525
  - spec/support/cassettes/payment_info.yml
485
526
  - spec/support/cassettes/price_quote.yml
@@ -493,6 +534,7 @@ test_files:
493
534
  - spec/support/cassettes/property.yml
494
535
  - spec/support/cassettes/property_types.yml
495
536
  - spec/support/cassettes/region_show.yml
537
+ - spec/support/cassettes/reservation_resource.yml
496
538
  - spec/support/cassettes/reservation_with_extra_picks.yml
497
539
  - spec/support/cassettes/resource_category_all.yml
498
540
  - spec/support/cassettes/resource_category_all_for_product_type_8.yml