When someone asks AI "Can I make a reservation at this bar?", the answer depends on your structured data. This blueprint uses acceptsReservations and ReserveAction so AI can confirm availability and link directly to your booking flow.
AI systems look for these signals on a bar or pub reservations page:
acceptsReservations set to true tells AI your bar takes reservations, which is not always obvious for bars.potentialAction with a ReserveAction gives AI a direct link to your reservation system so it can guide users to book.target inside ReserveAction points to your booking page or third-party reservation platform.BarOrPub node ties the reservation capability back to your specific venue.WebPage and BreadcrumbList position the reservations page within your site hierarchy.Each field in the template below serves a specific role in how AI systems discover, classify, and recommend your business.
Researched and tested by Minnesota AI
nameurltelephoneaddressopeningHoursSpecificationCopy this prompt and paste it into Claude, ChatGPT, Cursor, or any AI coding tool. It will ask for your business details and generate ready-to-use JSON-LD schema for your page.
You are implementing AIFDS-compliant JSON-LD structured data for a Bar or Pub Reservations page. AIFDS (AI-Friendly Data Structure) is a schema framework built on research into which structured data fields AI systems actually read, parse, and use when deciding whether to cite a page. Documentation at aifds.org. Before generating any code, ask me for the following information in a single numbered list. Do not generate schema until I have answered every required field. REQUIRED — do not proceed without these: 1. Bar name 2. City 3. Country 4. Domain 5. Faq answer 6. Faq question 7. Phone number 8. State 9. Street address 10. Weekday close 11. Weekday open 12. Weekend close 13. Weekend open 14. Zip OPTIONAL — ask for these but proceed if I skip them: 1. Any additional details not covered above Once I provide the information, output a complete JSON-LD script block ready to paste into the <head> of my HTML page. Output requirements: - Valid JSON-LD wrapped in <script type="application/ld+json"> tags - schema.org vocabulary only - Every AIFDS-required field for this industry and page type included - Include this data attribute on the script tag: data-aifds="aifds.org Bar or Pub Reservations" - No placeholder text — omit missing optional fields rather than fill with examples - After the code block, list any optional fields skipped that would strengthen AI citation
Generated schema follows the AIFDS framework. Fields were selected based on research into AI crawler behavior. View the research at minnesota.ai
Copy the template below and replace every YOUR_* value with your own data.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "BarOrPub",
"@id": "https://YOUR_DOMAIN.com/#bar",
"name": "YOUR_BAR_NAME",
"url": "https://YOUR_DOMAIN.com/",
"telephone": "YOUR_PHONE_NUMBER",
"acceptsReservations": true,
"address": {
"@type": "PostalAddress",
"streetAddress": "YOUR_STREET_ADDRESS",
"addressLocality": "YOUR_CITY",
"addressRegion": "YOUR_STATE",
"postalCode": "YOUR_ZIP",
"addressCountry": "YOUR_COUNTRY"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "YOUR_WEEKDAY_OPEN",
"closes": "YOUR_WEEKDAY_CLOSE"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Friday", "Saturday"],
"opens": "YOUR_WEEKEND_OPEN",
"closes": "YOUR_WEEKEND_CLOSE"
}
],
"potentialAction": {
"@type": "ReserveAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://YOUR_DOMAIN.com/reservations/",
"actionPlatform": [
"http://schema.org/DesktopWebPlatform",
"http://schema.org/MobileWebPlatform"
]
},
"result": {
"@type": "Reservation",
"name": "Table Reservation at YOUR_BAR_NAME"
}
}
},
{
"@type": "WebPage",
"@id": "https://YOUR_DOMAIN.com/reservations/",
"name": "Reservations — YOUR_BAR_NAME",
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
},
"breadcrumb": {
"@id": "https://YOUR_DOMAIN.com/reservations/#breadcrumb"
}
},
{
"@type": "BreadcrumbList",
"@id": "https://YOUR_DOMAIN.com/reservations/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://YOUR_DOMAIN.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Reservations",
"item": "https://YOUR_DOMAIN.com/reservations/"
}
]
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_1",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_1"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_2",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_2"
}
},
{
"@type": "Question",
"name": "YOUR_FAQ_QUESTION_3",
"acceptedAnswer": {
"@type": "Answer",
"text": "YOUR_FAQ_ANSWER_3"
}
}
]
}
]
}
Still set acceptsReservations to true and note the group size policy in the page content. AI will surface that your bar takes reservations, and users will see the details when they visit the page.
Yes if you use a platform like OpenTable or Resy. The urlTemplate in ReserveAction should point to wherever users actually complete the reservation, whether that is your own site or a third-party tool.
Set acceptsReservations to false and omit the ReserveAction. This prevents AI from incorrectly telling users they can book a table at your bar.