We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.
Wedding venue landing pages with Place + Offer context, FAQs, and breadcrumb navigation.
Anchors the venue’s identity, location, and contact details.
Describes the booking offer/package with price and CTA URL.
Answers questions about capacity, policies, and availability.
Provides navigation context to the venue 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": "Place",
"@id": "https://www.example.com/venues/riverhouse#venue",
"name": "Riverhouse Wedding Venue",
"url": "https://www.example.com/venues/riverhouse",
"telephone": "+1-503-555-0147",
"image": "https://www.example.com/images/riverhouse.webp",
"address": {
"@type": "PostalAddress",
"streetAddress": "200 Riverside Dr",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97204",
"addressCountry": "US"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "128"
}
},
{
"@context": "https://schema.org",
"@type": "Offer",
"@id": "https://www.example.com/venues/riverhouse#offer",
"name": "Riverhouse Wedding Package",
"price": "5800.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/venues/riverhouse#book",
"category": "WeddingVenuePackage",
"itemOffered": { "@id": "https://www.example.com/venues/riverhouse#venue" },
"description": "Full-day venue rental, on-site coordination, tables/chairs, and bridal suite access."
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is the capacity?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Up to 180 seated guests indoors and 220 with tented outdoor space."
}
},
{
"@type": "Question",
"name": "Can we bring our own catering?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Choose from our preferred list or bring your own licensed caterer with proof of insurance."
}
},
{
"@type": "Question",
"name": "Is there on-site parking?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, 80 on-site spaces plus valet options for larger parties."
}
}
]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
{ "@type": "ListItem", "position": 2, "name": "Venues", "item": "https://www.example.com/venues" },
{ "@type": "ListItem", "position": 3, "name": "Riverhouse", "item": "https://www.example.com/venues/riverhouse" }
]
}
]Yes. Use one Offer per package, each pointing to the same Place via itemOffered.@id and unique @id values.
If no price is shown, omit price fields and keep availability/url aligned to the visible CTA for quote requests.