ReserveAction Markup So AI Agents Can Book Tables, Rooms, and Appointments
Lets booking agents like ChatGPT and travel concierges know exactly where to send a reservation request.
What this signal tests
We check whether bookable pages - restaurants, hotels, clinics, consultancies, classes, events - carry a Schema.org ReserveAction descriptor that points to a real reservation endpoint. ReserveAction is the established Schema.org standard that tells AI assistants the URL to send a booking request to, along with the parameters it should include.
Why it matters for your visibility in AI
Restaurants, hotels, and service businesses have spent years investing in OpenTable, Resy, Calendly, Cal.com, and similar booking systems. ReserveAction is what connects those investments to the new generation of AI assistants. When a traveller asks ChatGPT to book dinner near their hotel, or a patient asks a health concierge agent to find an appointment this week, the agent looks for ReserveAction on your page before it considers your venue bookable. The consequence of missing it is brutal and quiet: agents simply choose competitors who have it. You will never see the lost booking in your funnel, because the agent never sent the customer to your site. Adding ReserveAction is a one-time piece of structured data that makes your existing booking system agent-visible.
Pass criteria at a glance
| Criterion | Passes when |
|---|---|
| Bookable entity declares ReserveAction with concrete URL template. |
How we test it
Our scanner identifies whether your site represents a bookable entity - Restaurant, LodgingBusiness, LocalBusiness, MedicalBusiness, or Event - by inspecting the JSON-LD on each page. When it finds one, it looks for a potentialAction property of type ReserveAction, then drills into the target to confirm it contains a real EntryPoint object with a urlTemplate pointing at your actual reservation system.
Show technical detection method
Restaurant/LodgingBusiness/LocalBusiness/MedicalBusiness/Event has potentialAction ReserveAction with target.EntryPoint.urlTemplate.
If your site fails: how to fix it
- Confirm which pages on your site represent something a customer can reserve, and note the live booking URL each one uses today (your OpenTable link, Calendly link, hotel booking engine URL, and so on).
- Add or extend the JSON-LD on each of those pages with a potentialAction of type ReserveAction whose target is an EntryPoint object pointing to the booking URL.
- Use the most specific Schema.org type available for the entity itself - Restaurant rather than LocalBusiness, MedicalClinic rather than LocalBusiness - so agents can match against booking categories.
- Test the markup with Google's Rich Results Test and the Schema.org validator, then re-run the AI Ready Test to confirm the page now passes.
- Repeat the markup across every location or service page; partial coverage means agents will only see some of your bookable inventory.
Quick facts
| Maturity | ESTABLISHED |
|---|---|
| Weight | medium |
| Category | Agent Actions |
Primary sources
Related signals
Frequently asked questions
How do I know if my customers' AI agents will visit my site?
If your customers already research restaurants, hotels, or appointments online, they will use AI booking assistants once those become embedded in everyday apps. Apple Intelligence, Google Gemini, and ChatGPT are all rolling out booking workflows. Sites with ReserveAction are the ones those workflows quote first.
Does this replace OpenTable or Calendly?
No. ReserveAction points to your existing booking system. It is a thin layer of markup that makes OpenTable, Resy, Cal.com, Calendly, or any other reservation engine visible to AI agents. You keep your provider; you just publish the booking URL in a machine-readable form.
Does this cost anything to implement?
ReserveAction itself is free - it is an open Schema.org standard. The implementation cost is a one-time developer task, usually under an hour per page template. Some booking providers, such as Cal.com and OpenTable, document recommended ReserveAction snippets you can copy directly.
Will agents actually trust the booking URL I publish?
Yes, when it is published in valid JSON-LD on the same domain as the service entity. Agents treat ReserveAction targets like any other Schema.org assertion and validate by fetching the URL. Keep the urlTemplate stable; if you change booking providers, update the markup.
Run your own scan
Run a free scan and see how your site grades across all 155 AI-readiness signals.