0.0.1 • Published 8 years ago

travehubapi-sdk v0.0.1

Weekly downloads
1
License
MIT
Repository
-
Last release
8 years ago

TravelhubApi SDK

Node.js Sdk for TravelhubApi

Dependencies Status Build Status Issue Count Test Coverage


  1. Installation
  2. Usage

Installation

npm install travelhubapi-sdk

Usage

Creating client

Options

The TravelhubApiSDK instance accepts these options upon initialization

ParamDescriptionrequiredDefault
clientIdYour client id.trueundefined
clientSecretYour client secret.trueundefined
enviromentflag to use production URls or stagingfalsestaging
languagedefault language for messagesfalsept-BR

Example

const TravelhubApiSDK = require('travelhubapi-sdk');

const thubSDK = new TravelhubApiSDK({
  clientId: process.env.TRAVELHUBAPI_CLIENT_ID,
  clientSecret: process.env.TRAVELHUBAPI_CLIENT_SECRET,
  enviroment: process.env.NODE_ENV === 'production' ? 'production' : 'staging', //default: will use staging urls
});

Using as request-promise

const options = {
  qs: {
    limit: 2,
  },
};
thubSDK.get('http://hotel.stg.travelhubapi.com.br/v1/locations/sao', options)
  .then((response) => {
    const locations = response.body;
  });

See documentation

Using facilitators

HotelSDK

Example

//sending a booking request

// #1 search locations with hotels in São Paulo
thubSDK.hotel.getLocations({description: 'sao paulo', limit: 1})
  .then(function (result) {
    const locations = result.content;
    const location = locations.items[0];
    const params = {
      locationId: location.id,
      checkIn: '2016-08-30',
      checkOut: '2016-08-31',
      rooms: [
        {
          adt: 1,
          chd: 1,
          bed: 'Double',
          chdAges: [3]
        }
      ]
    };
// #2 search availability of hotels as needs
    return thubSDK.hotel.getAvailabilities(params);
  })
  .then(function (result) {
    const availabilities = result.content;
    const hotel = availabilities.items[0].hotels.items[0];
    const accommodation = hotel.accommodations.items[0];

    accommodation.guests = {
      "items": [
        {
          "firstName": "Fulano",
          "lastName": "de Tal",
          "document": {
            "type": "IndividualRegistrationCode",
            "number": "12345678910"
          },
          "gender": "Male",
          "guestType": "Adt",
          "birthDate": "1988-07-27"
        },
        {
          "firstName": "Siclana",
          "lastName": "de Tal",
          "gender": "Female",
          "guestType": "Chd",
          "birthDate": "2013-11-20"
        }
      ]
    };
    hotel.accommodations.items = [accommodation];
    const booking = {
      checkIn: '2016-08-30',
      checkOut: '2016-08-31',
      hotel: hotel,
      vendor: {
        id: "marcos.rava@flytour.com.br"
      },
    };
// #3 send a booking request for the selected hotel
    return thubSDK.hotel.book(booking)
  })
  .then(function (result) {
    console.log(result);
    return result;
  })
  .catch(function (err) {
    console.error(err.statusCode);
    throw err;
  });

See documentation

For more details please check the full documentation