quicktravel_client 2.3.1 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -14
  3. data/CHANGELOG.md +6 -0
  4. data/README.md +10 -0
  5. data/gemfiles/rails5.gemfile +8 -0
  6. data/lib/quick_travel/adapter.rb +28 -0
  7. data/lib/quick_travel/adapter_error.rb +11 -3
  8. data/lib/quick_travel/booking.rb +5 -38
  9. data/lib/quick_travel/payment.rb +0 -4
  10. data/lib/quick_travel/products/scheduled_trip.rb +3 -6
  11. data/lib/quick_travel/property.rb +1 -0
  12. data/lib/quick_travel/reservation.rb +5 -27
  13. data/lib/quick_travel/version.rb +1 -1
  14. data/spec/adapter_spec.rb +17 -0
  15. data/spec/booking_spec.rb +11 -0
  16. data/spec/product_type_spec.rb +1 -1
  17. data/spec/reservation_spec.rb +4 -1
  18. data/spec/support/cassettes/basic_product_scheduled_trips.yml +17 -17
  19. data/spec/support/cassettes/basic_product_scheduled_trips_multi_sector.yml +27 -35
  20. data/spec/support/cassettes/basic_product_scheduled_trips_unbookable.yml +17 -17
  21. data/spec/support/cassettes/booking_create.yml +26 -19
  22. data/spec/support/cassettes/booking_documents.yml +23 -16
  23. data/spec/support/cassettes/booking_price_changes.yml +17 -17
  24. data/spec/support/cassettes/booking_show.yml +26 -19
  25. data/spec/support/cassettes/booking_update.yml +51 -36
  26. data/spec/support/cassettes/booking_with_documents.yml +58 -44
  27. data/spec/support/cassettes/booking_with_nested_attributes.yml +94 -73
  28. data/spec/support/cassettes/booking_with_price_changes.yml +33 -33
  29. data/spec/support/cassettes/countries.yml +17 -17
  30. data/spec/support/cassettes/country_all.yml +22 -15
  31. data/spec/support/cassettes/create_reservation_fail.yml +18 -10
  32. data/spec/support/cassettes/create_reservation_with_booking.yml +27 -20
  33. data/spec/support/cassettes/passenger_all.yml +24 -17
  34. data/spec/support/cassettes/payment_info.yml +18 -18
  35. data/spec/support/cassettes/price_quote.yml +43 -41
  36. data/spec/support/cassettes/product_date_range_bookability.yml +26 -16
  37. data/spec/support/cassettes/product_show.yml +22 -15
  38. data/spec/support/cassettes/product_show_as_agent.yml +18 -8
  39. data/spec/support/cassettes/product_type_all.yml +40 -30
  40. data/spec/support/cassettes/product_type_resource_categories.yml +18 -18
  41. data/spec/support/cassettes/product_type_resource_categories_tickets.yml +18 -18
  42. data/spec/support/cassettes/product_type_routes.yml +23 -23
  43. data/spec/support/cassettes/property.yml +21 -21
  44. data/spec/support/cassettes/region_show.yml +22 -15
  45. data/spec/support/cassettes/reservation_with_extra_picks.yml +87 -64
  46. data/spec/support/cassettes/resource_category_all.yml +18 -18
  47. data/spec/support/cassettes/resource_category_all_for_product_type_8.yml +18 -18
  48. data/spec/support/cassettes/resource_fare_bases.yml +29 -20
  49. data/spec/support/cassettes/resource_show.yml +26 -18
  50. data/spec/support/cassettes/resource_with_price.yml +25 -22
  51. data/spec/support/cassettes/tenant_switcher.yml +51 -37
  52. data/spec/support/cassettes/wrong_url.yml +63 -0
  53. data/spec/support/coverage_loader.rb +8 -3
  54. metadata +5 -7
  55. data/gemfiles/rails2.gemfile +0 -11
  56. data/spec/support/cassettes/resource_product_type.yml +0 -63
  57. data/spec/support/cassettes/route_all.yml +0 -65
@@ -19,48 +19,57 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json; charset=utf-8
21
21
  X-Ua-Compatible:
22
- - IE=Edge
22
+ - IE=Edge,chrome=1
23
+ Etag:
24
+ - '"f3b17331349cbba7025e60e3ef3c20c4"'
23
25
  Cache-Control:
24
- - no-store, must-revalidate, private, max-age=0
26
+ - max-age=0, private, must-revalidate
25
27
  X-Request-Id:
26
- - a888f1493c39836d9a76249f6e7d03be
28
+ - 25f24512dc4057dd7053a930d1c81f6e
27
29
  X-Runtime:
