amadeus 4.0.0 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6de12964b5fc9ba2acc621f7c6cba612176f5a510d762c176a20bbaff97b696c
4
- data.tar.gz: 7feadab2cb09cfcfb400a68d5b0e3574d7e26704cbf3b110675578116eb5bee1
3
+ metadata.gz: daa2f88d0dd02caa16558d86e65df76459220e0e9cdc9f12c4f3345e29bb4be2
4
+ data.tar.gz: 6a8c25052107c18810dd9b7d0a22bc2fc489828e88b24aab0f842937794dd43b
5
5
  SHA512:
6
- metadata.gz: eda4f4a0e74f46ab1ff6a7fd50943c98f25f3ab7cb09bfb2f9b9545fd36f906c658830ef38a1a3c8ce9129900226a9e303692156f3e12020effe5cc8499b8184
7
- data.tar.gz: 335ede21e566eaa2d136c91f5a0408c9d22dbb53a8af7df05312645e0d3da3f4fa039ba65ec38b01e30d445c7861c8280dd438713476447de12c7abe8bcb27a8
6
+ metadata.gz: ce3a0e248e96a067e56172a0fda8a6b614c3dde2e61905130e5ccd86658e96f1e28786b686171d5447bcc1e46e137fb87e6c93c11ec74c132f31233de5471def
7
+ data.tar.gz: 72dd837abaee061718587382bd0a81cdf67fd1f6545be39c45d76ed8803f0cffa55bfcba93fe4f4462ad9872d21b1f9d2c1609eeca3d7f3e6529424e0b16c73d
@@ -1,4 +1,11 @@
1
1
  # Changelog
2
+ ## 5.0.0 - 2020-05-14
3
+ Release of the Flight Offers Search API.
4
+
5
+ Add support for the Flight Choice Prediction v2.
6
+
7
+ Decommission of the Flight Low-fare Search and Flight Choice Prediction v1.
8
+
2
9
  ## 4.0.0 - 2020-02-12
