LodgingReservation
LodgingReservation is a Reservation subtype for hotel bookings, motel stays, vacation rentals, and any overnight accommodation. It has 6 properties of its own: checkinTime, checkoutTime, lodgingUnitType (room type), lodgingUnitDescription (room details), numAdults, and numChildren. Gmail reads this markup to show a hotel reservation card with check-in/out times, room type, and a map link.
The type hierarchy is Thing → Intangible → Reservation → LodgingReservation. Set reservationFor to a Hotel or LodgingBusiness object with name and address. Google Travel also reads this for trip planning features.
Full example of schema.org/LodgingReservation json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LodgingReservation",
"reservationId": "HD-2026-4471",
"reservationStatus": "https://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "Hotel",
"name": "Hotel Dunmore",
"address": {
"@type": "PostalAddress",
"streetAddress": "450 Main Street",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"postalCode": "18512",
"addressCountry": "US"
},
"telephone": "+1-570-555-0150"
},
"checkinTime": "2026-11-13T15:00:00-05:00",
"checkoutTime": "2026-11-16T11:00:00-05:00",
"lodgingUnitType": "Deluxe King Room",
"lodgingUnitDescription": "King bed, city view, non-smoking, 28 sqm. Complimentary breakfast included.",
"numAdults": 1,
"numChildren": 0,
"underName": {
"@type": "Person",
"name": "Tomás Herrera",
"email": "tomas@xoocode.com"
},
"provider": {
"@type": "Hotel",
"name": "Hotel Dunmore"
},
"totalPrice": "447.00",
"priceCurrency": "USD",
"bookingTime": "2026-09-28T09:12:00-04:00"
}
</script>checkinTime and checkoutTime
checkinTime is when the guest can check in. checkoutTime is the latest checkout. These can be DateTime (full date and time for a specific booking) or just Time (the hotel's general check-in hour). Gmail shows both on the reservation card. For hotel confirmation emails, use full DateTime with the booking dates.
lodgingUnitType and lodgingUnitDescription
lodgingUnitType is a short label: "Double Room", "Suite", "Studio Apartment". lodgingUnitDescription is a longer text: "King bed, city view, non-smoking, 32 sqm." Gmail displays the unit type as the room name on the card.
numAdults and numChildren
numAdults and numChildren take integers or QuantitativeValue. These tell the hotel (and Google Travel) the guest breakdown for the room.
Minimal valid version
The smallest markup that still produces a valid LodgingReservation 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": "LodgingReservation",
"reservationId": "HD-2026-4471",
"reservationStatus": "https://schema.org/ReservationConfirmed",
"reservationFor": { "@type": "LodgingBusiness", "name": "Hotel Dunmore", "address": { "@type": "PostalAddress", "streetAddress": "450 Main Street", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" } },
"checkinTime": "2026-11-13T15:00:00-05:00",
"checkoutTime": "2026-11-16T11:00:00-05:00",
"underName": { "@type": "Person", "name": "Tomás Herrera" }
}
</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 docsGmail reservation cardprimary
Common LodgingReservation 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
checkinTime as a date without time
Wrong"checkinTime": "2026-11-13"Right"checkinTime": "2026-11-13T15:00:00-05:00"checkinTime should include the actual check-in hour so Gmail can display it. A date-only value tells the guest which day but not what time they can arrive.
- 02
Missing lodgingUnitType
WrongLodgingReservation with dates but no room typeRight"lodgingUnitType": "Deluxe King Room"lodgingUnitType tells the guest what room they booked. Gmail shows this on the reservation card. Without it, the card just says the hotel name with no room details.
- 03
reservationFor as a Place instead of LodgingBusiness
Wrong"reservationFor": { "@type": "Place", "name": "Hotel Dunmore" }Right"reservationFor": { "@type": "Hotel", "name": "Hotel Dunmore", "address": { ... } }reservationFor should be a Hotel, Motel, or LodgingBusiness, not a generic Place. The specific type lets Gmail display hotel-specific features (star rating, phone number) on the card.
Schema properties in this example
About the example data
A booking at Hotel Dunmore for an XooCon attendee. The reservationFor references the Hotel entity. The guest walks to The Thunderdome for the conference.
Comments
Loading comments...