Halois CoDocs
Dashboard

Travel insurance

Family rooms, adults-only retreats and pet-friendly stays in one search. Every hotel on our list is visited and reviewed by our own travel team.

11 min read Updated Jun 7, 2026 v4.7.1

Overview

Our travel experts are on call around the clock while you are away. Friendly people answer your questions quickly, by phone, chat or email. Travel insurance and car rental can be added in a single click. Our team has done this many times, so you never have to guess.

Installation

Install the SDK with the package manager your project already uses. It needs Node 18 or newer.

terminal
$ npm install @halois-co/sdk
terminal
$ yarn add @halois-co/sdk
terminal
$ pnpm add @halois-co/sdk
Using a server without Node? The same endpoints are available over plain HTTPS; see the API reference below.

Configuration

From city breaks to safaris, we plan trips around how you like to travel. Members get room upgrades and late check-out at selected hotels. Create a file named halois-co.config.json in the project root:

halois-co.config.json
{
  "project": "halois-co",
  "region": "ap-south",
  "categories": ["beach", "city", "mountain"],
  "retries": 5,
  "timeoutMs": 3000,
  "webhooks": { "enabled": true }
}
OptionTypeDefaultDescription
projectstring-Your project key from the dashboard.
regionstring"us-east"Data centre closest to your travellers.
retriesnumber3How often a failed call is retried.
timeoutMsnumber10000Time before a request is cancelled.
webhooks.enabledbooleanfalseSend events to your endpoint.

Your first request

We measure success by how many travellers come back and tell their friends.

  1. Create an API keyOpen the dashboard, choose Settings › API keys and copy a new secret key.
  2. Store it safelyKeep the key in an environment variable, never in your source code.
  3. Make the callRun the snippet below; it prints the first page of results.
index.js
import { Client } from "@halois-co/sdk";

const client = new Client({ apiKey: process.env.API_KEY });

// list the newest trips in one category
const page = await client.trips.list({ category: "beach", limit: 20 });

for (const item of page.data) {
  console.log(item.name, item.price);
}
Heads up: test keys only return sample data. Switch to a live key before you go to production.

API reference

Every endpoint returns JSON and uses standard HTTP status codes.

GET/v1/tripsList trips with paging and filters.
POST/v1/tripsCreate a new trip.
PATCH/v1/trips/{id}Update some fields of a trip.
DELETE/v1/trips/{id}Archive a trip; it can be restored for 30 days.
response.json
{
  "data": [
    { "id": "trip_4040", "name": "Mountain lodge", "price": 382 }
  ],
  "has_more": true
}

Troubleshooting

Every detail is handled by people who care about getting it right. Free cancellation on most stays means you can book now and decide later.

Start in minutes and get help from a real person whenever you need it. Local guides show you the places that never make it into guidebooks.

We find the best price, and if you see it cheaper we match it. We listen first, then build a plan around what you actually need.

Next steps

Airport transfers, tours and dinners are arranged before you arrive.

Was this page helpful?
All screens