XooCode(){

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.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Suite
<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.

schema.org/Suite (minimal)
<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.

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.

  1. 01

    Using Suite for a single-room hotel accommodation

    Wrong
    "@type": "Suite" for a standard king room
    Right
    "@type": "HotelRoom" for single-room hotel accommodation

    Suite 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.

  2. 02

    Missing containedInPlace for a hotel suite

    Wrong
    Suite without a Hotel reference
    Right
    "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.

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

Leave a comment