28
- - '0.063580'
30
+ - '0.094607'
29
31
  Vary:
30
32
  - Origin
33
+ Date:
34
+ - Fri, 01 Jan 2016 02:32:40 GMT
31
35
  X-Rack-Cache:
32
36
  - miss
33
- X-Miniprofiler-Ids:
34
- - '["cb1fhhmviia4g48z9ueg","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Download-Options:
40
+ - noopen
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ X-Permitted-Cross-Domain-Policies:
44
+ - none
45
+ X-Xss-Protection:
46
+ - 1; mode=block
35
47
  Server:
36
- - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
- Date:
38
- - Mon, 26 Oct 2015 00:18:52 GMT
48
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
39
49
  Content-Length:
40
- - '3494'
50
+ - '3780'
41
51
  Connection:
42
52
  - Keep-Alive
43
53
  Set-Cookie:
44
- - __profilin=p%3Dt; path=/
45
- - __profilin=p%3Dt; path=/
46
- - __profilin=p%3Dt; path=/
47
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWJjYWMzN2Y5MGI2ZjdhYWY1ODc3MTVlODllNzg5N2M3BjsAVEkiCXVzZXIGOwBGaQY%3D--f19bbf8bfd4d0418d90d6cf724598c0b2eaaa795;
54
+ - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWE3ZTg0Y2I0ODIyOTM0MGU0NThhOWRjNDkyZTFmNjAxBjsAVEkiCXVzZXIGOwBGaQY%3D--06e25fc453458d190110817ac1968586508c475c;
48
55
  path=/; HttpOnly
49
56
  body:
50
57
  encoding: UTF-8
51
58
  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
52
59
  Travel Insurance Policy E covers the clients up to $1000 for defined unforeseen
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
60
+ 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,"ticket_template_id":null,"generate_tickets_by_quantity":true,"to_s":"QBE
61
+ Travel Insurance - Policy E","client_type_ids":[],"category":null,"location":"","current_description":"\u003Cp\u003E\u003Cspan
54
62
  class=\"caps\"\u003EQBE\u003C/span\u003E Travel Insurance Policy E known as
55
63
  the \u0026#8216;Australian Cancellation and Additional Expenses\u0026#8217;
56
64
  plan has been included into this booking. This covers you for defined unforeseen
57
65
  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
66
+ Statement for further information.\u003C/p\u003E","graphics":[],"graphic_names":[],"ticket_template":null,"expiry_days":null},{"id":4,"name":"Travel
59
67
  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
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
68
+ 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,"ticket_template_id":null,"generate_tickets_by_quantity":true,"to_s":"Travel
69
+ Insurance - Declined","client_type_ids":[],"category":null,"location":"","current_description":"\u003Cp\u003EYou
61
70
  have declined Travel Insurance for your booking. If you wish to add Travel
62
71
  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":[]}]'
72
+ 01 prior to commencing your travels.\u003C/p\u003E","graphics":[],"graphic_names":[],"ticket_template":null,"expiry_days":null}]'
64
73
  http_version:
65
- recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
66
- recorded_with: VCR 2.9.3
74
+ recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
75
+ recorded_with: VCR 3.0.3
@@ -19,38 +19,46 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json; charset=utf-8
21
21
  X-Ua-Compatible:
22
- - IE=Edge
22
+ - IE=Edge,chrome=1
23
+ Etag:
24
+ - '"d1e1e0f8d3920bd1435fd4b44b17f60f"'
23
25
  Cache-Control:
24
- - no-store, must-revalidate, private, max-age=0
26
+ - max-age=0, private, must-revalidate
25
27
  X-Request-Id:
26
- - d51ad9bad61e17a0c9464722edf61921
28
+ - 84117d9e1f5bd338cbb38af3566053a1
27
29
  X-Runtime:
28
- - '0.062933'
30
+ - '0.093168'
29
31
  Vary:
30
32
  - Origin
33
+ Date:
34
+ - Fri, 01 Jan 2016 02:32:40 GMT
31
35
  X-Rack-Cache:
32
36
  - miss
33
- X-Miniprofiler-Ids:
34
- - '["2a6vuz8r4il0kc57pwgg","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Download-Options:
40
+ - noopen
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ X-Permitted-Cross-Domain-Policies:
44
+ - none
45
+ X-Xss-Protection:
46
+ - 1; mode=block
35
47
  Server:
36
- - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
- Date:
38
- - Mon, 26 Oct 2015 00:18:51 GMT
48
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
39
49
  Content-Length:
