Apartment
Apartment is an Accommodation subtype for self-contained housing units within a larger building: rental apartments, condos, flats, lofts. It re-declares numberOfRooms and occupancy from Accommodation but adds nothing new. The structural difference from a House is shared building infrastructure: an apartment occupies part of a building, a house is standalone.
The type hierarchy is Thing → Place → Accommodation → Apartment. Apartment listings on rental sites and vacation rental platforms read this for the property listing rich result. The most useful properties are floorSize, numberOfBedrooms, numberOfBathroomsTotal, floorLevel, amenityFeature, and petsAllowed. Vacation rentals additionally benefit from bed, occupancy, and leaseLength.
Full example of schema.org/Apartment 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://copenhagenrentals.dk/listings/oesterbrogade-87#apartment",
"@type": "Apartment",
"name": "Sunny 2-Bedroom Apartment in Østerbro",
"description": "South-facing 2-bedroom apartment in Østerbro, walking distance to Faelledparken. Renovated kitchen, original parquet floors, balcony with park views.",
"url": "https://copenhagenrentals.dk/listings/oesterbrogade-87",
"image": [
"https://copenhagenrentals.dk/listings/oesterbrogade-87/photo-1x1.jpg",
"https://copenhagenrentals.dk/listings/oesterbrogade-87/photo-4x3.jpg",
"https://copenhagenrentals.dk/listings/oesterbrogade-87/photo-16x9.jpg"
],
"address": { "@type": "PostalAddress", "streetAddress": "Østerbrogade 87, 3.th", "addressLocality": "Copenhagen", "postalCode": "2100", "addressCountry": "DK" },
"geo": { "@type": "GeoCoordinates", "latitude": 55.7050, "longitude": 12.5750 },
"floorSize": { "@type": "QuantitativeValue", "value": "72", "unitCode": "MTK" },
"numberOfRooms": 3,
"numberOfBedrooms": 2,
"numberOfBathroomsTotal": 1,
"occupancy": { "@type": "QuantitativeValue", "value": 4 },
"floorLevel": "3rd floor",
"petsAllowed": false,
"yearBuilt": 1903,
"leaseLength": { "@type": "QuantitativeValue", "minValue": 12, "unitCode": "MON" },
"amenityFeature": [
{ "@type": "LocationFeatureSpecification", "name": "Elevator", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Balcony", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Bicycle storage", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Dishwasher", "value": true },
{ "@type": "LocationFeatureSpecification", "name": "Washer/dryer in unit", "value": false }
]
}
</script>Apartment vs Suite vs HotelRoom
Apartment is residential. Suite is luxury hotel accommodation with multiple rooms. HotelRoom is a single hotel room. The line blurs for serviced apartments. Rule of thumb: residential occupation (monthly+) is Apartment; hotel-style nightly accommodation is Suite or HotelRoom.
floorLevel
floorLevel is a text property. Use the local convention: "2nd floor" in the US, "1st floor" in the UK and most of Europe (where the ground floor is 0). For ground-floor units, "Ground floor" is universally understood.
Minimal valid version
The smallest markup that still produces a valid Apartment 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": "Apartment",
"name": "Sunny 2-Bedroom Apartment in Østerbro",
"address": { "@type": "PostalAddress", "streetAddress": "Østerbrogade 87, 3.th", "addressLocality": "Copenhagen", "addressCountry": "DK" },
"floorSize": { "@type": "QuantitativeValue", "value": "72", "unitCode": "MTK" },
"numberOfBedrooms": 2,
"occupancy": { "@type": "QuantitativeValue", "value": 4 },
"image": "https://copenhagenrentals.dk/listings/oesterbrogade-87/photo-16x9.jpg",
"description": "South-facing 2-bedroom apartment in Østerbro."
}
</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 docsVacation rental and accommodation listingsprimary
Common Apartment 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 Apartment for a hotel-style serviced unit
Wrong"@type": "Apartment" for nightly-rental aparthotel roomsRight"@type": "Suite" for serviced apartments rented nightly with hotel servicesApartment implies residential occupation. Aparthotel units rented like hotel rooms (nightly, with cleaning service) are better classified as Suite, since they trigger hotel/lodging search behavior in Google.
- 02
amenityFeature with no value field
Wrong"amenityFeature": [{ "@type": "LocationFeatureSpecification", "name": "Balcony" }]Right"amenityFeature": [{ "@type": "LocationFeatureSpecification", "name": "Balcony", "value": true }]value is what makes the LocationFeatureSpecification machine-readable. Use value: true for present amenities, value: false to explicitly call out absent ones.
Schema properties in this example
About the example data
A rental apartment in Copenhagen, the city where Jane Xoo lived and worked. Suitable for a junior physician relocating to Rigshospitalet for residency.
Comments
Loading comments...