Why schema is the foundation
Schema.org JSON-LD is the structured-data layer that tells AI engines what your page is about in unambiguous, machine-readable terms. A page without schema asks the model to guess; a page with the right schema hands the model an answer.
For independent lodges, the six schema types below cover roughly 80% of the AI extraction surface. Get them deployed correctly and the citation rate from ChatGPT, Claude, and Perplexity for buyer-intent regional queries lifts measurably within four to eight weeks of indexing.
The deploy is finite work — an afternoon for a single-property B&B, a day or two for a multi-cabin cluster with a restaurant attached. The compounding return is years.
1. LodgingBusiness — on the homepage
The root schema for any accommodation property. Tells AI engines what category of business you are, where you are, and what the headline offer looks like.
{
"@context": "https://schema.org",
"@type": "LodgingBusiness",
"name": "Buttermere Crag Cabins",
"description": "Five-cabin off-grid retreat in the western Lake District National Park.",
"url": "https://buttermerecragcabins.co.uk",
"telephone": "+44 1234 567890",
"email": "stay@buttermerecragcabins.co.uk",
"address": {
"@type": "PostalAddress",
"streetAddress": "Crag Lane",
"addressLocality": "Buttermere",
"addressRegion": "Cumbria",
"postalCode": "CA13 9XX",
"addressCountry": "GB"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 54.5410,
"longitude": -3.2730
},
"priceRange": "£165–£295 per cabin per night",
"amenityFeature": [
{"@type": "LocationFeatureSpecification", "name": "Wood-burning stove", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Outdoor bath", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Dog-friendly", "value": true}
],
"petsAllowed": true,
"starRating": {"@type": "Rating", "ratingValue": "5"}
}
The fields that matter most for AI extraction: name, address, geo, priceRange, amenityFeature, petsAllowed. Get those six right and you’re 90% of the way there.
2. Room — one per room category
A separate Room (or HotelRoom) entity per category lets AI engines distinguish between the family lodge and the couples’ cabin when answering “best dog-friendly cabin in the Lakes for two.”
{
"@context": "https://schema.org",
"@type": "HotelRoom",
"name": "Crag View Cabin",
"description": "Two-person cabin with private outdoor bath and uninterrupted fell views.",
"occupancy": {
"@type": "QuantitativeValue",
"maxValue": 2
},
"bed": {
"@type": "BedDetails",
"numberOfBeds": 1,
"typeOfBed": "King"
},
"amenityFeature": [
{"@type": "LocationFeatureSpecification", "name": "Wood-burning stove", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Outdoor bath", "value": true},
{"@type": "LocationFeatureSpecification", "name": "Floor area", "value": "32 m²"}
]
}
Deploy one block per room or cabin category, embedded on its detail page.
3. Offer — per published rate
Offer schema is what AI engines pull when a traveller asks about price. Without it, the model is reading marketing prose and guessing at numbers.
{
"@context": "https://schema.org",
"@type": "Offer",
"name": "Crag View Cabin — March to October midweek",
"price": "165",
"priceCurrency": "GBP",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"price": "165",
"priceCurrency": "GBP",
"unitText": "PER NIGHT"
},
"availability": "https://schema.org/InStock",
"validFrom": "2026-03-01",
"validThrough": "2026-10-31"
}
Deploy one Offer per distinct rate-period combination. AI engines weight priceSpecification and validThrough heavily for “what does it cost in May” questions.
4. FAQPage — on FAQ and detail pages
FAQPage schema is the single highest-leverage schema type for AI citation, because it directly mirrors the question-and-answer shape AI engines render in their responses.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Are dogs allowed at Buttermere Crag Cabins?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Up to two well-behaved dogs per cabin with a £30 per stay supplement. Towels, a bowl, and treats are provided in each cabin."
}
},
{
"@type": "Question",
"name": "What's the minimum stay?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Two nights midweek, three nights for stays including a Saturday. Single-night stays available November to February only."
}
}
]
}
Build the FAQ around the questions travellers actually ask before booking. Twelve to twenty questions covers most lodges.
5. Person — on any named-host or chef bio
AI engines reward named human authority. A “Meet the Owners” page with a Person schema attached to each owner cites measurably better than an anonymous “About Us” page.
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Alice Whitelaw",
"jobTitle": "Owner and Head Chef",
"worksFor": {
"@type": "LodgingBusiness",
"name": "The Pine House"
},
"description": "Trained at St John in Clerkenwell. Twelve years cooking in restaurants across the UK and France before opening The Pine House in 2021.",
"image": "https://thepinehouse.co.uk/people/alice.jpg"
}
This is the schema type most independent operators skip — and it’s one of the easiest citation lifts available.
6. BreadcrumbList — on every interior page
BreadcrumbList tells AI engines where the page sits in the site hierarchy. It’s a small signal, but it costs almost nothing to deploy and adds context that compounds across the site.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
{"@type": "ListItem", "position": 2, "name": "Cabins", "item": "https://example.com/cabins/"},
{"@type": "ListItem", "position": 3, "name": "Crag View Cabin", "item": "https://example.com/cabins/crag-view/"}
]
}
Deploy on every interior page; skip the homepage.
Validation and testing
Two tools that should be in every operator’s bookmarks:
Google Rich Results Test (search.google.com/test/rich-results) — paste a URL or block of JSON-LD; Google reports validity and shows what would render in search.
Schema.org Validator (validator.schema.org) — broader validation against the full schema.org spec, useful for the schema types Google doesn’t surface in its rich-results coverage.
Test every page after deploy; re-test after any content update; schedule a quarterly audit to catch drift.
The whole stack — six schema types, deployed once, validated once — is the structural foundation every European lodge needs to be AI-extractable. It is not the whole job (the citation block work, the GBP optimisation, the third-party editorial citations all matter too), but without the schema layer underneath, the rest doesn’t compound.