# Bookrail > Booking infrastructure for developers: availability, resources, holds, bookings, policies and webhooks behind one API. Capacity is enforced by Postgres, not by application code. - Every page written in markdown is served as markdown at the same URL with `.md` on the end. - The repository is not public yet and the packages are not on npm yet: /docs/open-source/ says when. - The API reference pages are generated from the OpenAPI document: read /openapi.json instead. - Instants in carry an explicit offset, instants out are UTC. Identifiers are prefixed. - Amounts are integers in the minor unit. Lists are cursored, never offset, and carry no total. ## Documentation - [Documentation](https://bookrail.dev/docs/index.md): What Bookrail is, what exists today, and where each piece is documented. - [Quickstart](https://bookrail.dev/docs/quickstart.md): From an API key to a confirmed booking, with the CLI, the SDK or plain HTTP. Every command on this page was run against the production API and timed. - [Concepts](https://bookrail.dev/docs/concepts.md): The Bookrail data model for the person building on it: location, resource, schedule, service, policy, customer, hold, booking, event and webhook, with figures. - [Entity reference](https://bookrail.dev/docs/entities.md): Every entity and the fields it carries, in the words of the CLI reference. - [Configuration](https://bookrail.dev/docs/configuration.md): bookrail.config.ts, the booking model as code, and what push does with it. - [The edge cases of booking](https://bookrail.dev/docs/edge-cases.md): Twenty-one things that go wrong in booking systems, what Bookrail does about each one, and the test in the repository that proves it. - [API](https://bookrail.dev/docs/api.md): The short form of the HTTP API: headers, endpoints, pagination, idempotency. - [SDK for TypeScript](https://bookrail.dev/docs/sdk.md): The @bookrail/node client: install, configure, retries, idempotency, pagination, errors, webhooks. - [Errors](https://bookrail.dev/docs/errors.md): Every error code, its type, when it happens, and the exit codes of the CLI. - [Time zones](https://bookrail.dev/docs/guides/time-zones.md): Local schedules, UTC instants, and what happens on the night a clock changes. - [Webhooks](https://bookrail.dev/docs/guides/webhooks.md): Register an endpoint, verify the signature, understand the retry ladder, replay a delivery, and the SSRF rule that decides which URLs are allowed. - [Idempotency](https://bookrail.dev/docs/guides/idempotency.md): How Idempotency-Key works on every POST, why the key is taken rather than checked, what a retry gets back, and how to choose a key. - [Policies](https://bookrail.dev/docs/guides/policies.md): Cancellation tiers, reschedule fees, no show charges and deposits, how the policy is frozen into the booking, and what happens when there are no payments. - [Coding agents](https://bookrail.dev/docs/guides/agents.md): Build a booking flow with a coding agent: the MCP server, the CLI, the guardrails that stop it doing damage, and one example that runs end to end against the API. - [CLI basics](https://bookrail.dev/docs/cli-basics.md): The loop, where the key comes from, the output envelope and the exit codes. - [For AI agents](https://bookrail.dev/docs/for-ai-agents.md): Install the CLI and the MCP server, the order of operations that works, the output conventions, the exit codes, and one end to end example. - [CLI](https://bookrail.dev/docs/cli.md): Every command of the Bookrail CLI, from its own --help. - [Rules an agent can rely on](https://bookrail.dev/docs/agents.md): The seven rules the CLI is built to, and the things that will bite. - [MCP](https://bookrail.dev/docs/mcp.md): Every tool of the Bookrail MCP server, read from the server itself. - [Open source](https://bookrail.dev/docs/open-source.md): Apache 2.0, what is open and what is not, and where the repository is today. ## Blog - [The booking engine you should not have to write again](https://bookrail.dev/blog/the-booking-engine-you-should-not-have-to-write-again.md): Every booking product is the same product underneath. Bookrail is the open source layer under it: what it guarantees, where the guarantees live, and what does not exist yet. ## Machine readable - [OpenAPI 3.1 document](https://bookrail.dev/openapi.json): every operation of the API, generated from the schemas that validate each request. - [MCP tools](https://bookrail.dev/mcp/tools.json): every tool of the Bookrail MCP server, with its input schema and annotations. - [Everything above in one file](https://bookrail.dev/llms-full.txt)