40
- - '1413'
50
+ - '1556'
41
51
  Connection:
42
52
  - Keep-Alive
43
53
  Set-Cookie:
44
- - __profilin=p%3Dt; path=/
45
- - __profilin=p%3Dt; path=/
46
- - __profilin=p%3Dt; path=/
47
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTk1YWVkNDUzOGM0ODFlZjg2NjI5ZDdkZjNlMWI1NmQ4BjsAVEkiCXVzZXIGOwBGaQY%3D--03521ff3da28a669ffd25a78c1a73fd4d879c15a;
54
+ - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWFmNTllNzdlNTRjMGU2YzkxZDkwNThiY2JhMTcxODkzBjsAVEkiCXVzZXIGOwBGaQY%3D--3234d338cf6ce10667c99c802eb01a98660c84e6;
48
55
  path=/; HttpOnly
49
56
  body:
50
57
  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
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
52
60
  CBD","current_description":"\u003Cp\u003EA basic studio room\u003C/p\u003E","graphics":[],"graphic_names":[],"property_name":"Hilton
53
- Hotel"}'
61
+ Hotel","ticket_template":null,"expiry_days":null}'
54
62
  http_version:
55
- recorded_at: Mon, 26 Oct 2015 00:18:51 GMT
56
- recorded_with: VCR 2.9.3
63
+ recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
64
+ recorded_with: VCR 3.0.3
@@ -14,16 +14,6 @@ http_interactions:
14
14
  code: 200
15
15
  message: 'OK '
16
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
17
  P3p:
28
18
  - CP="IDC DSP CAO COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"
29
19
  Content-Type:
@@ -31,33 +21,46 @@ http_interactions:
31
21
  X-Ua-Compatible:
32
22
  - IE=Edge,chrome=1
33
23
  Etag:
34
- - '"bb1d26de241b81d26f40904a269d8e56"'
24
+ - '"4021e9c5ee2443266c0cff2a606de158"'
35
25
  Cache-Control:
36
26
  - max-age=0, private, must-revalidate
37
27
  X-Request-Id:
38
- - 9591c5d94258db0d9fb4859e0c22fd36
28
+ - 4d20d16ecfa3816287c45e7b885cc4d6
39
29
  X-Runtime:
40
- - '0.142174'
30
+ - '0.106900'
41
31
  Vary:
42
32
  - Origin
43
33
  Date:
44
- - Thu, 28 Feb 2013 13:30:18 GMT
34
+ - Fri, 01 Jan 2016 02:32:40 GMT
45
35
  X-Rack-Cache:
46
36
  - miss
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Download-Options:
40
+ - noopen
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ X-Permitted-Cross-Domain-Policies:
44
+ - none
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
47
  Server:
48
- - WEBrick/1.3.1 (Ruby/2.2.4/2015-12-16)
48
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
49
49
  Content-Length:
50
- - '3815'
50
+ - '4895'
51
51
  Connection:
52
52
  - Keep-Alive
53
53
  Set-Cookie:
54
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTQxNWVlY2QxMGJhOTgwM2Y2MTEwYzY5M2RkOTUzMDFiBjsAVEkiCXVzZXIGOwBGaQY%3D--ecffeb7fcbe10f9d3422590fb09ac6e40414e338;
54
+ - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWMxYTgzNmQ2MTdiMzRhYzRiMzBlMGJkMzhiMzhhNDJmBjsAVEkiCXVzZXIGOwBGaQY%3D--1cc254b42d691db0988afc5e493189f2ddc0d030;
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":"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":[]}]'
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":[]}]'
61
64
  http_version:
62
- recorded_at: Thu, 07 Apr 2016 06:51:59 GMT
63
- recorded_with: VCR 3.0.1
65
+ recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
66
+ recorded_with: VCR 3.0.3
@@ -19,40 +19,47 @@ http_interactions:
19
19
  Content-Type:
20
20
  - application/json; charset=utf-8
21
21
  X-Ua-Compatible:
22
- - IE=Edge
22
+ - IE=Edge,chrome=1
23
+ Etag:
24
+ - '"3ff67a732ba04673f7461eccd9b919ed"'
23
25
  Cache-Control:
24
- - no-store, must-revalidate, private, max-age=0
26
+ - max-age=0, private, must-revalidate
25
27
  X-Request-Id:
26
- - 67e534623458a7d42a917b0222e97400
28
+ - 14eda6d265f2e49defc392ff37f5d201
27
29
  X-Runtime:
28
- - '0.086951'
30
+ - '0.086428'
29
31
  Vary:
