npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

liteapi-node-sdk

v3.1.0

Published

Start building travel apps with liteAPI. Instantly access millions of hotels to build new or existing apps and platforms.

Downloads

191

Readme

Table of Contents

Introduction

liteAPI is an innovative and robust collection of infrastructure APIs that cater to the travel industry. It is designed to empower developers, offering them the fastest way to build and launch comprehensive travel applications.

At the heart of LiteAPI's power is its extensive network of over 2 million properties worldwide. By incorporating LiteAPI into an app, developers can effortlessly tap into the vast inventory, allowing users to search and book accommodations at these properties.

But that's not all. With LiteAPI, monetization is made even more simple. Developers can generate revenue through their hospitality products by selling accommodations from LiteAPI's broad portfolio of properties. This means that not only can developers launch their products quickly, they can also start generating profits in no time.

LiteAPI opens up a range of powerful functions for travel and hospitality applications. Its features include:

Don't have an account yet? Sign Up Here.

Installing

Install the package using the following npm or yarn commands:

npm install liteapi-node-sdk
# or
yarn add liteapi-node-sdk

Usage

After you have installed the LiteAPI package, you need to configure it with your API key. The API key is available in the liteAPI Dashboard. Here's the step to add the API key to the package.

const liteApi = require('liteapi-node-sdk')(YOUR_API_KEY);

Static data

Static data can be directly fetched from the functions below. Alternatively, LiteAPI also provides an option to download static data directly from the Github URL.

List of cities

The getCitiesByCountryCode function returns a list of city names from a specific country. The country codes must be in ISO-2 format. To get the country codes in ISO-2 for all countries please use the getCountries function.

    const countryCode = "IT";
    const result = await liteApi.getCitiesByCountryCode(countryCode);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- countryCode | string| Country code in iso-2 format (example: US) | [required]

An array of city objects containing the following properties:

Field | Type | Description ------|------|------------ city | string | The name of the city.

List of Countries

The getCountries function returns the list of countries available along with its ISO-2 code.

      const result = await liteApi.getCountries();

The function does not need any additional parameter.

An array of country objects containing the following properties:

Field | Type | Description ------|------|------------ code | string | The country code in iso-2 format. name | string | The name of the country.

List of available currencies

The getCurrencies function returns all available currency codes along with its name and the list of supported countries that the currency applies to.

    const result = await liteApi.getCurrencies();

This function does not need any additional parameters.

An array of currency objects containing the following properties:

| Name | Type | Description | | -------- | ----- | ----------------------------------------------------------- | | code | string | The currency code. | | currency | string | The name of the currency. | | countries | Array | An array of countries where the currency is used. |

List of hotels

The getHotels function returns a list of hotels available based on different search criteria. The minimum required information is the country code in ISO-2 format.

    const countryCode = "IT";
    const cityName = "Rome";
    //Optional values
    const offset = 1000;
    const limit = 1000;
    const longitude = "-115.16988";
    const latitude = "36.12510";
    const distance = 1000;

    const result = await liteApi.getHotels(countryCode, cityName);

To utilize optional values, you can invoke the function as follows:

    const result = await liteApi.getHotels(countryCode, cityName, offset, limit, longitude, latitude, distance)

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- countryCode | string| country code ISO-2 code - example (US) | [required] cityName | string| name of the city | [required] offset | number| specifies the number of rows to skip before starting to return rows | [optional] limit | number| limit number of results (max 1000) | [optional] longitude | string | longitude geo coordinates | [optional] latitude | string | latitude geo coordinates | [optional] distance | number | distance in meters (min 1000m) | [optional]

An array of hotel objects containing the following properties:

| Name | Type | Description | | --------------- | ------ | --------------------------------------------------------------------------------------------------------- | | id | string | The unique identifier of the hotel. | | name | string | The name of the hotel. | | hotelDescription| string | The description of the hotel. | | currency | string | The currency used in the hotel. | | country | string | The country code of the hotel. | | city | string | The city where the hotel is located. | | latitude | number | The latitude coordinates of the hotel's location. | | longitude | number | The longitude coordinates of the hotel's location. | | address | string | The address of the hotel. | | zip | string | The postal code of the hotel. | | main_photo | string | The URL of the main photo of the hotel. | | stars | number | The star rating of the hotel. |

Hotel details

The getHotelDetails function returns all the static contents details of a hotel or property when given a hotel ID. The static content includes name, description, address, amenities, cancellation policies, images and more.

    const hotelID = "lp24373";
    const result = await liteApi.getHotelDetails(hotelID);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- hotelId | string| Unique ID of a hotel | [required]

