Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Documentation

Bookrail is booking infrastructure: availability, resources, holds, bookings, policies and the events they emit, behind one HTTP API. It is the layer under a booking product, not the product.

The engine, the API, the CLI, the MCP server and the TypeScript SDK are written and tested against real Postgres. What does not exist yet, and is not documented as if it did:

  • No way to get a key. api.bookrail.dev is up and is the address in the servers block of the OpenAPI document, but there is no dashboard and no sign-up: keys are issued by hand. Ask for one on the early access page.
  • No payments. payment.mode other than none is refused with not_yet_supported, and amount_due is always 0.
  • No rate limiting, and no scope enforcement: API key scopes are stored but not checked.

Every instant on the way in carries an explicit offset; every instant on the way out is UTC. Identifiers are prefixed, and the prefix says what the object is. Amounts are integers in the minor unit of their currency. Lists are cursored, never offset, and never carry a total. Every POST accepts an Idempotency-Key, and the same key within 24 hours replays the same response.