The profile
Fill in the Profile tab: what you do, where, hours, contact details, proof, a map pin and your logo. Preview it, then publish. It goes live at oftheard.in/p/your-name as plain HTML with the details as schema.org structured data and an llms.txt beside it, because the crawlers that feed the AI assistants read HTML and run no scripts. Only what you filled in is shown; nothing is invented. The same details are worth putting on your own site, which is what the assistants read most.
The booking page
Turn on online bookings under Hours & bookings and the profile gets a booking page at /p/your-name/book. It works with no script: the customer picks how long, the day and the time, and leaves a name, phone, email and an optional note.
- Hours: open days and hours for the week, dates that differ, and holidays.
- Slots: the lengths a customer may book (15 minutes to 4 hours), how starts are spaced, the gap between bookings, and how many bookings a slot holds.
- Notice: how much notice you need and how far ahead a customer may book. Times are in your time zone, India by default.
- Confirming: you confirm each request, the default, or requests are confirmed at once.
You get an email for every request and confirm or decline it under Booking requests; the customer is emailed at each step. Two people cannot take the same slot.
Your own system
Optionally, give a check address and a booking address on your own system. Before a slot is taken Oftheard asks the first whether it is free; after, it sends the booking to the second, whose answer (confirmed, declined or pending) decides. Every call is signed with an HMAC of the body under your signing secret, in the X-Oftheard-Signature header. On an agency’s client this part stays with the agency.
Agents and apps: the booking API
The booking page is open to software too: an AI agent or an app can see the free times and book one for a customer, with no key, as on the page. The business is named by its profile address.
| Request | What it does |
|---|---|
GET /api/book/<name> | What can be booked: the lengths, the time zone, how far ahead, the next open dates and what it asks for. |
GET /api/book/<name>/slots?date=&duration= | The free start times on a date. |
POST /api/book/<name> | { start, duration, name, email, phone, note } asks for a time; the reply is the request with its state. |
GET /api/book/<name>/status?id=&token= | Where a request stands: waiting, confirmed, declined or cancelled. |
POST /mcp/<name> | The same as MCP tools, over JSON-RPC: get_booking_options, check_availability, book_appointment and get_booking_status. |
Requests to book are limited per address, and the business confirms or declines each one unless it has chosen to confirm at once. The booking page itself says where an agent can book.
Plans and agencies
The pricing page lists the profile with its appointment page among what Starter and Growth include. For an agency’s client, the profile goes public and bookings open only after the owner has agreed; see agency accounts.