| Name | Type | Description | | --------------- | ------ | --------------------------------------------------------------------------------------------------------- | | id | string | The unique identifier of the hotel. | | name | string | The name of the hotel. | | hotelDescription | string | The description of the hotel. | | checkinCheckoutTimes | Object | An object containing the check-in and check-out times of the hotel. | |          checkout | string | The check-out time of the hotel. | |          checkin | string | The check-in time of the hotel. | | hotelImages | Array | An array of hotel image objects containing the following properties: | |          url | string | The URL of the hotel image. | |         thumbnailUrl | string | The thumbnail URL of the hotel image. | |          caption | string | The caption of the hotel image. | |          order | string | The order of the hotel image (null if not applicable). | |          defaultImage | boolean | Indicates whether the hotel image is the default image or not. | | currency | string | The currency used in the hotel. | | country | string | The country code of the hotel. | | city | string | The city where the hotel is located. | | starRating | number | The star rating of the hotel. | | location | Object | An object containing the latitude and longitude coordinates of the hotel's location. | |          latitude | number | The latitude coordinate of the hotel's location. | |          longitude | number | The longitude coordinate of the hotel's location. | | address | string | The address of the hotel. | | zip | string | The postal code of the hotel. | | chainId | string | The unique identifier of the hotel chain. | | hotelFacilities | Array | An array of hotel facilities offered by the hotel. |

Hotel reviews

The getHotelReviews function returns a list of reviews for a specific hotel identified by hotelId. The number of reviews returned is limited by the limit parameter.

    const result = await liteApi.getHotelReviews("lp24373", 200);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- hotelId | string| Unique ID of a hotel | [required] limit | number| Number of reviews to retrieve | [required]

IATA code list

The getIataCodes function returns the IATA (International Air Transport Association) codes for all available airports along with the name of the airport, geographical coordinates and country code in ISO-2 format.

    const result = await liteApi.getIataCodes();

This function does not need any additional parameters.

An array of IATA objects with the following properties:

| Name | Type | Description | | ----------- | ------ | ------------------------------------------------ | | code | string | The IATA code. | | name | string | The name of the IATA. | | latitude | number | The latitude coordinates of the IATA. | | longitude | number | The longitude coordinates of the IATA. | | countryCode | string | The country code of the IATA. |

Booking flow

liteAPI offers a comprehensive and simple way to implement Hotel Booking flow. The booking flow consists of 3 sections: Search, Book, and booking management.

Search

Hotel full rates availability


The getFullRates function return the rates of all available rooms along with its cancellation policies for a list of hotel ID's based on the search dates.

    const result = await liteApi.getFullRates({
        checkin: "2023-07-15",
        checkout: "2023-07-16",
        currency: "USD",
        guestNationality: "US",
        hotelIds: ["lp3803c", "lp1f982", "lp19b70", "lp19e75"],
        occupancies: [
            {
                rooms: 1,
                adults: 2,
                children: [2, 3]
            }
        ]
    });

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- hotelIds | array of strings| List of hotelIds | [required] checkin | string| Check in data in YYYY-MM-DD format | [required] checkout | string| Check out data in YYYY-MM-DD format | [required] currency | string| Currency code - example (USD) | [required] guestNationality | string| Guest nationality ISO-2 code - example (SG) | [required] occupancies | array of objects| Occupancies | [required] guestId | string| Unique traveler ID if available | [optional]

An array of hotel full rates with the following properties for each roomType:

| Name | Type | Description | | ------------ | ------ | ------------------------------------------------ | | offerId | string | The offer for this rate. To be used when calling the prebook endpoint | | roomTypeId | string | The ID of the room type. | | supplier | string | The name of the supplier. | | supplierId | number | The ID of the supplier. | | rates | Array | An array of rate objects containing the pricing and details for each rate within the room type. | |          rateId | string | The ID of the rate. | |          name | string | The name of the rate. | |          maxOccupancy | number | The maximum occupancy of the room. | |          boardType | string | The type of board included (e.g., Bed Only). | |          boardName | string | The name of the board (e.g., Bed Only). | |          priceType | string | The type of pricing (e.g., commission). | |          commission | Array | An array of commission objects containing the commission amount and currency. | |          retailRate | Object | An object containing the retail rate information, including total price, MSP (Marked Selling Price), and taxes and fees. | |                  total | Array | An array of total price objects containing the amount and currency. | |                  msp | Array | An array of MSP (Marked Selling Price) objects containing the amount and currency. | |                  taxesAndFees | Array | An array of taxes and fees objects containing information about included or additional charges. | |          cancellationPolicies | Object | An object containing cancellation policy information. | |              cancelPolicyInfos | Array | An array of cancellation policy info objects containing information about cancellation time, amount, currency, and type. | |              hotelRemarks | Array | An array of hotel remarks. | |              refundableTag | string | The tag indicating if the rate is refundable or non-refundable. |

Book

Hotel rate prebook


