Suite
Suite is an Accommodation subtype for luxury hotel accommodation with multiple rooms. The defining feature is the multi-room layout: a bedroom plus a separate living room, sometimes with additional bedrooms, a kitchenette, or dining area. It re-declares bed, numberOfRooms, and occupancy from Accommodation. Hotels use Suite for executive suites, presidential suites, family suites, any premium multi-room accommodation.
The type hierarchy is Thing → Place → Accommodation → Suite. Suite is also right for serviced apartments and apart-hotel units when rented as hotel-style nightly accommodation. For long-term residential rentals, use Apartment. For single hotel rooms, use HotelRoom. Suites typically appear inside a Hotel entity via containsPlace.
Full example of schema.org/Suite json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://hoteldunmore.com/rooms/presidential-suite#suite",
"@type": "Suite",
"name": "Presidential Suite",
"description": "The Hotel Dunmore Presidential Suite features a king-bedded master bedroom, separate living room with sofa bed, full marble bathroom, and a private terrace overlooking Main Street. Premium amenities and 24-hour concierge service included.",
"url": "https://hoteldunmore.com/rooms/presidential-suite",
"image": [
"https://hoteldunmore.com/rooms/presidential-suite/photo-1x1.jpg",
"https://hoteldunmore.com/rooms/presidential-suite/photo-4x3.jpg",
"https://hoteldunmore.com/rooms/presidential-suite/photo-16x9.jpg"
],
"containedInPlace": { "@id": "https://hoteldunmore.com#hotel", "@type": "Hotel", "name": "Hotel Dunmore" },
"numberOfRooms": 3,
"occupancy": { "@type": "QuantitativeValue", "value": 4 },
"floorSize": { "@type": "QuantitativeValue", "value": "85", "unitCode": "MTK" },
"bed": [
{ "@type": "BedDetails", "numberOfBeds": 1, "typeOfBed": "King" },
{ "@type": "BedDetails", "numberOfBeds": 1, "typeOfBed": "Sofa bed" }
],
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Private terrace", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Marble bathroom", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Espresso machine", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Smart TV", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Mini-bar", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "WiFi", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "24-hour concierge", "value": true }
],
"petsAllowed": true
}
</script>bed configuration with BedDetails
A suite often has multiple beds across rooms: king bed in master bedroom plus sofa bed in living room. Use an array of BedDetails objects, each with numberOfBeds and typeOfBed (Text since BedType has no published members). This communicates the full sleeping configuration to booking engines and Google Hotels.
numberOfRooms in a suite
For a Suite, numberOfRooms is the count of distinct rooms within the suite (bedroom + living room = 2 rooms). This is different from the hotel-level interpretation where numberOfRooms might mean total rooms in the building.
Minimal valid version
The smallest markup that still produces a valid Suite 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": "Suite",
"name": "Presidential Suite",
"containedInPlace": { "@type": "Hotel", "name": "Hotel Dunmore" },
"numberOfRooms": 3,
"occupancy": { "@type": "QuantitativeValue", "value": 4 },
"bed": [{ "@type": "BedDetails", "numberOfBeds": 1, "typeOfBed": "King" }],
"image": "https://hoteldunmore.com/rooms/presidential-suite/photo-16x9.jpg",
"description": "Multi-room luxury suite with king bedroom and separate living room."
}
</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 and accommodation listingsprimary
Common Suite 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
Using Suite for a single-room hotel accommodation
Wrong"@type": "Suite" for a standard king roomRight"@type": "HotelRoom" for single-room hotel accommodationSuite implies multiple rooms (bedroom + living room at minimum). A standard hotel room with a king bed is a HotelRoom, even if large or premium. The Suite type signals multi-room layout to booking engines.
- 02
Missing containedInPlace for a hotel suite
WrongSuite without a Hotel referenceRight"containedInPlace": { "@id": "...", "@type": "Hotel", "name": "Hotel Dunmore" }Hotel suites belong to a hotel. containedInPlace links the suite to its parent Hotel entity so Google Hotels can group rooms under the property.
Schema properties in this example
About the example data
The Presidential Suite at Hotel Dunmore, used by visiting XooCon keynote speakers and Xoo Code's senior team during executive retreats.
Comments
Loading comments...