RentalCarReservation
RentalCarReservation is a Reservation subtype for car rental bookings. It has 4 properties of its own: pickupLocation, pickupTime, dropoffLocation, and dropoffTime. These separate pickup and dropoff details are what make it different from the parent Reservation. Gmail reads this to show a rental car card with pickup/dropoff locations and times.
The type hierarchy is Thing → Intangible → Reservation → RentalCarReservation. Set reservationFor to a Car or Vehicle object for the reserved vehicle (or the vehicle class if the specific unit is not yet assigned).
Full example of schema.org/RentalCarReservation 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": "RentalCarReservation",
"reservationId": "RC-LVA-2026-0891",
"reservationStatus": "https://schema.org/ReservationConfirmed",
"reservationFor": {
"@type": "Car",
"name": "Compact Sedan",
"brand": { "@type": "Brand", "name": "Toyota" },
"model": "Corolla or similar"
},
"pickupLocation": {
"@type": "Place",
"name": "Valley Car Rental - Airport Desk",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Airport Road, Terminal 1",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"postalCode": "18512",
"addressCountry": "US"
}
},
"pickupTime": "2026-11-13T13:30:00-05:00",
"dropoffLocation": {
"@type": "Place",
"name": "Valley Car Rental - Airport Desk",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Airport Road, Terminal 1",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"addressCountry": "US"
}
},
"dropoffTime": "2026-11-16T10:00:00-05:00",
"underName": { "@type": "Person", "name": "Tomás Herrera" },
"provider": { "@type": "Organization", "name": "Valley Car Rental" },
"totalPrice": "215.00",
"priceCurrency": "USD",
"bookingTime": "2026-09-28T09:30:00-04:00"
}
</script>pickupLocation and dropoffLocation
Both take Place objects with name and address. For airport rentals, use the rental counter or airport terminal. For one-way rentals, the pickup and dropoff locations differ. Gmail shows both locations on the card with map links.
pickupTime and dropoffTime
Both take DateTime values. These are the agreed pickup and return times in the rental contract. Gmail shows these as the rental period on the card.
Minimal valid version
The smallest markup that still produces a valid RentalCarReservation 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": "RentalCarReservation",
"reservationId": "RC-LVA-2026-0891",
"reservationStatus": "https://schema.org/ReservationConfirmed",
"pickupLocation": { "@type": "Place", "name": "Valley Car Rental - Airport Desk", "address": { "@type": "PostalAddress", "streetAddress": "100 Airport Road", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" } },
"pickupTime": "2026-11-13T13:30:00-05:00",
"dropoffTime": "2026-11-16T10: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 rental car cardprimary
Common RentalCarReservation 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
Missing dropoff details for a one-way rental
WrongRentalCarReservation with pickupLocation but no dropoffLocationRightAlways include dropoffLocation and dropoffTime, even if same as pickupGmail shows both pickup and dropoff on the card. For same-location rentals, set dropoffLocation to the same Place as pickupLocation. For one-way rentals, use different locations.
- 02
reservationFor as a rental company instead of a car
Wrong"reservationFor": { "@type": "Organization", "name": "Valley Car Rental" }Right"reservationFor": { "@type": "Car", "name": "Compact Sedan" }; use "provider" for the companyreservationFor is what you are reserving (the car). provider is who you are renting from (the company). Gmail needs the car details on the card.
Schema properties in this example
About the example data
A rental car pickup at Lackawanna Valley Airport for an XooCon attendee arriving on Nordic Air flight NA 412.
Comments
Loading comments...