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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -14
- data/CHANGELOG.md +6 -0
- data/README.md +10 -0
- data/gemfiles/rails5.gemfile +8 -0
- data/lib/quick_travel/adapter.rb +28 -0
- data/lib/quick_travel/adapter_error.rb +11 -3
- data/lib/quick_travel/booking.rb +5 -38
- data/lib/quick_travel/payment.rb +0 -4
- data/lib/quick_travel/products/scheduled_trip.rb +3 -6
- data/lib/quick_travel/property.rb +1 -0
- data/lib/quick_travel/reservation.rb +5 -27
- data/lib/quick_travel/version.rb +1 -1
- data/spec/adapter_spec.rb +17 -0
- data/spec/booking_spec.rb +11 -0
- data/spec/product_type_spec.rb +1 -1
- data/spec/reservation_spec.rb +4 -1
- data/spec/support/cassettes/basic_product_scheduled_trips.yml +17 -17
- data/spec/support/cassettes/basic_product_scheduled_trips_multi_sector.yml +27 -35
- data/spec/support/cassettes/basic_product_scheduled_trips_unbookable.yml +17 -17
- data/spec/support/cassettes/booking_create.yml +26 -19
- data/spec/support/cassettes/booking_documents.yml +23 -16
- data/spec/support/cassettes/booking_price_changes.yml +17 -17
- data/spec/support/cassettes/booking_show.yml +26 -19
- data/spec/support/cassettes/booking_update.yml +51 -36
- data/spec/support/cassettes/booking_with_documents.yml +58 -44
- data/spec/support/cassettes/booking_with_nested_attributes.yml +94 -73
- data/spec/support/cassettes/booking_with_price_changes.yml +33 -33
- data/spec/support/cassettes/countries.yml +17 -17
- data/spec/support/cassettes/country_all.yml +22 -15
- data/spec/support/cassettes/create_reservation_fail.yml +18 -10
- data/spec/support/cassettes/create_reservation_with_booking.yml +27 -20
- data/spec/support/cassettes/passenger_all.yml +24 -17
- data/spec/support/cassettes/payment_info.yml +18 -18
- data/spec/support/cassettes/price_quote.yml +43 -41
- data/spec/support/cassettes/product_date_range_bookability.yml +26 -16
- data/spec/support/cassettes/product_show.yml +22 -15
- data/spec/support/cassettes/product_show_as_agent.yml +18 -8
- data/spec/support/cassettes/product_type_all.yml +40 -30
- data/spec/support/cassettes/product_type_resource_categories.yml +18 -18
- data/spec/support/cassettes/product_type_resource_categories_tickets.yml +18 -18
- data/spec/support/cassettes/product_type_routes.yml +23 -23
- data/spec/support/cassettes/property.yml +21 -21
- data/spec/support/cassettes/region_show.yml +22 -15
- data/spec/support/cassettes/reservation_with_extra_picks.yml +87 -64
- data/spec/support/cassettes/resource_category_all.yml +18 -18
- data/spec/support/cassettes/resource_category_all_for_product_type_8.yml +18 -18
- data/spec/support/cassettes/resource_fare_bases.yml +29 -20
- data/spec/support/cassettes/resource_show.yml +26 -18
- data/spec/support/cassettes/resource_with_price.yml +25 -22
- data/spec/support/cassettes/tenant_switcher.yml +51 -37
- data/spec/support/cassettes/wrong_url.yml +63 -0
- data/spec/support/coverage_loader.rb +8 -3
- metadata +5 -7
- data/gemfiles/rails2.gemfile +0 -11
- data/spec/support/cassettes/resource_product_type.yml +0 -63
- 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
|
-
-
|
26
|
+
- max-age=0, private, must-revalidate
|
25
27
|
X-Request-Id:
|
26
|
-
-
|
28
|
+
- 25f24512dc4057dd7053a930d1c81f6e
|
27
29
|
X-Runtime:
|
28
|
-
- '0.
|
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-
|
34
|
-
-
|
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.
|
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
|
-
- '
|
50
|
+
- '3780'
|
41
51
|
Connection:
|
42
52
|
- Keep-Alive
|
43
53
|
Set-Cookie:
|
44
|
-
-
|
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,"
|
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,"
|
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:
|
66
|
-
recorded_with: VCR
|
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
|
-
-
|
26
|
+
- max-age=0, private, must-revalidate
|
25
27
|
X-Request-Id:
|
26
|
-
-
|
28
|
+
- 84117d9e1f5bd338cbb38af3566053a1
|
27
29
|
X-Runtime:
|
28
|
-
- '0.
|
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-
|
34
|
-
-
|
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.
|
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
|
-
- '
|
50
|
+
- '1556'
|
41
51
|
Connection:
|
42
52
|
- Keep-Alive
|
43
53
|
Set-Cookie:
|
44
|
-
-
|
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,"
|
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:
|
56
|
-
recorded_with: VCR
|
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
|
-
- '"
|
24
|
+
- '"4021e9c5ee2443266c0cff2a606de158"'
|
35
25
|
Cache-Control:
|
36
26
|
- max-age=0, private, must-revalidate
|
37
27
|
X-Request-Id:
|
38
|
-
-
|
28
|
+
- 4d20d16ecfa3816287c45e7b885cc4d6
|
39
29
|
X-Runtime:
|
40
|
-
- '0.
|
30
|
+
- '0.106900'
|
41
31
|
Vary:
|
42
32
|
- Origin
|
43
33
|
Date:
|
44
|
-
-
|
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.
|
48
|
+
- WEBrick/1.3.1 (Ruby/2.2.5/2016-04-26)
|
49
49
|
Content-Length:
|
50
|
-
- '
|
50
|
+
- '4895'
|
51
51
|
Connection:
|
52
52
|
- Keep-Alive
|
53
53
|
Set-Cookie:
|
54
|
-
-
|
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":"
|
59
|
-
|
60
|
-
|
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:
|
63
|
-
recorded_with: VCR 3.0.
|
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
|
-
-
|
26
|
+
- max-age=0, private, must-revalidate
|
25
27
|
X-Request-Id:
|
26
|
-
-
|
28
|
+
- 14eda6d265f2e49defc392ff37f5d201
|
27
29
|
X-Runtime:
|
28
|
-
- '0.
|
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-
|
34
|
-
-
|
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.
|
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
|
-
- '
|
50
|
+
- '5576'
|
41
51
|
Connection:
|
42
52
|
- Keep-Alive
|
43
53
|
Set-Cookie:
|
44
|
-
-
|
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":"
|
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:
|
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
|
-
-
|
86
|
+
- max-age=0, private, must-revalidate
|
78
87
|
X-Request-Id:
|
79
|
-
-
|
88
|
+
- c65d177ee2b1977083d9043c5909f100
|
80
89
|
X-Runtime:
|
81
|
-
- '0.
|
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-
|
87
|
-
-
|
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.
|
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
|
-
- '
|
110
|
+
- '5576'
|
94
111
|
Connection:
|
95
112
|
- Keep-Alive
|
96
113
|
Set-Cookie:
|
97
|
-
-
|
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":"
|
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:
|
109
|
-
recorded_with: VCR
|
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 =
|
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
|
-
|
22
|
-
|
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.
|
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-
|
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
|