XooCode(){

TaxiReservation

TaxiReservation is a Reservation subtype for taxi, rideshare, and car service bookings. It has 3 properties of its own: pickupLocation (where the taxi picks up), pickupTime (when), and partySize (how many passengers). Gmail reads this to show a taxi card with the pickup details.

The type hierarchy is Thing → Intangible → Reservation → TaxiReservation. Set reservationFor to a Taxi or TaxiService object, or omit it if the taxi company is already in provider. TaxiReservation shares pickupLocation and pickupTime with RentalCarReservation, but does not have dropoff properties (taxi dropoffs are typically dynamic).

Full example of schema.org/TaxiReservation json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/TaxiReservation
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TaxiReservation",
  "reservationId": "DT-2026-11-13-4822",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "pickupLocation": {
    "@type": "Place",
    "name": "Lackawanna Valley Airport - Arrivals",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "100 Airport Road",
      "addressLocality": "Dunmore",
      "addressRegion": "PA",
      "addressCountry": "US"
    }
  },
  "pickupTime": "2026-11-13T13:00:00-05:00",
  "partySize": 1,
  "underName": { "@type": "Person", "name": "Tomás Herrera" },
  "provider": { "@type": "Organization", "name": "Dunmore Taxi Co." },
  "totalPrice": "35.00",
  "priceCurrency": "USD",
  "bookingTime": "2026-11-12T20:00:00-05:00"
}
</script>

Minimal valid version

The smallest markup that still produces a valid TaxiReservation 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/TaxiReservation (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TaxiReservation",
  "reservationId": "DT-2026-11-13-4822",
  "reservationStatus": "https://schema.org/ReservationConfirmed",
  "pickupLocation": { "@type": "Place", "name": "Lackawanna Valley Airport - Arrivals", "address": { "@type": "PostalAddress", "streetAddress": "100 Airport Road", "addressLocality": "Dunmore", "addressRegion": "PA", "addressCountry": "US" } },
  "pickupTime": "2026-11-13T13: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.

Common TaxiReservation 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

    Missing pickupLocation

    Wrong
    TaxiReservation with pickupTime but no pickupLocation
    Right
    "pickupLocation": { "@type": "Place", "name": "Lackawanna Valley Airport - Arrivals", "address": { ... } }

    The taxi driver needs to know where to go. Gmail displays the pickup address on the card with a map link. Without it, the reservation is incomplete.

  2. 02

    Using RentalCarReservation for a taxi

    Wrong
    "@type": "RentalCarReservation" for a taxi booking
    Right
    "@type": "TaxiReservation"

    TaxiReservation has partySize. RentalCarReservation has dropoffLocation/dropoffTime for car returns. They serve different purposes. Taxis do not have scheduled dropoff locations.

About the example data

A taxi from Lackawanna Valley Airport to Hotel Dunmore for an XooCon attendee.

Comments

Loading comments...

Leave a comment