npm.io
1.1.6 • Published 4 years ago

nuitee

Licence
ISC
Version
1.1.6
Deps
2
Size
12 kB
Vulns
23
Weekly
0

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"; //live - 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.

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"; // OPTIONAL
let result = await nuitee.cancelBooking(bookingId, reason);

Keywords