# AgentBookable > One booking interface for AI agents. Businesses connect the diary they already use (via Composio-backed connectors such as Cal.com, eTermin, ScheduleOnce, Planyo, and more). AI assistants discover them, check live availability, and create real appointments — with consent-bound, audited booking authorization. Provider identities are never exposed to agents. This site is production. Bookings created through the API/MCP are real appointments in the business's booking calendar. ## How agents interact Preferred: MCP (Model Context Protocol) — connect an MCP client to `https://agentbookable.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no authentication required for the current MVP). Also available: REST + OpenAPI 3.0 — any HTTP-capable agent can call the documented endpoints directly. ## Booking workflow (do this in order) 1. Find businesses: search the registry by text, category, city, service or geo radius. 2. Read the business record: `capabilities` state what is possible — never promise reschedule/cancel/payment when the flag is false. 3. List services: each service carries `bookingRequirements` (e.g. customer phone required) — collect required details from the user BEFORE proposing a booking. 4. Check live availability: slots are temporary (~60s TTL) and revalidated at booking time. 5. Prepare a booking draft: the concrete proposal (business, service, time, customer) to show the user. 6. Show the draft and get explicit affirmative user consent ("yes, book it" — any natural-language yes; no magic keyword). Consent binds to that exact draft. 7. Assert consent and book: a single-use, 15-minute mandate is issued bound to the draft; AgentBookable revalidates availability immediately before the provider mutation. 8. If the slot was taken: you receive SLOT_NO_LONGER_AVAILABLE with alternatives — fetch fresh availability and get FRESH consent for a replacement. Never rebook unilaterally. ## Key links - [Agent card (A2A-style discovery)](https://agentbookable.com/.well-known/agent-card.json): machine-readable site capabilities and interface URLs - [OpenAPI 3.0 contract](https://agentbookable.com/openapi.json): the full public booking API — interactive docs at /docs - [Business registry search](https://agentbookable.com/api/registry/businesses): JSON list of published businesses with capabilities and links - [MCP endpoint](https://agentbookable.com/mcp): Streamable HTTP MCP server — tools: find_businesses, get_business, list_services, get_availability, prepare_booking, create_mandate_for_draft, create_booking, get_booking - [Find page (human/agent HTML)](https://agentbookable.com/find): server-rendered list of published businesses - [Business onboarding](https://agentbookable.com/onboard): connect a booking system and publish services for AI booking ## Published businesses - [AgentBookable Demo](https://agentbookable.com/b/agentbookable-demo): Consultant demo in London (Europe/London). Consultation (30 min) and 15 min meeting. Machine record: https://agentbookable.com/api/registry/businesses/agentbookable-demo ## Rules of engagement - Respect `capabilities`: do not offer reschedule/cancel/payment when the flag is false — the action will be rejected (e.g. CANCELLATION_NOT_ALLOWED). - Collect required customer details (name/phone per service requirements) before asking for consent. - Always create a mandate after the user consents to the exact draft; consent is audited with your actorRef. - Use an idempotencyKey on create_booking so transport retries never double-book. - Rate limits: 20 booking mutations/hour, 120 discovery reads/hour per client. Exceeding returns 429 RATE_LIMITED.