3
10
  Release of the [Hotel Booking API](https://developers.amadeus.com/self-service/category/hotel/api-doc/hotel-booking)
4
11
 
data/README.md CHANGED
@@ -180,12 +180,15 @@ amadeus.shopping.flight_destinations.get(origin: 'MAD')
180
180
  # Flight Cheapest Date Search
181
181
  amadeus.shopping.flight_dates.get(origin: 'MAD', destination: 'MUC')
182
182
 
183
- # Flight Low-fare Search
184
- amadeus.shopping.flight_offers.get(origin: 'NYC', destination: 'MAD', departureDate: '2020-08-01')
183
+ # Flight Offers Search
184
+ amadeus.shopping.flight_offers_search.get(originLocationCode: 'NYC', destinationLocationCode: 'MAD', departureDate: '2020-10-01', adults: 1)
185
185
 
186
- # Flight Choice Prediction / Be careful, this example combines 2 API calls: 1. Flight Low-fare Search then Flight Choice Prediction
187
- amadeus.shopping.flight_offers.prediction.post(amadeus.shopping.flight_offers.get(origin: 'NYC', destination: 'MAD', departureDate: '2020-11-01').body)
186
+ # Flight Choice Prediction / Be careful, this example combines 2 API calls: 1. Flight Offers Search then Flight Choice Prediction
187
+ flight_offers = amadeus.shopping.flight_offers_search.get(originLocationCode: 'NYC', destinationLocationCode: 'MAD', departureDate: '2020-10-01', adults: 1, max: 1).body
188
+ amadeus.shopping.flight_offers_search.prediction.post(flight_offers)
188
189
 
190
+ # Flight Delay Prediction
191
+ amadeus.travel.predictions.flight_delay.get(originLocationCod: 'NCE', destinationLocationCod: 'IST', departureDat: '2020-08-01', departureTim: '18:20:00', arrivalDat: '2020-08-01', arrivalTim: '22:15:00', aircraftCod: '321', carrierCod: 'TK', flightNumber: '1816', duration: 'PT31H10M')
189
192
  # Flight Check-in Links
190
193
  amadeus.reference_data.urls.checkin_links.get(airlineCode: 'BA')
191
194
 
@@ -238,6 +241,12 @@ amadeus.e_reputation.hotel_sentiments.get(hotelIds: 'SJNYCAJA,TELONMFS')
238
241
  amadeus.reference_data.locations.points_of_interest.get(latitude: 41.397158, longitude: 2.160873)
239
242
  # What are the popular places in Barcelona? (based on a square)
240
243
  amadeus.reference_data.locations.points_of_interest.by_square.get(north: 41.397158, west: 2.160873, south: 41.394582, east: 2.177181)
244
+
245
+ # Airport On-Time Performance
246
+ amadeus.airport.predictions.on_time.get(airportCode: 'JFK', date: '2020-08-01')
247
+
248
+ # Trip Purpose Prediction
249
+ amadeus.travel.predictions.trip_purpose.get(originLocationCode: 'ATH', destinationLocationCode: 'MAD', departureDate: '2020-08-01', returnDate: '2020-08-12', searchDate: '2020-06-11')
241
250
  ```
242
251
  ## Development & Contributing
243
252
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('lib', __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'amadeus/version'
@@ -24,19 +26,19 @@ Gem::Specification.new do |spec|
24
26
  spec.bindir = 'exe'
25
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
28
  spec.require_paths = ['lib']
27
- spec.required_ruby_version = '>= 2.2.0'
29
+ spec.required_ruby_version = '>= 2.4.0'
28
30
 
29
31
  spec.add_development_dependency 'awesome_print', '~> 1.8'
30
32
  spec.add_development_dependency 'bundler', '~> 2.1.2'
31
- spec.add_development_dependency 'guard', '~> 2.14'
33
+ spec.add_development_dependency 'guard', '~> 2.16'
32
34
  spec.add_development_dependency 'guard-rake', '~> 1.0'
33
35
  spec.add_development_dependency 'guard-yard', '~> 2.2'
34
- spec.add_development_dependency 'rake', '~> 12.3'
36
+ spec.add_development_dependency 'rake', '~> 12.3.1'
35
37
  spec.add_development_dependency 'rb-readline', '~> 0.5.5'
36
- spec.add_development_dependency 'rspec', '~> 3.7'
37
- spec.add_development_dependency 'rubocop', '0.59'
38
- spec.add_development_dependency 'simplecov', '~> 0.15'
39
- spec.add_development_dependency 'vcr', '~> 4.0'
40
- spec.add_development_dependency 'webmock', '~> 3.3'
41
- spec.add_development_dependency 'yard', '~> 0.9.12'
38
+ spec.add_development_dependency 'rspec', '~> 3.9'
39
+ spec.add_development_dependency 'rubocop', '0.79'
40
+ spec.add_development_dependency 'simplecov', '~> 0.18'
41
+ spec.add_development_dependency 'vcr', '~> 5.1'
42
+ spec.add_development_dependency 'webmock', '~> 3.8'
43
+ spec.add_development_dependency 'yard', '~> 0.9.24'
42
44
  end
@@ -14,7 +14,11 @@ require 'amadeus/namespaces/shopping'
14
14
  require 'amadeus/namespaces/reference_data'
15
15
  require 'amadeus/namespaces/e_reputation'
16
16
  require 'amadeus/namespaces/booking'
17
+ require 'amadeus/namespaces/airport'
18
+ require 'amadeus/namespaces/airport/predictions'
19
+ require 'amadeus/namespaces/airport/predictions/on_time'
17
20
  require 'amadeus/namespaces/e_reputation/hotel_sentiments'
21
+ require 'amadeus/namespaces/booking/hotel_bookings'
18
22
  require 'amadeus/namespaces/reference_data/airlines'
19
23
  require 'amadeus/namespaces/reference_data/urls'
20
24
  require 'amadeus/namespaces/reference_data/urls/checkin_links'
@@ -24,18 +28,20 @@ require 'amadeus/namespaces/reference_data/locations/airports'
24
28
  require 'amadeus/namespaces/reference_data/locations/points_of_interest'
25
29
  require 'amadeus/namespaces/reference_data/locations/points_of_interest/by_square'
26
30
  require 'amadeus/namespaces/shopping/flight_destinations'
27
- require 'amadeus/namespaces/shopping/flight_offers'
28
- require 'amadeus/namespaces/shopping/flight_offers/prediction'
31
+ require 'amadeus/namespaces/shopping/flight_offers_search'
32
+ require 'amadeus/namespaces/shopping/flight_offers_search/prediction'
29
33
  require 'amadeus/namespaces/shopping/flight_dates'
30
34
  require 'amadeus/namespaces/shopping/hotel_offers'
31
35
  require 'amadeus/namespaces/shopping/hotel_offer'
32
36
  require 'amadeus/namespaces/shopping/hotel_offers_by_hotel'
33
37
  require 'amadeus/namespaces/travel/analytics'
38
+ require 'amadeus/namespaces/travel/predictions'
39
+ require 'amadeus/namespaces/travel/predictions/trip_purpose'
40
+ require 'amadeus/namespaces/travel/predictions/flight_delay'
34
41
  require 'amadeus/namespaces/travel/analytics/air_traffic'
35
42
  require 'amadeus/namespaces/travel/analytics/air_traffic/traveled'
36
43
  require 'amadeus/namespaces/travel/analytics/air_traffic/booked'
37
44
  require 'amadeus/namespaces/travel/analytics/air_traffic/busiest_period'
38
- require 'amadeus/namespaces/booking/hotel_bookings'
39
45
 
40
46
  # The namespace for the files used to make API
41
47
  # calls to the Amadeus travel APIs
@@ -3,9 +3,7 @@
3
3
  module Amadeus
4
4
  # A list of directions, as used in Busiest Travel Period
5
5
  module Direction
6
- # Airport
7
- ARRIVING = 'ARRIVING'.freeze
8
- # City
9
- DEPARTING = 'DEPARTING'.freeze
6
+ ARRIVING = 'ARRIVING'
7
+ DEPARTING = 'DEPARTING'
10
8
  end
11
9
  end
@@ -64,11 +64,12 @@ module Amadeus
64
64
 
65
65
  # Determines the longer description, printed after the initial error
66
66
  def long_description
67
- return '' unless response && response.parsed
68
-
69
67
  message = ''
70
- message += error_description if response.result['error_description']
71
- message += errors_description if response.result['errors']
68
+ if response&.parsed
69
+ message += error_description if response.result['error_description']
70
+ message += errors_description if response.result['errors']
71
+ end
72
+
72
73
  message
73
74
  end
74
75
 
@@ -4,9 +4,9 @@ module Amadeus
4
4
  # A list of location types, as used in searching for locations
5
5
  module Location
6
6
  # Airport
7
- AIRPORT = 'AIRPORT'.freeze
7
+ AIRPORT = 'AIRPORT'
8
8
  # City
9
- CITY = 'CITY'.freeze
9
+ CITY = 'CITY'
10
10
  # Any
11
11
  ANY = [AIRPORT, CITY].join(',')
12
12
  end
@@ -25,7 +25,7 @@ module Amadeus
25
25
 
26
26
  # Used by .flatten_keys to add a sub key to a key
27
27
  def append_key(root_key, key)
28
- root_key.nil? ? :"#{key}" : :"#{root_key}[#{key.to_s}]"
28
+ root_key.nil? ? :"#{key}" : :"#{root_key}[#{key}]"
29
29
  end
30
30
  end
31
31
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ # A namespaced client for the
6
+ # +/v1/airport+ endpoints
7
+ #
8
+ # Access via the +Amadeus::Client+ object
9
+ #
10
+ # amadeus = Amadeus::Client.new
11
+ # amadeus.airport
12
+ #
13
+ class Airport < Amadeus::Client::Decorator
14
+ # The namespace for the Ai APIs:
15
+ #
16
+ # @return [Amadeus::Namespaces::Airport::Predictions]
17
+ # @example
18
+ # amadeus.airport.predictions
19
+ #
20
+ def predictions
21
+ Amadeus::Namespaces::Airport::Predictions.new(client)
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Airport
6
+ # A namespaced client for the
7
+ # +/v1/airport/predictions+ endpoints
8
+ #
9
+ # Access via the +Amadeus::Client+ object
10
+ #
11
+ # amadeus = Amadeus::Client.new
12
+ # amadeus.airport.predictions
13
+ #
14
+ class Predictions < Amadeus::Client::Decorator
15
+ # The namespace for the Airport-OnTime-Prediction API:
16
+ #
17
+ # @return [Amadeus::Namespaces::Airport::Predictions::OnTime]
18
+ # @example
19
+ # amadeus.airport.predictions.on_time
20
+ #
21
+ def on_time
22
+ Amadeus::Namespaces::Airport::Predictions::OnTime.new(client)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Airport
6
+ class Predictions
7
+ # A namespaced client for the
8
+ # +/v1/airport/predictions/on_time+ endpoints
9
+ #
10
+ # Access via the +Amadeus::Client+ object
11
+ #
12
+ # amadeus = Amadeus::Client.new
13
+ # amadeus.airport.predictions.on_time
14
+ #
15
+ class OnTime < Amadeus::Client::Decorator
16
+ # Returns a prediction on airport performance.
17
+ #
18
+ # @option params [String] :airportCode IATA code of the airport
19
+ # @option params [String] :date date of the prediction, in the future
20
+ # @return [Amadeus::Response] a parsed response
21
+ # @raise [Amadeus::Base] an exception if the call failed
22
+ # @example
23
+ # amadeus.airport.predictions.on_time.get(airportCode: 'JFK', date: '2020-09-01')
24
+ #
25
+ def get(params = {})
26
+ client.get('/v1/airport/predictions/on-time', params)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -67,5 +67,15 @@ module Amadeus
67
67
  def e_reputation
68
68
  EReputation.new(self)
69
69
  end
70
+
71
+ # The namespace for the Airport APIs:
72
+ #
73
+ # @return [Amadeus::Namespaces::Airport]
74
+ # @example Some of the further namespaces available
75
+ # amadeus.airport.predictions
76
+ #
77
+ def airport
78
+ Airport.new(self)
79
+ end
70
80
  end
71
81
  end
@@ -23,12 +23,12 @@ module Amadeus
23
23
 
24
24
  # The namespace for the FlightOffers API:
25
25
  #
26
- # @return [Amadeus::Namespaces::Shopping::FlightOffers]
26
+ # @return [Amadeus::Namespaces::Shopping::FlightOffersSearch]
27
27
  # @example
28
- # amadeus.shopping.flight_offers
28
+ # amadeus.shopping.flight_offers_search
29
29
  #
30
- def flight_offers
31
- Amadeus::Namespaces::Shopping::FlightOffers.new(client)
30
+ def flight_offers_search
31
+ Amadeus::Namespaces::Shopping::FlightOffersSearch.new(client)
32
32
  end
33
33
 
34
34
  # The namespace for the FlightDates API:
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Shopping
6
+ # A namespaced client for the
7
+ # +/v2/shopping/flight-offers+ endpoints
8
+ #
9
+ # Access via the +Amadeus::Client+ object
10
+ #
11
+ # amadeus = Amadeus::Client.new
12
+ # amadeus.shopping.flight_offers_search
13
+ #
14
+ class FlightOffersSearch < Amadeus::Client::Decorator
15
+ # The namespace for the Prediction API:
16
+ #
17
+ # @return [Amadeus::Namespaces::Shopping::FlightOffersSearch::Prediction]
18
+ # @example
19
+ # amadeus.shopping.flight_offers_search.prediction
20
+ #
21
+ def prediction
22
+ Amadeus::Namespaces::Shopping::FlightOffersSearch::Prediction.new(client)
23
+ end
24
+ # Find the cheapest bookable flights.
25
+ #
26
+ # @option params [String] :origin City/Airport IATA code from which the
27
+ # flight will depart. BOS, for example.
28
+ # @option params [String] :destination City/Airport IATA code to which
29
+ # the traveler is going. PAR, for example
30
+ # @return [Amadeus::Response] a parsed response
31
+ # @raise [Amadeus::Base] an exception if the call failed
32
+ # @example Find the cheapest flight offers from New-York to Madrid,
33
+ # for the first of October 2020
34
+ # amadeus.shopping.flight_offers_search.get(
35
+ # originLocationCode: 'NYC',
36
+ # destinationLocationCode: 'MAD',
37
+ # departureDate: '2020-10-01',
38
+ # adults: 1
39
+ # )
40
+ #
41
+
42
+ def get(params = {})
43
+ client.get('/v2/shopping/flight-offers', params)
44
+ end
45
+
46
+ # Find the cheapest bookable flights.
47
+ #
48
+ # @option body [JSON] :body flight search parameters
49
+ # @return [Amadeus::Response] a parsed response
50
+ # @raise [Amadeus::Base] an exception if the call
51
+ # failed
52
+ # @example
53
+ # amadeus.shopping.flight_offers_search.post(body)
54
+ #
55
+ def post(params = {})
56
+ client.post('/v2/shopping/flight-offers', params)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -3,27 +3,28 @@
3
3
  module Amadeus
4
4
  module Namespaces
5
5
  class Shopping
6
- class FlightOffers
6
+ class FlightOffersSearch
7
7
  # A namespaced client for the
8
- # +/v1/shopping/flight-offers/prediction+ endpoints
8
+ # +/v2/shopping/flight-offers/prediction+ endpoints
9
9
  #
10
10
  # Access via the +Amadeus::Client+ object
11
11
  #
12
12
  # amadeus = Amadeus::Client.new
13
- # amadeus.shopping.flight-offers.prediction
13
+ # amadeus.shopping.flight_offers_search.prediction
14
14
  #
15
15
  class Prediction < Amadeus::Client::Decorator
16
16
  # Returns a list of flight offers including a choice prediction for each itineary.
17
17
  #
18
- # @option body [JSON] :body JSON response of the Flight Low-fare Search API
18
+ # @option body [JSON] :body JSON response of the Flight Offers Search API
19
19
  # @return [Amadeus::Response] a parsed response
20
20
  # @raise [Amadeus::Base] an exception if the call
21
21
  # failed
22
22
  # @example
23
- # amadeus.shopping.flight_offers.prediction.post(flight_offers_response.body)
23
+ # amadeus.shopping.flight_offers_search.prediction.post(
24
+ # flight_offers_search_response.body)
24
25
  #
25
26
  def post(params = {})
26
- client.post('/v1/shopping/flight-offers/prediction', params)
27
+ client.post('/v2/shopping/flight-offers/prediction', params)
27
28
  end
28
29
  end
29
30
  end
@@ -16,11 +16,20 @@ module Amadeus
16
16
  # @return [Amadeus::Namespaces::Travel::Analytics]
17
17
  # @example
18
18
  # amadeus.travel.analytics.air_traffic
19
- # amadeus.travel.analytics.fare_searches
20
19
  #
21
20
  def analytics
22
21
  Amadeus::Namespaces::Travel::Analytics.new(client)
23
22
  end
23
+
24
+ # The namespace for the travel Predictions APIs:
25
+ #
26
+ # @return [Amadeus::Namespaces::Travel::Predictions]
27
+ # @example
28
+ # amadeus.travel.predictions.trip_purpose
29
+ #
30
+ def predictions
31
+ Amadeus::Namespaces::Travel::Predictions.new(client)
32
+ end
24
33
  end
25
34
  end
26
35
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Travel
6
+ # A namespaced client for the
7
+ # +/v1/travel/predictions+ endpoints
8
+ #
9
+ # Access via the +Amadeus::Client+ object
10
+ #
11
+ # amadeus = Amadeus::Client.new
12
+ # amadeus.travel.predictions
13
+ #
14
+ class Predictions < Amadeus::Client::Decorator
15
+ # The namespace for the travel Predictions APIs:
16
+ #
17
+ # @return [Amadeus::Namespaces::Travel::Predictions]
18
+ # @example
19
+ # amadeus.travel.predictions.trip_purpose
20
+ #
21
+ def trip_purpose
22
+ Amadeus::Namespaces::Travel::Predictions::TripPurpose.new(client)
23
+ end
24
+
25
+ # The namespace for the travel Predictions APIs:
26
+ #
27
+ # @return [Amadeus::Namespaces::Travel::Predictions]
28
+ # @example
29
+ # amadeus.travel.predictions.flight_delay
30
+ #
31
+ def flight_delay
32
+ Amadeus::Namespaces::Travel::Predictions::FlightDelay.new(client)
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Travel
6
+ class Predictions
7
+ # A namespaced client for the
8
+ # +/v1/travel/predictions/flight_delay+ endpoints
9
+ #
10
+ # Access via the +Amadeus::Client+ object
11
+ #
12
+ # amadeus = Amadeus::Client.new
13
+ # amadeus.travel.predictions.flight_delay
14
+ #
15
+ class FlightDelay < Amadeus::Client::Decorator
16
+ # Forecast the chances for a flight to be delayed
17
+ # @option params [String] :originLocationCode the Airport IATA code from which
18
+ # the flight will depart. ``"NYC"``, for example for New York - required
19
+ # @option params [String] :destinationLocationCode the Airport IATA code to which
20
+ # the flight is going. ``"MAD"``, for example for Madrid - required
21
+ # @option params [String] :departureDate the date on which to fly out,
22
+ # in `YYYY-MM-DD` format - required
23
+ # @option params [String] :departureTime local time on which to fly out,
24
+ # in `HH:MM:SS` format - required
25
+ # @option params [String] :arrivalDate date on which the flight returns to the origin,
26
+ # in `YYYY-MM-DD` format - required
27
+ # @option params [String] :arrivalTime local time on which to fly out,
28
+ # in `HH:MM:SS` format - required
29
+ # @option params [String] :aircraftCode IATA aircraft code - required
30
+ # @option params [String] :carrierCode airline / carrier code - required
31
+ # @option params [String] :flightNumber flight number - required
32
+ # @option params [String] :duration flight duration,
33
+ # in `PnYnMnDTnHnMnS` format e.g. PT2H10M - required
34
+ # @return [Amadeus::Response] a parsed response
35
+ # @raise [Amadeus::Base] an exception if the call failed
36
+ # @example
37
+ # amadeus.travel.predictions.flight_delay.get(originLocationCode: 'NCE',
38
+ # destinationLocationCode: 'IST',
39
+ # departureDate: '2020-08-01',
40
+ # departureTime: '18:20:00',
41
+ # arrivalDate: '2020-08-01',
42
+ # arrivalTime: '22:15:00',
43
+ # aircraftCode: '321',
44
+ # carrierCode: 'TK',
45
+ # flightNumber: '1816',
46
+ # duration: 'PT31H10M')
47
+ #
48
+ def get(params = {})
49
+ client.get('/v1/travel/predictions/flight-delay', params)
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Amadeus
4
+ module Namespaces
5
+ class Travel
6
+ class Predictions
7
+ # A namespaced client for the
8
+ # +/v1/travel/predictions/trip_purpose+ endpoints
9
+ #
10
+ # Access via the +Amadeus::Client+ object
11
+ #
12
+ # amadeus = Amadeus::Client.new
13
+ # amadeus.travel.predictions.trip_purpose
14
+ #
15
+ class TripPurpose < Amadeus::Client::Decorator
16
+ # Predicts traveler purpose, Business or Leisure,
17
+ # with the probability in the context of search & shopping
18
+ # @option params [String] :originLocationCode the City/Airport IATA code from which
19
+ # the flight will depart. ``"NYC"``, for example for New York - required
20
+ # @option params [String] :destinationLocationCode the City/Airport IATA code to which
21
+ # the flight is going. ``"MAD"``, for example for Madrid - required
22
+ # @option params [String] :departureDate the date on which to fly out,
23
+ # in `YYYY-MM-DD` format - required
24
+ # @option params [String] :returnDate date on which the flight returns to the origin,
25
+ # in `YYYY-MM-DD` format - required
26
+ # @option params [String] :searchDate date on which the traveler performs the search,
27
+ # in `YYYY-MM-DD` format.
28
+ # If it is not specified the current date will be used - optional
29
+ # @return [Amadeus::Response] a parsed response
30
+ # @raise [Amadeus::Base] an exception if the call failed
31
+ # @example what is the name of airline code 'U2'
32
+ # amadeus.travel.predictions.trip_purpose.get(
33
+ # originLocationCode: 'NYC',
34
+ # destinationLocationCode: 'MAD',
35
+ # departureDate: '2020-08-01',
36
+ # returnDate: '2020-08-12',
37
+ # searchDate: '2020-06-11')
38
+ #
39
+ def get(params = {})
40
+ client.get('/v1/travel/predictions/trip-purpose', params)
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Amadeus
4
4
  # The current client version
5
- VERSION = '4.0.0'.freeze
5
+ VERSION = '5.0.0'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amadeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amadeus
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2020-02-14 00:00:00.000000000 Z
13
+ date: 2020-05-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: awesome_print
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: '2.14'
49
+ version: '2.16'
50
50
  type: :development
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: '2.14'
56
+ version: '2.16'
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: guard-rake
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '12.3'
91
+ version: 12.3.1
92
92
  type: :development
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '12.3'
98
+ version: 12.3.1
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: rb-readline
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -116,84 +116,84 @@ dependencies:
116
116
  requirements:
117
117
  - - "~>"
118
118
  - !ruby/object:Gem::Version
119
- version: '3.7'
119
+ version: '3.9'
120
120
  type: :development
121
121
  prerelease: false
122
122
  version_requirements: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
- version: '3.7'
126
+ version: '3.9'
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: rubocop
129
129
  requirement: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - '='
132
132
  - !ruby/object:Gem::Version
133
- version: '0.59'
133
+ version: '0.79'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  requirements:
138
138
  - - '='
139
139
  - !ruby/object:Gem::Version
140
- version: '0.59'
140
+ version: '0.79'
141
141
  - !ruby/object:Gem::Dependency
142
142
  name: simplecov
143
143
  requirement: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: '0.15'
147
+ version: '0.18'
148
148
  type: :development
149
149
  prerelease: false
150
150
  version_requirements: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - "~>"
153
153
  - !ruby/object:Gem::Version
154
- version: '0.15'
154
+ version: '0.18'
155
155
  - !ruby/object:Gem::Dependency
156
156
  name: vcr
157
157
  requirement: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - "~>"
160
160
  - !ruby/object:Gem::Version
161
- version: '4.0'
161
+ version: '5.1'
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - "~>"
167
167
  - !ruby/object:Gem::Version
168
- version: '4.0'
168
+ version: '5.1'
169
169
  - !ruby/object:Gem::Dependency
170
170
  name: webmock
171
171
  requirement: !ruby/object:Gem::Requirement
172
172
  requirements:
173
173
  - - "~>"
174
174
  - !ruby/object:Gem::Version
175
- version: '3.3'
175
+ version: '3.8'
176
176
  type: :development
177
177
  prerelease: false
178
178
  version_requirements: !ruby/object:Gem::Requirement
179
179
  requirements:
180
180
  - - "~>"
181
181
  - !ruby/object:Gem::Version
182
- version: '3.3'
182
+ version: '3.8'
183
183
  - !ruby/object:Gem::Dependency
184
184
  name: yard
185
185
  requirement: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - "~>"
188
188
  - !ruby/object:Gem::Version
189
- version: 0.9.12
189
+ version: 0.9.24
190
190
  type: :development
191
191
  prerelease: false
192
192
  version_requirements: !ruby/object:Gem::Requirement
193
193
  requirements:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
- version: 0.9.12
196
+ version: 0.9.24
197
197
  description: |2
198
198
  Ruby library for the Amadeus travel APIs, providing hotel, flight, airport,
199
199
  and other travel related APIs.
@@ -224,6 +224,9 @@ files:
224
224
  - lib/amadeus/client/response.rb
225
225
  - lib/amadeus/client/response/parser.rb
226
226
  - lib/amadeus/client/validator.rb
227
+ - lib/amadeus/namespaces/airport.rb
228
+ - lib/amadeus/namespaces/airport/predictions.rb
229
+ - lib/amadeus/namespaces/airport/predictions/on_time.rb
227
230
  - lib/amadeus/namespaces/booking.rb
228
231
  - lib/amadeus/namespaces/booking/hotel_bookings.rb
229
232
  - lib/amadeus/namespaces/core.rb
@@ -241,8 +244,8 @@ files:
241
244
  - lib/amadeus/namespaces/shopping.rb
242
245
  - lib/amadeus/namespaces/shopping/flight_dates.rb
243
246
  - lib/amadeus/namespaces/shopping/flight_destinations.rb
244
- - lib/amadeus/namespaces/shopping/flight_offers.rb
245
- - lib/amadeus/namespaces/shopping/flight_offers/prediction.rb
247
+ - lib/amadeus/namespaces/shopping/flight_offers_search.rb
248
+ - lib/amadeus/namespaces/shopping/flight_offers_search/prediction.rb
246
249
  - lib/amadeus/namespaces/shopping/hotel_offer.rb
247
250
  - lib/amadeus/namespaces/shopping/hotel_offers.rb
248
251
  - lib/amadeus/namespaces/shopping/hotel_offers_by_hotel.rb
@@ -252,6 +255,9 @@ files:
252
255
  - lib/amadeus/namespaces/travel/analytics/air_traffic/booked.rb
253
256
  - lib/amadeus/namespaces/travel/analytics/air_traffic/busiest_period.rb
254
257
  - lib/amadeus/namespaces/travel/analytics/air_traffic/traveled.rb
258
+ - lib/amadeus/namespaces/travel/predictions.rb
259
+ - lib/amadeus/namespaces/travel/predictions/flight_delay.rb
260
+ - lib/amadeus/namespaces/travel/predictions/trip_purpose.rb
255
261
  - lib/amadeus/version.rb
256
262
  homepage: https://github.com/amadeus4dev/amadeus-ruby
257
263
  licenses:
@@ -265,7 +271,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
265
271
  requirements:
266
272
  - - ">="
267
273
  - !ruby/object:Gem::Version
268
- version: 2.2.0
274
+ version: 2.4.0
269
275
  required_rubygems_version: !ruby/object:Gem::Requirement
270
276
  requirements:
271
277
  - - ">="
@@ -1,47 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Amadeus
4
- module Namespaces
5
- class Shopping
6
- # A namespaced client for the
7
- # +/v1/shopping/flight-offers+ endpoints
8
- #
9
- # Access via the +Amadeus::Client+ object
10
- #
11
- # amadeus = Amadeus::Client.new
12
- # amadeus.shopping.flight_offers
13
- #
14
- class FlightOffers < Amadeus::Client::Decorator
15
- # The namespace for the Prediction API:
16
- #
17
- # @return [Amadeus::Namespaces::Shopping::FlightOffers::Prediction]
18
- # @example
19
- # amadeus.shopping.flight_offers.prediction
20
- #
21
- def prediction
22
- Amadeus::Namespaces::Shopping::FlightOffers::Prediction.new(client)
23
- end
24
- # Find the cheapest bookable flights.
25
- #
26
- # @option params [String] :origin City/Airport IATA code from which the
27
- # flight will depart. BOS, for example.
28
- # @option params [String] :destination City/Airport IATA code to which
29
- # the traveler is going. PAR, for example
30
- # @return [Amadeus::Response] a parsed response
31
- # @raise [Amadeus::Base] an exception if the call failed
32
- # @example Find the cheapest flight offers from New-York to Madrid,
33
- # for the first of August 2020
34
- # amadeus.shopping.flight_offers.get(
35
- # origin: 'NYC',
36
- # destination: 'MAD',
37
- # departureDate: '2020-08-01'
38
- # )
39
- #
40
-
41
- def get(params = {})
42
- client.get('/v1/shopping/flight-offers', params)
43
- end
44
- end
45
- end
46
- end
47
- end