The preBook function is used to confirm if the room rates are still available before a booking function can be called. The input to the function is an object that maps to the available options in the API documentation for the prebook endpoint. The function returns a prebook Id, a new rate Id and also contains information if the price, cancellation policy or boarding information changed.

    const offerId = ["abcde123"];
    const result = await liteApi.preBook({ offerId, usePaymentSdk: true, voucherCode: "1234" });

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- data | object | the input parameters for the API request | [required]

An object containing prebook information and room type details.

| Name | Type | Description | | ------------------------- | ------ | ------------------------------------------------------------------------------------------------------ | | prebookId | string | The ID of the prebook. | | hotelId | string | The ID of the hotel. | | currency | string | The currency used for pricing. | | termsAndConditions | string | The terms and conditions (if available). | | roomTypes | Array | An array of room type objects containing the following properties: | |          rates | Array | An array of rate objects containing pricing and details for each rate within the room type. | |                  rateId | string | The ID of the rate. | |                  name | string | The name of the rate. | |                  maxOccupancy | number | The maximum occupancy of the room. | |                  boardType | string | The type of board included (e.g., Bed Only). | |                  boardName | string | The name of the board (e.g., Bed Only). | |                  priceType | string | The type of pricing (e.g., commission). | |                  commission | Object | An array of commission objects containing the commission amount and currency. | |                  retailRate | Object | An object containing the retail rate information, including total price, MSP (Marked Selling Price), and taxes and fees. | |                           total | Object | An array of total price objects containing the amount and currency. | |                           msp | Object | An array of MSP (Marked Selling Price) objects containing the amount and currency. | |                           taxesAndFees | Object | An array of taxes and fees objects containing information about included or additional charges. | |                  cancellationPolicies | Object | An object containing cancellation policy information. | |                           cancelPolicyInfos | Object | An array of cancellation policy info objects containing information about cancellation time, amount, and type. | |                           hotelRemarks | Array | An array of hotel remarks. | |                           refundableTag | string | The tag indicating if the rate is refundable or non-refundable. | | msp | number | The Marked Selling Price (MSP) for the prebook. | | commission | number | The commission amount for the prebook. | | price | number | The price of the prebook. | | priceType | string | The type of pricing (e.g., commission). | | priceDifferencePercent| number | The percentage difference between the retail rate and the Marked Selling Price (MSP). | | cancellationChanged | boolean | Indicates if there were changes to the cancellation policy. | | boardChanged | boolean | Indicates if there were changes to the board type. | | supplier | string | The name of the supplier. | | supplierId | number | The ID of the supplier. |

Hotel rate book


The book function confirms a booking when the prebook Id and the rate Id from the pre book stage along with the guest and payment information are passeed.

The guest information is an object that should include the guest first name, last name and email.

The payment information is an object that should include the name, credit card number, expiry and CVC number.

The response will confirm the booking along with a booking Id and a hotel confirmation code. It will also include the booking details including the dates, price and the cancellation policies.

const result = await liteApi.book({
  holder: {
    firstName: 'Steve',
    lastName: 'Doe',
    email: '[email protected]'
  },
  payment: {
    method: 'TRANSACTION_ID',
    transactionId: '456'
  },
  prebookId: '123',
  guests: [
    {
      occupancyNumber: 1,
      firstName: 'Sunny',
      lastName: 'Mars',
      email: '[email protected]'
    }
  ]
});

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- prebookId | string| prebook id retrieved from prebook response| [required] guestInfo | object| traveler informations| [required]| |          guestFirstName | string| traveler first name | [required]| |          guestLastName | string| traveler last name | [required]| |          guestEmail | string| traveler email | [required]| paymentMethod | string| methodEnum: "CREDIT_CARD" or "STRIPE_TOKEN" | [required] holderName | string| name of the cardholder | [required] paymentInfo | object| payment informations | [required]          card_number | string| the card number associated with the credit card| [required if paymentMethod is CREDIT_CARD]          exp_month | number| the expiration month of the credit card | [required if paymentMethod is CREDIT_CARD]          exp_year | number| the expiration year of the credit card | [required if paymentMethod is CREDIT_CARD]          cvc | number| the card verification code (CVC) associated with the credit card | [required if paymentMethod is CREDIT_CARD]          token | string| token provided by Stripe for the payment method. | [required if paymentMethod is STRIPE_TOKEN]

An object containing booking information and room details.

