Nuitée SDK
Table of Contents
Installing
Using npm:
$ npm install nuitee
Example
note: CommonJS usage
Using CommonJS imports with require()
use the following approach:
const NuiteeSDK = require("nuitee");
const API_KEY = "";
const SHARED_SECRET = "";
const MODE = "sandbox";
const nuitee = new NuiteeSDK(API_KEY, SHARED_SECRET, MODE);
Static data
All destinations
Fetch all destinations
const response = await nuitee.allDestinations();
Get hotels by city
Gte list of hotels by city ID
const cityID = 2734;
const response = await nuitee.getHotelsByCityID(cityID);
Get hotel By ID
Get hotel details
const hotelID = 1098;
const response = await nuitee.getHotelById(hotelID);
Boards list
Fetch all board type
const response = await nuitee.getBoards();
Booking flow
Nuitee API is a comprehensive and simple to implement Hotel Booking API. The booking flow consists of 3 steps: Search, preBook, and Confirm. The API also allows booking cancellations as well as static data retrieval.
Search
This method is used to request room availability. Some filters and special features can be applied before sending an availability request. A flexible date search allows customers to retrieve available rates. The response generated is a list of hotels with the different room types, board types, cancellation policies, and rates available for those hotels. The rates include supplements and discounts and no additional price calculations are required. The cancellation fees are also returned in the availability response.
const searchConfig = {
checkInDate: "2021-08-29",
checkOutDate: "2021-08-30",
hotelCodes: [131880, 4110],
roomGuests: [
{
adultCount: 2,
childCount: 0,
},
{
adultCount: 1,
childCount: 1,
childAges: [3],
},
],
guestNationality: "US",
currency: "USD",
languageCode: "en_US",
timeout: 20000,
};
let result = await nuitee.search(searchConfig);
Pre-book
const preBookConfig = {
sessionId:
"20210829|20210830|en_US|US|USD|2A0C/1A1C3|891|NEZ0Kj|1622885622393xZzi",
hotelCode: "4110",
rateDetailCode: "145-4110|RFN|20210821|4|51290",
confirmedRooms: [
{
boardId: "RO",
roomCode: "661IQjpu4CPNfM8C7ow71b9vz2o2RsMaDiBOLCCH9zE=|1",
},
{
boardId: "RO",
roomCode: "661IQjpu4CPNfM8C7ow71b9vz2o2RsMaDiBOLCCH9zE=|2",
},
],
timeout: "20000",
};
let result = await nuitee.preBook(preBookConfig);
Confirm booking
let bookConfig = {
sessionId:
"20210829|20210830|en_US|US|USD|2A0C/1A1C3|891|NEZ0Kj|1622885622393xZzi",
hotelCode: 131880,
confirmPropertyCode: "145-4110|RFN|20210821|4|51290",
confirmedBooking: true,
clientIdentifier: "agency_booking_locator",
holder: {
email: "example@example.com",
firstName: "f-name",
lastName: "l-name",
titulation: "Mr",
},
reservationInfo: {
customerRoomInfos: [
{
roomCode: "661IQjpu4CPNfM8C7ow71b9vz2o2RsMaDiBOLCCH9zE=|1",
firstName: "f-name",
lastName: "l-name",
titulation: "Mr",
customerComment: null,
},
{
roomCode: "661IQjpu4CPNfM8C7ow71b9vz2o2RsMaDiBOLCCH9zE=|2",
firstName: "f-name",
lastName: "l-name",
titulation: "Mr",
customerComment: null,
},
],
},
billingInfo: {
paymentMethodType: "LIMIT",
},
timeout: 60000,
};
let result = await nuitee.book(bookConfig);
Get booking details
const bookingId = BOOKING_ID_VAL;
let result = await nuitee.getBookingByID(bookingId);
Cancel booking
const bookingId = BOOKING_ID_VAL;
const reason = "Some text here";
let result = await nuitee.cancelBooking(bookingId, reason);