File tree Expand file tree Collapse file tree 6 files changed +87
-12
lines changed
Expand file tree Collapse file tree 6 files changed +87
-12
lines changed Original file line number Diff line number Diff line change @@ -405,14 +405,28 @@ amadeus.shopping.hotelOffersSearch.get({
405405// Check offer conditions of a specific offer id
406406amadeus .shopping .hotelOfferSearch (' XXX' ).get ()
407407
408- // Hotel Booking API
408+ // Hotel Booking API v2
409+ amadeus .booking .hotelOrders .post (
410+ JSON .stringfy ({
411+ ' data' : {
412+ ' type' : ' hotel-order' ,
413+ ' guests' : [],
414+ ' travelAgent' : {},
415+ ' roomAssociations' : [],
416+ ' payment' : {}
417+ }})
418+ )
419+
420+
421+ // Hotel Booking API v1
409422amadeus .booking .hotelBookings .post (
410423 JSON .stringify ({
411- ' offerId' : ' XXX' ,
412- ' guests' : [],
413- ' payments' : []
414- }
415- )
424+ ' data' : {
425+ ' offerId' : ' XXXX' ,
426+ ' guests' : [],
427+ ' payments' : [],
428+ ' rooms' : []
429+ }})
416430)
417431
418432// On-Demand Flight Status
Original file line number Diff line number Diff line change @@ -156,6 +156,7 @@ describe('Namespaces', () => {
156156 expect ( amadeus . shopping . flightOffers . pricing . post ) . toBeDefined ( ) ;
157157 expect ( amadeus . shopping . seatmaps . post ) . toBeDefined ( ) ;
158158 expect ( amadeus . booking . hotelBookings . post ) . toBeDefined ( ) ;
159+ expect ( amadeus . booking . hotelOrders . post ) . toBeDefined ( ) ;
159160 expect ( amadeus . shopping . transferOffers . post ) . toBeDefined ( ) ;
160161 expect ( amadeus . ordering . transferOrders . post ) . toBeDefined ( ) ;
161162 expect ( amadeus . ordering . transferOrder ( 'XXX' ) . transfers . cancellation . post ) . toBeDefined ( ) ;
@@ -447,6 +448,13 @@ describe('Namespaces', () => {
447448 . toHaveBeenCalledWith ( '/v1/booking/hotel-bookings' , { } ) ;
448449 } ) ;
449450
451+ it ( '.amadeus.booking.hotelOrders.post' , ( ) => {
452+ amadeus . client . post = jest . fn ( ) ;
453+ amadeus . booking . hotelOrders . post ( ) ;
454+ expect ( amadeus . client . post )
455+ . toHaveBeenCalledWith ( '/v2/booking/hotel-orders' , { } ) ;
456+ } ) ;
457+
450458 it ( '.amadeus.eReputation.hotelSentiments.get' , ( ) => {
451459 amadeus . client . get = jest . fn ( ) ;
452460 amadeus . eReputation . hotelSentiments . get ( ) ;
Original file line number Diff line number Diff line change 11import FlightOrders from './booking/flight_orders' ;
22import FlightOrder from './booking/flight_order' ;
33import HotelBookings from './booking/hotel_bookings' ;
4+ import HotelOrders from './booking/hotel_orders' ;
45
56/**
67 * A namespaced client for the
@@ -17,13 +18,15 @@ import HotelBookings from './booking/hotel_bookings';
1718 * @property {FlightOrders } flightOrders
1819 * @property {FlightOrder } flightOrder
1920 * @property {HotelBookings } hotelBookings
21+ * @property {HotelOrders } hotelOrders
2022 * @protected
2123 */
2224class Booking {
2325 constructor ( client ) {
2426 this . client = client ;
2527 this . flightOrders = new FlightOrders ( client ) ;
2628 this . hotelBookings = new HotelBookings ( client ) ;
29+ this . hotelOrders = new HotelOrders ( client ) ;
2730 }
2831
2932 flightOrder ( orderId ) {
Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ class FlightOrders {
2828 * amadeus.booking.flightOrders.post({
2929 * 'type': 'flight-order',
3030 * 'flightOffers': [],
31- * 'travelers_info ': []
31+ * 'travelers ': []
3232 * });
3333 * ```
3434 */
Original file line number Diff line number Diff line change @@ -25,11 +25,15 @@ class HotelBookings {
2525 * To book the hotel offer with ID 'XXX' with guests & payments info
2626 *
2727 * ```js
28- * amadeus.booking.hotelBookings.post({
29- * 'offerId': 'XXX',
30- * 'guests': [],
31- * 'payments': []
32- * });
28+ * amadeus.booking.hotelBookings.post(
29+ * JSON.stringify({
30+ * 'data': {
31+ * 'offerId': 'XXXX',
32+ * 'guests': [],
33+ * 'payments': [],
34+ * 'rooms': []
35+ * }})
36+ * )
3337 * ```
3438 */
3539 post ( params = { } ) {
Original file line number Diff line number Diff line change 1+ /**
2+ * A namespaced client for the
3+ * `/v2/booking/hotel-orders` endpoints
4+ *
5+ * Access via the {@link Amadeus} object
6+ *
7+ * ```js
8+ * let amadeus = new Amadeus();
9+ * amadeus.booking.hotelOrders;
10+ * ```
11+ *
12+ * @param {Client } client
13+ */
14+ class HotelOrders {
15+ constructor ( client ) {
16+ this . client = client ;
17+ }
18+
19+ /**
20+ * To book the offer retrieved from Hotel Search API.
21+ *
22+ * @param {Object } params
23+ * @return {Promise.<Response,ResponseError> } a Promise
24+ *
25+ * To book the hotel offer with ID 'XXX' with guests, travel agents and payment info
26+ *
27+ * ```js
28+ * amadeus.booking.hotelOrders.post(
29+ * JSON.stringfy({
30+ * 'data': {
31+ * 'type': 'hotel-order',
32+ * 'guests': [],
33+ * 'travelAgent': {},
34+ * 'roomAssociations': [],
35+ * 'payment': {}
36+ * }})
37+ *)
38+ * ```
39+ */
40+ post ( params = { } ) {
41+
42+ return this . client . post ( '/v2/booking/hotel-orders' , params ) ;
43+ }
44+ }
45+
46+ export default HotelOrders ;
You can’t perform that action at this time.
0 commit comments