| Name | Type | Description | | ------------------------- | ------- | ------------------------------------ | | bookingId | string | The ID of the booking. | | clientReference | string | The client reference. | | supplierBookingId | string | The supplier booking ID. | | supplierBookingName | string | The supplier booking name. | | supplier | string | The supplier. | | supplierId | number | The ID of the supplier. | | status | string | The status of the booking. | | hotelConfirmationCode | string | The hotel confirmation code. | | checkin | string | The check-in date. | | checkout | string | The check-out date. | | hotel | object | An object containing hotel details. | | bookedRooms | array | An array of booked room objects. | |         roomType | object | An object containing room type details. | |         adults | number | The number of adults. | |         children | number | The number of children. | |         rate | object | An object containing rate details. | |                maxOccupancy | number | The maximum occupancy. | |                retailRate | object | An object containing the retail rate information, including total price. | | guestInfo | object | An object containing guest details. | | createdAt | string | The creation date of the booking. | | cancellationPolicies | object | An object containing cancellation policies information. |         cancelPolicyInfos | Object | An array of cancellation policy info objects containing information about cancellation time, amount, and type. | |         hotelRemarks | Array | An array of hotel remarks. | |         refundableTag | string | The tag indicating if the rate is refundable or non-refundable. | price | number | The price of the booking. | | msp | number | The MSP (Merchant Service Provider) price. | | commission | number | The commission amount. | | currency | string | The currency of the booking. |

Booking management

Booking list


The getBookingListByGuestID function returns the list of all booking Id's for a given guest Id.

    const guestId = "FrT56hfty";
    const result = await liteApi.getBookingListByGuestId(guestId)

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- guestId | string | The Guest Id of the user | [required]

An array containing objects with the following properties:

| Name | Type | Description | | ----------- | ------ | ------------------ | | bookingId | string | The booking ID. |

Booking retrieve


The retrieveBooking function returns the status and the details of a specific booking Id.

    const bookingId = "uSQ6Zsc5R";
    const result = await liteApi.retrieveBooking(bookingId);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- bookingId | string | The Booking Id that needs to be retrieved | [required]

An object containing booking information and room details.

| Name | Type | Description | | --------------------- | ------ | -------------------------------- | | bookingId | string | The booking ID. | | clientReference | string | The client reference. | | status | string | The booking status. | | hotelConfirmationCode | string | The hotel confirmation code. | | checkin | string | The check-in date. | | checkout | string | The check-out date. | | hotel | object | An object containing hotel details. | | bookedRooms | array | An array of booked room objects. | |         roomType | object | An object containing room type details. | |         adults | number | The number of adults. | |         children | number | The number of children. | |         rate | object | An object containing rate details. | |                maxOccupancy | number | The maximum occupancy. | |                boardType | string | The board type. | |                boardName | string | The board name. | |                retailRate | object | An object containing the retail rate information, including total price. | | guestInfo | object | An object containing guest information. | | createdAt | string | The creation date of the booking. | | cancellationPolicies | object | An object containing cancellation policy details. | |         cancelPolicyInfos | Object | An array of cancellation policy info objects containing information about cancellation time, amount, and type. | |         hotelRemarks | Array | An array of hotel remarks. | |         refundableTag | string | The tag indicating if the rate is refundable or non-refundable. | currency | string | The currency code. | | price | number | The price of the booking. |

Booking cancel


The cancelBooking function is used to request a cancellation of an existing confirmed booking. Cancellation policies and conditions will be used to determine the success of the cancellation. For example a booking with non-refundable (NRFN) tag or a booking with a cancellation policy that was requested past the cancellation date will not be able to cancel the confirmed booking.

const bookingId = "K8Hvb-85O";
const result = await liteApi.cancelBooking(bookingId);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- bookingId | string | The booking Id of the booking you would like to cancel. | [required]

| Name | Type | Description | | ---------------- | ------ | --------------------------- | | bookingId | string | The booking ID. | | status | string | The booking status. | | cancellation_fee | number | The cancellation fee. | | refund_amount | number | The refund amount. | | currency | string | The currency of the booking. |

Vouchers and Loyalty

LiteAPI provides straightforward access to voucher details, including codes and discounts, along with current loyalty program status and cashback rates.

Vouchers

The getVouchers function retrieves a list of all available vouchers. This endpoint provides details such as the voucher code, discount type and value, validity period, and other relevant information.

const result = await liteApi.getVouchers();

This function does not need any additional parameters.

An object containing the following properties: name | Type | Description ------|------|------------ status | string | Status of the operation. data | array | List of available vouchers.

Voucher Details

The getVoucherById function retrieves details of a specific voucher by its ID. This includes the voucher code, discount details, usage limits, and more.

const voucherID = "your_voucher_id";
const result = await liteApi.getVoucherById(voucherID);

Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- voucherID | string| The unique ID of the voucher. | [required]

An object containing the following properties: name | Type | Description ------|------|------------ status | string | Status of the operation. data | object | Details of the specific voucher.

Loyalty Program

The getLoyalty function retrieves information about current loyalty program settings, including status and cashback rates.

const result = await liteApi.getLoyalty();

This function does not need any additional parameters.

An object containing the following properties: name | Type | Description ------|------|------------ status | string | Status of the operation. data | object | Details of the loyalty program.

Example Project

To see an example project demonstrating how to integrate the SDK, visit liteAPI-nodejs-sdk-examples