We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Booking pages with Service + WebApplication context, FAQs, and breadcrumb navigation.
Captures the service being booked and provider details.
Defines the booking widget or scheduling app.
Answers booking, rescheduling, and cancellation questions.
Provides navigation context for the booking page.
Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).
Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.
[
{
"@context": "https://schema.org",
"@type": "Service",
"@id": "https://www.example.com/services/consulting#service",
"name": "Strategy Consultation",
"serviceType": "Business Consulting",
"provider": { "@type": "Organization", "name": "Example Advisors" },
"areaServed": { "@type": "AdministrativeArea", "name": "US" },
"offers": {
"@type": "Offer",
"price": "0.00",
"priceCurrency": "USD",
"url": "https://www.example.com/services/consulting/book"
}
},
{
"@context": "https://schema.org",
"@type": "WebApplication",
"@id": "https://www.example.com/services/consulting/book#app",
"name": "Consultation Scheduler",
"description": "Book a 30-minute strategy consultation with our team.",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Any",
"url": "https://www.example.com/services/consulting/book",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/services/consulting/book"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How do I reschedule?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Use the confirmation email link to reschedule up to 24 hours in advance."
}
},
{
"@type": "Question",
"name": "What is your cancellation policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Cancellations within 12 hours may incur a fee. See full policy on the booking page."
}
},
{
"@type": "Question",
"name": "Do you offer virtual appointments?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Virtual appointments are available for all consultation types."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Services", "item": "https://www.example.com/services" },
{ "@type": "ListItem", "position": 3, "name": "Book Consultation", "item": "https://www.example.com/services/consulting/book" }
]
}
]If multiple services are bookable on one page, add a Service entry for each.
Yes. Keep the WebApplication URL on the booking page and include the scheduler link in offers.url.