canonical: https://jentic.com/apis/impala.travel/impala-hotel-booking-api

# Impala Travel Impala Hotel Booking API

The Impala Hotel Booking API lets developers add room booking and hotel content to apps without integrating with each property directly. Across 10 endpoints it covers hotel listings, rate plans, booking creation, modification, and cancellation, with separate sandbox and production servers. Authentication uses an x-api-key header for hotel and booking calls, plus a bearer JWT for the payment authorisation flow. The API is positioned for travel marketplaces, OTAs, and embedded booking widgets.

## For AI agents

Search hotels, retrieve rate plans, and create or cancel hotel bookings. Useful for travel agents, booking workflows, and hotel commission flows.

## Scope

Does not handle flight bookings, ground transport, or activities - use for hotel content, rate plans, and reservation lifecycle only.

## Capabilities

- Search hotels and retrieve detailed property content including amenities and imagery
- Pull rate plans and availability calendars for individual hotels
- Create new bookings with guest details and selected rate plan
- Modify the booking contact on a confirmed reservation
- Cancel an existing booking and trigger refund flows where applicable
- Authenticate payment intent with a JWT for secure card capture

## Use cases

### OTA Booking Integration

Plug Impala into an online travel agency or marketplace to expose hotel inventory and accept bookings end-to-end. The API delivers hotel content, rates, and booking creation in two main calls, so a working booking flow can be live in hours rather than the weeks usually needed for direct hotel integrations.

Example prompt: Search hotels in Barcelona for check-in 2026-07-12 and check-out 2026-07-14, list the cheapest rate plan for each hotel, and create a booking for the top result for two adults.

### Travel Concierge Agents

Power AI travel concierges that can answer hotel availability questions and confirm bookings on behalf of users. The agent calls the hotels and rate plans endpoints to compare options, then creates or cancels a booking through the bookings endpoints with full guest details.

Example prompt: Given a user's destination and dates, retrieve the top three hotels with available rates under 200 EUR per night and confirm a booking on user approval.

### Hotel Portfolio Expansion

Travel apps that already sell flights or experiences can add hotel inventory by integrating Impala. The hotels and rate-plans endpoints provide marketing content and pricing in a single, normalised schema so the app does not need to negotiate channel manager integrations with each property.

Example prompt: Pull the full hotel list from the sandbox account and import each hotel's name, amenities, and base rate into a local catalogue table.

### Booking Cancellation Automation via Jentic

Customer support agents triggered through Jentic can cancel an Impala booking without an operator opening the dashboard. The agent looks up a booking by id, confirms cancellation policy, and executes DELETE on the booking, returning the cancellation reference to the user.

Example prompt: Cancel booking id BKG-19283 and return the cancellation timestamp to the support ticket.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/hotels` | List all hotels |
| GET | `/hotels/{hotelId}` | Retrieve a single hotel with content |
| GET | `/hotels/{hotelId}/rate-plans` | List rate plans for a hotel |
| POST | `/bookings` | Create a booking |
| GET | `/bookings/{bookingId}` | Retrieve a booking |
| PUT | `/bookings/{bookingId}` | Modify a booking |
| DELETE | `/bookings/{bookingId}` | Cancel a booking |

## Key resources

- **Hotels** — List and retrieve hotels with content, amenities, and rate plan references
- **Rate Plans** — Pull rate calendars and pricing for a specific hotel and rate plan
- **Bookings** — Create, retrieve, modify, and cancel hotel bookings
- **Booking Contact** — Update the guest contact on an existing booking
- **Payments** — JWT-authenticated payment intent flow for card capture

## Why Jentic

- **Setup:** Wiring the Impala Hotel Booking API by hand means sending both an x-api-key header and a payment bearer JWT, choosing between the sandbox and production hosts, and managing the reservation lifecycle yourself. Through Jentic you install once, import the Impala Hotel Booking API from the API Directory, store the key and payment token once, and your agent calls it.
- **Permission scoping:** Impala puts the hotel id and booking id in the URL path (`/hotels/{hotelId}/rate-plans`, `/bookings/{bookingId}`), so a rule can pin your agent to one booking. You choose the operations it may call, so destructive ones like cancelling a booking are not included unless you add them.
- **Credential handling:** Your Impala x-api-key and payment JWT are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a hotel booking' or 'look up rate plans', and Jentic returns the matching Impala operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Impala Hotel Bookings API v2** — Newer v2 API from Impala with a streamlined hotel and booking surface
- **Booking.com** — Major OTA with a much broader hotel inventory and affiliate booking flow
- **Amadeus Airport and City Search** — Airport and city lookup to enrich destination input before searching Impala hotels

## FAQ

### What authentication does the Impala Hotel Booking API use?

The hotel and booking endpoints require an x-api-key header issued by Impala. The payment authorisation endpoint additionally requires a bearer JWT. Through Jentic, both credential types are stored in the encrypted vault and injected at execution time, so the agent never sees the raw API key.

### Can I cancel a booking through the Impala Hotel Booking API?

Yes. Issue DELETE `/bookings/{bookingId}` with the booking id. The response confirms the cancellation; refund handling depends on the rate plan policy attached to the original booking.

### What are the rate limits for the Impala Hotel Booking API?

Impala enforces per-key fair-use limits but the published spec does not declare them as hard numbers. The sandbox is forgiving for testing; production keys are throttled per account, so agents should back off on 429 responses.

### How do I create a hotel booking through Jentic?

Search Jentic for 'create a hotel booking' to find the operation backed by POST /bookings on this API. Load the schema, supply hotelId, ratePlanId, guest details, and dates, then execute. Jentic injects the x-api-key and any payment JWT at runtime.

### Does the Impala Hotel Booking API have a sandbox?

Yes. The sandbox base URL is https://sandbox.impala.travel/v1 and the production URL is https://api.impala.travel/v1. Both expose the same endpoints; the sandbox returns realistic test data so booking flows can be validated before going live.

### Can I retrieve a rate calendar for a hotel?

Yes. Use GET `/hotels/{hotelId}/rate-plans` for the full set and GET `/hotels/{hotelId}/rate-plans/{ratePlanId}` for a specific plan. These endpoints are marked beta in the spec, so schema fields can change.

### Can I limit what my agent is allowed to do with the Impala Hotel Booking API?

Yes. Because Jentic One is self-hosted, your own rules decide which Impala operations and credentials the agent may use, so you can grant read-only calls like GET /hotels and GET `/hotels/{hotelId}/rate-plans` while withholding destructive ones such as DELETE `/bookings/{bookingId}.` Impala puts the hotel id and booking id in the URL path, so a rule can pin the agent to a single hotel or a single booking. Cancellation and booking creation are only available to the agent if you explicitly add them.
