Skip to content
Structured Data 2 min read

What schema should hotels use?

Short answer

Most hotels should mark up their main property page with the schema.org Hotel type (or LodgingBusiness for accommodation that isn't a hotel, such as a B&B or guest house, where more specific types like BedAndBreakfast exist). Include your name, address, telephone, URL, geo coordinates, check-in and check-out times, and amenities via amenityFeature — all matching what's visible on the page. Add Organization and WebSite information on the homepage and BreadcrumbList where you show breadcrumbs. Use JSON-LD, which Google recommends.

By Lodging Engine Editorial Team· Reviewed by Eric Zwanenburg· Last reviewed

Hotel or LodgingBusiness?

In schema.org, Hotel is a more specific type of LodgingBusiness, which is itself a type of LocalBusiness. Use the most specific type that accurately describes your property:

  • Hotel — hotels.
  • BedAndBreakfast, Hostel, Motel, Resort — where those fit better.
  • LodgingBusiness — when none of the specific types apply.

Core properties for a hotel

PropertyWhat it describes
nameYour hotel's real name
addressA PostalAddress with street, city, postal code, country
telephoneReception phone number
urlThe property's page
geoLatitude and longitude
checkinTime, checkoutTimePolicy times
amenityFeatureLocationFeatureSpecification items, e.g. pool, parking
petsAllowedPet policy
numberOfRoomsTotal rooms
imageRepresentative photos
starRatingOnly an official rating from a recognised rating body

Example (JSON-LD)

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Hotel Example",
  "url": "https://www.hotel-example.com/",
  "telephone": "+34 900 000 000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Calle Ejemplo 1",
    "addressLocality": "Altea",
    "postalCode": "03590",
    "addressCountry": "ES"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 38.598, "longitude": -0.051 },
  "checkinTime": "15:00",
  "checkoutTime": "11:00",
  "petsAllowed": true,
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Outdoor pool", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Private parking", "value": true }
  ]
}

Example values only — use your hotel's real details.

Amenities

Mark up amenities with amenityFeature and keep the names consistent with how they appear on the page. Only include amenities that actually exist and are visible to users.

Reviews and ratings

Google's guidelines say pages using LocalBusiness or Organization markup aren't eligible for star review rich results when the business controls the reviews about itself. Don't add self-collected review markup expecting stars. See review schema for hotels.

FAQs

Google no longer shows FAQ rich results in Search (announced May 2026) and has removed the feature's documentation. Valid FAQPage markup isn't harmful, but it won't produce a rich result — put effort into clearly answering guest questions in visible text instead. See FAQPage schema for hotels.

Common mistakes

  • Using generic Organization only, with no lodging type.
  • Marking up information that isn't on the page.
  • Self-declared star ratings.
  • Leftover markup from old themes with wrong addresses.

Checklist

  • Most specific accurate lodging type used
  • Name, address, phone, URL, geo included
  • Check-in/out and key amenities marked up
  • All values match visible content
  • JSON-LD validated with a schema testing tool

Sources

  1. Hotel — Schema.org
  2. Introduction to structured data markup in Google Search — Google Search Central
  3. Local Business (LocalBusiness) Structured Data — Google Search Central
  4. Review snippet (Review, AggregateRating) structured data — Google Search Central
  5. Google Search Central documentation updates (FAQ rich result removed; llms.txt clarification) — Google Search Central