30
32
  - Origin
33
+ Date:
34
+ - Fri, 01 Jan 2016 02:32:40 GMT
31
35
  X-Rack-Cache:
32
36
  - miss
33
- X-Miniprofiler-Ids:
34
- - '["aqfwnpkw3y59qtm211zk","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
37
+ X-Content-Type-Options:
38
+ - nosniff
39
+ X-Download-Options:
40
+ - noopen
41
+ X-Frame-Options:
42
+ - sameorigin
43
+ X-Permitted-Cross-Domain-Policies:
44
+ - none
45
+ X-Xss-Protection:
46
+ - 1; mode=block
35
47
  Server:
36
- - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
37
- Date:
38
- - Mon, 26 Oct 2015 00:18:52 GMT
48
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
39
49
  Content-Length:
40
- - '4799'
50
+ - '5576'
41
51
  Connection:
42
52
  - Keep-Alive
43
53
  Set-Cookie:
44
- - __profilin=p%3Dt; path=/
45
- - __profilin=p%3Dt; path=/
46
- - __profilin=p%3Dt; path=/
47
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJWNkZWM2M2M2MTdiY2M3NTU4ZDZiNmU4OWM0YTY0MzQyBjsAVEkiCXVzZXIGOwBGaQY%3D--07e407f62950a5418bfbd060d44bcf63b4ba76c7;
54
+ - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTI3MmIxNmU0YWE3NTZmYzUzOTQ3MTBmMjNlODM0OTVjBjsAVEkiCXVzZXIGOwBGaQY%3D--d3c6d8263debc308d98297e7325bc71919307a83;
48
55
  path=/; HttpOnly
49
56
  body:
50
57
  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}]'
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}]'
54
61
  http_version:
55
- recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
62
+ recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
56
63
  - request:
57
64
  method: get
58
65
  uri: http://test.qt.other.com.au:8080/api/product_types.json
@@ -72,38 +79,45 @@ http_interactions:
72
79
  Content-Type:
73
80
  - application/json; charset=utf-8
74
81
  X-Ua-Compatible:
75
- - IE=Edge
82
+ - IE=Edge,chrome=1
83
+ Etag:
84
+ - '"3ff67a732ba04673f7461eccd9b919ed"'
76
85
  Cache-Control:
77
- - no-store, must-revalidate, private, max-age=0
86
+ - max-age=0, private, must-revalidate
78
87
  X-Request-Id:
79
- - eb8495af40f2abe809d68616a5746b49
88
+ - c65d177ee2b1977083d9043c5909f100
80
89
  X-Runtime:
81
- - '0.079787'
90
+ - '0.075303'
82
91
  Vary:
83
92
  - Origin
93
+ Date:
94
+ - Fri, 01 Jan 2016 02:32:41 GMT
84
95
  X-Rack-Cache:
85
96
  - miss
86
- X-Miniprofiler-Ids:
87
- - '["8glh8apmwrgyt6d05c82","3n393d46407xjckipoz4","sbzq3sn22o19v6amh4lx","hnsva789t8cmifp64wx3","wmmnukmwie7vr7vj8xqf","2brmax1rs5fwk4fd7n5","dvsmvrl183r0tifnlw46","5o49qsg88hbcsljo43fu","w0wrmi9s9rgua6owkm3z","lxziuvwk5cnyi9wz6zbf"]'
97
+ X-Content-Type-Options:
98
+ - nosniff
99
+ X-Download-Options:
100
+ - noopen
101
+ X-Frame-Options:
102
+ - sameorigin
103
+ X-Permitted-Cross-Domain-Policies:
104
+ - none
105
+ X-Xss-Protection:
106
+ - 1; mode=block
88
107
  Server:
89
- - WEBrick/1.3.1 (Ruby/2.2.3/2015-08-18)
90
- Date:
91
- - Mon, 26 Oct 2015 00:18:52 GMT
108
+ - WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
92
109
  Content-Length:
93
- - '4799'
110
+ - '5576'
94
111
  Connection:
95
112
  - Keep-Alive
96
113
  Set-Cookie:
97
- - __profilin=p%3Dt; path=/
98
- - __profilin=p%3Dt; path=/
99
- - __profilin=p%3Dt; path=/
100
- - _session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTFlY2Q0YzZhMDJlMTkxY2Y5ODM2MGZhYjE0Nzk4NDA3BjsAVEkiCXVzZXIGOwBGaQY%3D--b960d2b4ab390e1ef5e60d4a9c730eb08a7d512d;
114
+ - _quick_travel_session=BAh7B0kiD3Nlc3Npb25faWQGOgZFVEkiJTQ2ZDFmYjJhNmY2NjJhMzdkMWM1ZGYwMDg4NDBkOThkBjsAVEkiCXVzZXIGOwBGaQY%3D--5c7357e5c89d006af101ad940fea5616ac6bdad3;
101
115
  path=/; HttpOnly
