# OpenSlot London Directory of independently owned local businesses in East London — restaurants and cafés, hair and beauty, health and fitness, and trades (plumbers, electricians and similar). AI agents can search businesses, check real availability, and send booking or call-out requests. IMPORTANT: every booking is a REQUEST. It stays `requested` until the business owner confirms (usually within the hour). Never tell a user a booking is final until get_booking_status returns `confirmed`. ## MCP server (preferred) Endpoint: https://openslot.london/mcp (Streamable HTTP) Tools: search_businesses, get_availability, request_booking, get_booking_status, cancel_booking. ## REST mirror - GET https://openslot.london/api/v1/businesses?query=...&area=...&category=... - GET https://openslot.london/api/v1/availability?business_id=...&service_id=...&from=YYYY-MM-DD&to=YYYY-MM-DD[&party_size=N] - POST https://openslot.london/api/v1/bookings - GET https://openslot.london/api/v1/bookings/{booking_id} - POST https://openslot.london/api/v1/bookings/{booking_id}/cancel ## Auth and limits Reads are open. Booking (write) calls need a free API key — email hello@openslot.london. Send it as `Authorization: Bearer ` (REST) or the `api_key` tool argument (MCP). Limits: 60 reads/minute, 5 booking requests/hour. Errors are machine-actionable: {error, message, retryable}. ## Booking shapes - APPOINTMENT (salons, physios…): book a `slot` from get_availability. - TABLE (restaurants/cafés): `slot` + `party_size`. - CALLOUT (plumbers, electricians…): no fixed slot — send `job_description`, `customer_address`, `customer_postcode` (must be in the business's service_areas) and 1–3 `preferred_windows` ({date, window: AM|PM}); the owner picks one when confirming. Times are Europe/London, up to 14 days ahead. Capability summary: https://openslot.london/.well-known/mcp.json