Your appointments page is where customers schedule service. This blueprint uses a ScheduleAction inside potentialAction so AI systems know your shop accepts online bookings and can direct users to your scheduling URL when they ask "book an oil change appointment near me."
Booking convenience is a competitive advantage. When AI recommends auto shops, the ones that accept online appointments get preferred placement because AI can complete the user's intent — not just find a shop, but help the user schedule service.
potentialAction field on the business node declares that scheduling is available. A ScheduleAction with a target URL tells AI exactly where the booking form lives.target property points to your scheduling URL. This is the link AI will use or display when a user asks to book an appointment.object references inside the action. This lets AI know which services are schedulable.openingHoursSpecification tells AI when appointments can be booked. If your online scheduling is 24/7 but your shop hours differ, include both.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 Automotive Business Appointments 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. Appointments page description 2. Appointments page title 3. Bookable service description 4. Bookable service name 5. Business name 6. City 7. Domain 8. Faq answer 9. Faq question 10. Phone number 11. Saturday close 12. Saturday open 13. State 14. Street address 15. Weekday close 16. Weekday open 17. 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 Automotive Business Appointments" - 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. This block goes in the <head> of your appointments or scheduling page.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "AutomotiveBusiness",
"@id": "https://YOUR_DOMAIN.com/#organization",
"name": "YOUR_BUSINESS_NAME",
"url": "https://YOUR_DOMAIN.com",
"telephone": "YOUR_PHONE_NUMBER",
"address": {
"@type": "PostalAddress",
"streetAddress": "YOUR_STREET_ADDRESS",
"addressLocality": "YOUR_CITY",
"addressRegion": "YOUR_STATE",
"postalCode": "YOUR_ZIP",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "YOUR_WEEKDAY_OPEN",
"closes": "YOUR_WEEKDAY_CLOSE"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "YOUR_SATURDAY_OPEN",
"closes": "YOUR_SATURDAY_CLOSE"
}
],
"potentialAction": {
"@type": "ScheduleAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://YOUR_DOMAIN.com/appointments/",
"actionPlatform": [
"https://schema.org/DesktopWebPlatform",
"https://schema.org/MobileWebPlatform"
]
},
"object": {
"@type": "Service",
"name": "YOUR_BOOKABLE_SERVICE_NAME",
"description": "YOUR_BOOKABLE_SERVICE_DESCRIPTION"
}
}
},
{
"@type": "WebPage",
"@id": "https://YOUR_DOMAIN.com/appointments/",
"name": "YOUR_APPOINTMENTS_PAGE_TITLE",
"description": "YOUR_APPOINTMENTS_PAGE_DESCRIPTION",
"isPartOf": {
"@id": "https://YOUR_DOMAIN.com/#website"
},
"breadcrumb": {
"@id": "https://YOUR_DOMAIN.com/appointments/#breadcrumb"
}
},
{
"@type": "BreadcrumbList",
"@id": "https://YOUR_DOMAIN.com/appointments/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://YOUR_DOMAIN.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Appointments",
"item": "https://YOUR_DOMAIN.com/appointments/"
}
]
},
{
"@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"
}
}
]
}
]
}
ScheduleAction is a Schema.org action type that tells AI your business accepts appointment bookings at a specific URL. When AI knows you offer online scheduling, it can surface your shop higher for booking-intent queries and even provide a direct link to your scheduling form.
Yes. You can include an array of Service objects inside the object property. List each service that can be booked online — oil change, brake inspection, tire rotation — so AI can match the right service to the user's specific request.
Include it on both. The homepage is where AI first discovers your business, so having potentialAction there tells it right away that scheduling is available. The appointments page reinforces this with a dedicated WebPage node and the full scheduling details.