102
116
  body:
103
117
  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}]'
118
+ 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}]'
107
121
  http_version:
108
- recorded_at: Mon, 26 Oct 2015 00:18:52 GMT
109
- recorded_with: VCR 2.9.3
122
+ recorded_at: Fri, 28 Oct 2016 05:28:17 GMT
123
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,63 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.google.com/
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: 400
15
+ message: Bad Request
16
+ headers:
17
+ Content-Type:
18
+ - text/html; charset=UTF-8
19
+ Content-Length:
20
+ - '1555'
21
+ Date:
22
+ - Fri, 28 Oct 2016 05:28:05 GMT
23
+ 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==
61
+ http_version:
62
+ recorded_at: Fri, 28 Oct 2016 05:28:05 GMT
63
+ recorded_with: VCR 3.0.3
@@ -1,4 +1,5 @@
1
- MINIMUM_COVERAGE = 76
1
+ MINIMUM_COVERAGE = 77.8
2
+ MAXIMUM_COVERAGE = MINIMUM_COVERAGE + 0.5
2
3
 
3
4
  if ENV['COVERAGE'] != 'off'
4
5
  require 'simplecov'
@@ -18,8 +19,12 @@ if ENV['COVERAGE'] != 'off'
18
19
  SimpleCov.at_exit do
19
20
  SimpleCov.result.format!
20
21
  percent = SimpleCov.result.covered_percent
21
- unless percent >= MINIMUM_COVERAGE
22
- puts "Coverage must be above #{MINIMUM_COVERAGE}%. It is #{'%.2f' % percent}%"
22
+ puts "Coverage is #{'%.2f' % percent}%"
23
+ if percent < MINIMUM_COVERAGE
24
+ puts "Coverage must be above #{MINIMUM_COVERAGE}%"
25
+ Kernel.exit(1)
26
+ elsif percent > MAXIMUM_COVERAGE
27
+ puts "Coverage is above #{MAXIMUM_COVERAGE}%. Time to bump minimum coverage!"
23
28
  Kernel.exit(1)
24
29
  end
25
30
  end
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: 2.3.1
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Noack
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-08-30 00:00:00.000000000 Z
13
+ date: 2016-11-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
@@ -288,8 +288,8 @@ files:
288
288
  - Rakefile
289
289
  - examples/example_config.rb
290
290
  - examples/login_example.rb
291
- - gemfiles/rails2.gemfile
292
291
  - gemfiles/rails4.gemfile
292
+ - gemfiles/rails5.gemfile
293
293
  - lib/extensions.rb
294
294
  - lib/quick_travel.rb
295
295
  - lib/quick_travel/accommodation.rb
@@ -405,11 +405,10 @@ files:
405
405
  - spec/support/cassettes/resource_category_all.yml
406
406
  - spec/support/cassettes/resource_category_all_for_product_type_8.yml
407
407
  - spec/support/cassettes/resource_fare_bases.yml
408
- - spec/support/cassettes/resource_product_type.yml
409
408
  - spec/support/cassettes/resource_show.yml
410
409
  - spec/support/cassettes/resource_with_price.yml
411
- - spec/support/cassettes/route_all.yml
412
410
  - spec/support/cassettes/tenant_switcher.yml
411
+ - spec/support/cassettes/wrong_url.yml
413
412
  - spec/support/coverage_loader.rb
414
413
  - spec/support/vcr_loader.rb
415
414
  - spec/tenant_spec.rb
@@ -487,11 +486,10 @@ test_files:
487
486
  - spec/support/cassettes/resource_category_all.yml
488
487
  - spec/support/cassettes/resource_category_all_for_product_type_8.yml
489
488
  - spec/support/cassettes/resource_fare_bases.yml
490
- - spec/support/cassettes/resource_product_type.yml
491
489
  - spec/support/cassettes/resource_show.yml
492
490
  - spec/support/cassettes/resource_with_price.yml
493
- - spec/support/cassettes/route_all.yml
494
491
  - spec/support/cassettes/tenant_switcher.yml
492
+ - spec/support/cassettes/wrong_url.yml
495
493
  - spec/support/coverage_loader.rb
496
494
  - spec/support/vcr_loader.rb
497
495
  - spec/tenant_spec.rb