What is HotelRoom schema?
HotelRoom schema is a schema.org type that describes a specific room or room type in a hotel, including bed type, occupancy, size and amenities.
HotelRoom is usually nested inside Hotel schema, or placed on each room type page, and can be paired with Offer markup for rates.
It helps search engines and AI tools understand the difference between your rooms, such as a twin room versus a family suite.
HotelRoom schema properties
| Property | Example |
|---|---|
| @type | HotelRoom or Suite |
| name and description | Deluxe King Room with lake view |
| bed | BedDetails with typeOfBed and numberOfBeds |
| occupancy | Maximum adults and children |
| floorSize | Room size in square metres or feet |
| amenityFeature | Balcony, kitchenette, bathtub |
| containedInPlace | Link to the Hotel entity |
How to use HotelRoom markup well
- 1Create one page per room type with real photos.
- 2Add HotelRoom markup nested in or linked to the Hotel entity.
- 3Describe beds and occupancy accurately for family and group searches.
- 4List only amenities that are truly in the room.
- 5Pair with Offer markup if you show rates on the page.
- 6Test with the Schema Markup Validator.
HotelRoom schema example
{
"@context": "https://schema.org",
"@type": "HotelRoom",
"name": "Deluxe King Room",
"bed": { "@type": "BedDetails", "typeOfBed": "King", "numberOfBeds": 1 },
"occupancy": { "@type": "QuantitativeValue", "maxValue": 2 },
"amenityFeature": [{ "@type": "LocationFeatureSpecification", "name": "Sea view", "value": true }]
}HotelRoom schema mistakes
- 1Marking up rooms that are not described on the page.
- 2Listing amenities that the room does not have.
- 3Forgetting to connect rooms to the parent Hotel entity.
- 4Leaving occupancy and bed details out.
Room pages and direct bookings
Detailed room pages with real photos, sizes, bed types and views help guests choose a room without visiting a travel agency site. Linking each room page directly to the booking engine with that room preselected makes direct booking quicker.
Why HotelRoom schema matters
HotelRoom markup describes individual room types: size, bed setup, occupancy, amenities and views. When room pages carry clear markup, search engines and AI tools can understand what each room offers and match it to specific searches, such as "hotel room with balcony and sea view" or "family room for four".
It works best when each room type has its own page with unique copy, real photos and a booking button. Markup on a single page listing every room in brief adds little.
HotelRoom schema step by step
- 1Create a page for each room type.
- 2Add HotelRoom markup with name and description.
- 3Add occupancy with maximum guests.
- 4Add bed details and floorSize.
- 5Add amenityFeature for key amenities.
- 6Link to the Hotel markup with containedInPlace.
- 7Test with the Schema Markup Validator.
Room page content to pair with markup
Room size and layout
State square metres or feet and the layout.
Real photos
Show the actual room, bathroom and view.
Booking path
A visible check availability button.
HotelRoom schema checklist
- 1One page per room type.
- 2Occupancy and bed details added.
- 3Floor size included.
- 4Amenities match the page.
- 5Linked to the Hotel markup.
- 6Tested after updates.
Room page mistakes
Common mistakes are using the same photos and copy for every room, hiding occupancy limits and leaving out bed details. Guests then book the wrong room or leave to compare elsewhere.
Why HotelRoom schema matters for SEO
It gives clear facts for room specific searches like "hotel room with two queen beds".
It supports accurate answers in AI and travel tools.
How HotelRoom schema works
HotelRoom markup has three main parts.
Room details
name, description, floorSize and bed (with BedDetails).
Occupancy
occupancy with maximum adults and children.
Amenities
amenityFeature for things like balcony or kitchenette.
A family resort adds HotelRoom markup to its family suite page, listing two bedrooms, occupancy of six and a kitchenette. The page starts appearing for "family suite with kitchen" searches.
HotelRoom schema checklist
- ✓Create a page for each room type
- ✓Nest rooms inside Hotel schema
- ✓Use BedDetails for bed type
- ✓Add occupancy limits
- ✓List real amenities only
- ✓Validate the markup
Common HotelRoom schema mistakes
One page for all rooms
Rooms cannot rank separately.
Invented amenities
Mismatches harm trust.
No occupancy
Family searches miss you.
Markup without content
Schema must match visible text.
Related SEO terms
HotelRoom schema FAQs
What is HotelRoom schema?
+
Schema.org markup that describes a specific hotel room or room type.
Can HotelRoom include prices?
+
Yes, through nested Offer markup when prices are shown on the page.
How is it different from Hotel schema?
+
Hotel describes the property; HotelRoom describes one room type.
Is HotelRoom schema required for Google Hotels?
+
No. Google Hotels relies on your booking feed; schema supports page understanding.
Does HotelRoom schema help AI travel answers?
+
Clear room facts such as size, occupancy, beds and view help AI tools answer questions like which hotels nearby have family rooms with two beds.
Should room pages show the view from the window?
+
Yes. View photos often influence which room guests choose.
Should suites use HotelRoom or Suite schema?
+
Use Suite for suites, which is a HotelRoom related type, with the same details.
Can HotelRoom schema include views?
+
Describe views in the room name and description, such as sea view, and in page text.
Should HotelRoom pages link to booking?
+
Yes. A booking button with dates prefilled for that room type turns room page visits into bookings.
Do I need a page for each room?
+
Yes, it helps each room type rank for specific searches.
Does HotelRoom schema create rich results?
+
There is no dedicated rich result, but it improves understanding.
How do I add it?
+
Use JSON-LD in the page and test it with a schema validator.
Can HotelRoom schema include bed types?
+
Yes. Use the bed property with BedDetails to describe bed type and number, such as one king bed or two queen beds.
How do I link rooms to the hotel?
+
Use containedInPlace or reference the Hotel entity with its @id.
Do room pages need FAQs?
+
Short FAQs about beds, extra guests and accessibility help guests decide.
Can HotelRoom schema show availability?
+
Availability comes from booking feeds and free booking links rather than room markup.
Should accessible rooms have their own pages?
+
Yes, where they differ, with details on features like roll in showers.
Do apartments use HotelRoom schema?
+
Serviced apartments can use Apartment or Accommodation types that better describe them.