Skip to content

Now accepting pilot properties for gohotel AI Voice.

Apply

Developers

An API you can build a hotel on.

gohotel is API-first by construction, not by marketing. These are the endpoints and events our own consoles use — the examples below are illustrative, with synthetic properties and identifiers.

Principles

How the API behaves.

  • API before UI

    Every action a screen can take, an API can take. Our own consoles are clients of the same endpoints you get.

  • Idempotent writes

    Reservation and request creation accept an idempotency key. A retried call never produces a duplicate booking.

  • Signed webhooks

    Every event carries an HMAC signature and a timestamp. Replays outside the tolerance window are rejected.

  • Retries with dead letters

    Failed deliveries retry with exponential backoff, then land in a dead-letter queue your team can see and replay.

  • Versioned and additive

    Breaking changes get a new version. Within a version, fields are added, never repurposed or removed.

  • Sandbox first

    A sandbox property with synthetic data and a test phone number, so integration work never touches a live guest.

Endpoints

Request and response, side by side.

Ten representative calls covering availability, reservations, requests, call records, knowledge and health.

Check availability

What can the agent sell for these dates, at what rate, under which policy.

Request

GET /v1/availability?property=aurora-grand-seoul
  &arrival=2026-09-14&departure=2026-09-16&adults=2

Authorization: Bearer <token>

Response

{
  "property": "aurora-grand-seoul",
  "nights": 2,
  "currency": "KRW",
  "offers": [
    {
      "room_type": "deluxe_king",
      "name": "Deluxe King",
      "available": 6,
      "rate_plan": "flex",
      "nightly": 268000,
      "taxes_included": false,
      "policy": "free_cancel_until_18h"
    },
    {
      "room_type": "executive_twin",
      "name": "Executive Twin",
      "available": 2,
      "rate_plan": "flex",
      "nightly": 352000,
      "taxes_included": false,
      "policy": "free_cancel_until_18h"
    }
  ]
}

Webhooks

Events your systems can subscribe to.

Signed with HMAC-SHA256 over a timestamped payload, retried with backoff, and replayable from the dead-letter queue.

  • call.startedA call has been answered by an agent.
  • call.completedCall ended. Transcript, summary, outcome and intents attached.
  • call.transferredThe agent handed the call to a person, with the reason.
  • reservation.createdA booking was created from a call.
  • reservation.updatedA booking was changed or cancelled within policy.
  • request.createdA guest request was raised and routed to a department.
  • request.assignedA staff member accepted ownership.
  • request.completedThe task was closed, with elapsed time against SLA.
  • request.escalatedAn SLA breach or a rule sent the task up the chain.
  • approval.requestedAn action needs a human decision before it proceeds.

Getting access

API credentials are issued per property and per environment. Tell us which systems you need to read from and write to, and we will send sandbox keys and the current specification — including the fields not shown on this page.

Your hotel is already receiving calls.
Now let every call become service.

Pilot properties are being accepted now. A voice-only pilot on one property starts with your existing phone number and your existing systems.

The hotel that answers.