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.
