XooCode(){

Room

Room is an Accommodation subtype for individual rooms within a structure. It adds no properties of its own. The most common use is the parent type for HotelRoom, but Room itself works for any distinguishable space: meeting rooms, conference rooms, classrooms, hospital rooms, examination rooms. Use Room when the space is a discrete unit but not specifically a hotel room or other named subtype.

The type hierarchy is Thing → Place → Accommodation → Room. All Accommodation properties apply through inheritance: floorSize, occupancy, amenityFeature. For a complete property walkthrough, see the Accommodation example. Replace "@type": "Accommodation" with "@type": "Room".

Full example of schema.org/Room json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Room
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Room",
  "name": "Thunderdome Meeting Room A",
  "description": "Bookable 12-person meeting room with HD video conferencing, whiteboards, and natural light. Available for hourly rental during conference events.",
  "url": "https://thunderdomedunmore.com/rooms/meeting-a",
  "containedInPlace": { "@id": "https://thunderdomedunmore.com#attraction", "@type": "Place", "name": "The Thunderdome" },
  "occupancy": { "@type": "QuantitativeValue", "value": 12 },
  "floorSize": { "@type": "QuantitativeValue", "value": "32", "unitCode": "MTK" },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Video conferencing", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Whiteboards", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Natural light", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "WiFi", "value": true }
  ]
}
</script>

Minimal valid version

The smallest markup that still produces a valid Room 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.

schema.org/Room (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Room",
  "name": "Thunderdome Meeting Room A",
  "containedInPlace": { "@type": "Place", "name": "The Thunderdome" },
  "occupancy": { "@type": "QuantitativeValue", "value": 12 }
}
</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.

Common Room 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.

  1. 01

    Using Room when a more specific subtype fits

    Wrong
    "@type": "Room" for a hotel room
    Right
    "@type": "HotelRoom" for hotel rooms

    HotelRoom triggers hotel-specific Google search behavior. Generic Room does not. Use the specific subtype when one exists; reserve Room for spaces without a more specific schema.org type.

About the example data

A bookable meeting room at the Thunderdome conference center in Dunmore, used for breakout sessions during XooCon and other events.

Comments

Loading comments...

Leave a comment