Skip to content

Commit 5d7087d

Browse files
committed
add hotel name autocomplete
1 parent e7e5261 commit 5d7087d

File tree

4 files changed

+56
-0
lines changed

4 files changed

+56
-0
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,13 @@ amadeus.referenceData.locations.hotels.byHotels.get({
369369
hotelIds: 'ACPAR245'
370370
})
371371

372+
//Hotel Name Autocomplete API
373+
//Autocomplete a hotel search field
374+
amadeus.referenceData.locations.hotel.get({
375+
keyword: 'PARI',
376+
subType: 'HOTEL_GDS'
377+
})
378+
372379
// Hotel Search API V2
373380
// Get list of hotels by city code
374381
amadeus.shopping.hotelOffers.get({

spec/amadeus/namespaces.test.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ describe('Namespaces', () => {
2323
expect(amadeus.referenceData.locations).toBeDefined();
2424
expect(amadeus.referenceData.locations.airports).toBeDefined();
2525
expect(amadeus.referenceData.locations.cities).toBeDefined();
26+
expect(amadeus.referenceData.locations.hotel).toBeDefined();
2627
expect(amadeus.referenceData.locations.hotels.byCity).toBeDefined();
2728
expect(amadeus.referenceData.locations.hotels.byGeocode).toBeDefined();
2829
expect(amadeus.referenceData.locations.hotels.byHotels).toBeDefined();
@@ -110,6 +111,7 @@ describe('Namespaces', () => {
110111
expect(amadeus.referenceData.locations.get).toBeDefined();
111112
expect(amadeus.referenceData.locations.airports.get).toBeDefined();
112113
expect(amadeus.referenceData.locations.cities.get).toBeDefined();
114+
expect(amadeus.referenceData.locations.hotel.get).toBeDefined();
113115
expect(amadeus.referenceData.locations.hotels.byCity.get).toBeDefined();
114116
expect(amadeus.referenceData.locations.hotels.byGeocode.get).toBeDefined();
115117
expect(amadeus.referenceData.locations.hotels.byHotels.get).toBeDefined();
@@ -211,6 +213,13 @@ describe('Namespaces', () => {
211213
.toHaveBeenCalledWith('/v1/reference-data/locations/cities', {});
212214
});
213215

216+
it('.amadeus.referenceData.locations.hotel.get', () => {
217+
amadeus.client.get = jest.fn();
218+
amadeus.referenceData.locations.hotel.get();
219+
expect(amadeus.client.get)
220+
.toHaveBeenCalledWith('/v1/reference-data/locations/hotel', {});
221+
});
222+
214223
it('.amadeus.referenceData.locations.hotels.byCity.get', () => {
215224
amadeus.client.get = jest.fn();
216225
amadeus.referenceData.locations.hotels.byCity.get();

src/amadeus/namespaces/reference_data/locations.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Airports from './locations/airports';
22
import Cities from './locations/cities';
3+
import Hotel from './locations/hotel';
34
import Hotels from './locations/hotels';
45
import PointOfInterest from './locations/poi';
56
import PointsOfInterest from './locations/pois';
@@ -23,6 +24,7 @@ class Locations {
2324
this.client = client;
2425
this.airports = new Airports(client);
2526
this.cities = new Cities(client);
27+
this.hotel = new Hotel(client);
2628
this.hotels = new Hotels(client);
2729
this.pointsOfInterest = new PointsOfInterest(client);
2830
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* A namespaced client for the
3+
* `/v1/reference-data/locations/hotel` endpoints
4+
*
5+
* Access via the {@link Amadeus} object
6+
*
7+
* ```js
8+
* let amadeus = new Amadeus();
9+
* amadeus.referenceData.locations.hotel;
10+
* ```
11+
*
12+
* @param {Client} client
13+
*/
14+
class Hotel {
15+
constructor(client) {
16+
this.client = client;
17+
}
18+
/**
19+
* Returns a list of hotels for a given area.
20+
*
21+
* @param {Object} params
22+
* @param {string} params.keyword Location query keyword Example: PARI
23+
* @param {string} params.subType Category of search - To enter several value, repeat the query parameter * Use HOTEL_LEISURE to target aggregators or HOTEL_GDS to target directly the chains
24+
* @return {Promise.<Response,ResponseError>} a Promise
25+
*
26+
* Find relevant points of interest within an area in Barcelona
27+
* ```js
28+
* amadeus.referenceData.locations.hotel.get({
29+
* keyword: 'PARI',
30+
* subType: 'HOTEL_GDS'
31+
* })
32+
*/
33+
get(params = {}) {
34+
return this.client.get('/v1/reference-data/locations/hotel', params);
35+
}
36+
}
37+
38+
export default Hotel;

0 commit comments

Comments
 (0)