LocationFeatureSpecification
LocationFeatureSpecification is the PropertyValue subtype specialised for the amenityFeature of a place: "Wi-Fi (free)", "Indoor pool (6am–10pm)", "Pet-friendly", "Parking (Monday–Friday only)". It's what powers Google's hotel and rental amenity icons.
Full example of schema.org/LocationFeatureSpecification json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Hotel",
"name": "Dunmore Harbour Inn",
"amenityFeature": [
{
"@type": "LocationFeatureSpecification",
"name": "Free Wi-Fi",
"value": true
},
{
"@type": "LocationFeatureSpecification",
"name": "Indoor pool",
"value": true,
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"opens": "06:00",
"closes": "22:00",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
}
},
{
"@type": "LocationFeatureSpecification",
"name": "Pet-friendly",
"value": true,
"validFrom": "2026-01-01"
},
{
"@type": "LocationFeatureSpecification",
"name": "Outdoor pool",
"value": true,
"validFrom": "2026-05-15",
"validThrough": "2026-09-15"
}
]
}
</script>Direct properties (3)
hoursAvailable: an OpeningHoursSpecification block describing when the amenity is available.validFrom: ISO date/datetime when the amenity first becomes available (new pool opens date).validThrough: ISO date/datetime when the amenity becomes unavailable (seasonal pool closes).
It inherits name, value (commonly a Boolean for yes/no amenities), and description from PropertyValue. Use name for the amenity label, value for the yes/no flag or scalar, and hoursAvailable for time constraints.
Typical usage
LodgingBusinesses publish an array of LocationFeatureSpecification under amenityFeature. Google's Hotel property attributes pulls from this: each feature matches a known Google amenity code via the name. Include as many as apply to boost match rate.
Minimal valid version
The smallest markup that still produces a valid LocationFeatureSpecification entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocationFeatureSpecification",
"name": "Free Wi-Fi",
"value": true
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsHotel property attributesprimary
Common LocationFeatureSpecification mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Amenity label in a description
Wrongdescription: "Free Wi-Fi, indoor pool"RightSeparate LocationFeatureSpecification blocks in the amenityFeature arrayFree-text descriptions do not match Google's amenity code list; structured blocks do.
- 02
hoursAvailable as a string
Wrong"hoursAvailable": "6am–10pm"RightOpeningHoursSpecification with opens, closes, dayOfWeekStructured opening hours are the only form Google reads for amenity-availability filtering.
- 03
Seasonal amenity without validThrough
WrongOutdoor pool listed year-roundRightvalidFrom + validThrough for seasonal amenitiesListing a closed amenity wastes the signal and frustrates guests who book expecting access.
Schema properties in this example
Also mentioned in 37 other examples
LocationFeatureSpecification also appears in Accommodation, Airport, Apartment, Beach, CafeOrCoffeeShop, Campground, CampingPitch, Cemetery, and 29 more. See the full LocationFeatureSpecification schema page for every reference.
About the example data
Dunmore Harbour Inn amenities: free Wi-Fi, indoor pool (6am–10pm daily), complimentary breakfast (7–10am weekdays, 8–11am weekends), pet-friendly.
Comments
Loading comments...