We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Event calendar pages with an ItemList of Events, FAQs, and breadcrumb navigation.
Represents the calendar list of events on the page.
Captures each event with time, place, and offers.
Answers ticketing, streaming, and cancellation questions.
Provides navigation context to the calendar 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": "ItemList",
"@id": "https://www.example.com/events#list",
"name": "2025 Events",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"item": {
"@type": "Event",
"@id": "https://www.example.com/events/2025-03-summit#event",
"name": "Example Summit — San Francisco",
"startDate": "2025-03-18T09:00:00-07:00",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "Moscone Center",
"address": {
"@type": "PostalAddress",
"addressCountry": "US",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94103"
}
},
"offers": {
"@type": "Offer",
"price": "399.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/events/2025-03-summit/tickets"
},
"url": "https://www.example.com/events/2025-03-summit"
}
},
{
"@type": "ListItem",
"position": 2,
"item": {
"@type": "Event",
"@id": "https://www.example.com/events/2025-04-live#event",
"name": "Example Live — New York",
"startDate": "2025-04-22T10:00:00-04:00",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "Javits Center",
"address": {
"@type": "PostalAddress",
"addressCountry": "US",
"addressLocality": "New York",
"addressRegion": "NY",
"postalCode": "10001"
}
},
"offers": {
"@type": "Offer",
"price": "0.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/events/2025-04-live/register"
},
"url": "https://www.example.com/events/2025-04-live"
}
}
]
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Are sessions streamed?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. All keynotes are streamed for registered attendees. Session replays are posted within 48 hours."
}
},
{
"@type": "Question",
"name": "What is the refund policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Refunds are available up to 14 days before the event. After that, you can transfer your ticket to another attendee."
}
},
{
"@type": "Question",
"name": "Do I need separate tickets for workshops?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Workshops require an add-on ticket when registering. Check the event page for availability and pricing."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Events", "item": "https://www.example.com/events" }
]
}
]Include one Event per listing visible on the calendar page. Keep dates, locations, and ticket URLs consistent with the UI.
Yes. Set location to a VirtualLocation with an appropriate URL if it’s online-only, and keep offers aligned to the registration path.