Im Bereich Mobilität und Transportdienstleistungen ist Schema Markup noch stark unterrepräsentiert — obwohl gerade Taxi- und Transferanbieter von Buchungsseiten profitieren können, die direkt in den Google-Suchergebnissen hervorgehoben werden. TaxiReservation ist ein Schema.org-Typ aus der Reservierungs-Familie, der eine konkrete Taxifahrtbuchung beschreibt: mit Abholpunkt, Ziel, Uhrzeit, Preis und Fahrer-Informationen.
Dieser Artikel erklärt den Unterschied zwischen dem Unternehmens-Schema (TaxiService) und dem Buchungs-Schema (TaxiReservation), zeigt dir vollständige JSON-LD-Beispiele und erklärt, wann du welches Schema auf welcher Seite deiner Website einsetzt.
TaxiService vs. TaxiReservation: Die entscheidende Unterscheidung
Viele Website-Betreiber von Taxi- und Transferunternehmen verwechseln diese beiden Schema-Typen, weil sie beide mit Taxifahrten zu tun haben. Die Unterscheidung ist jedoch konzeptuell klar:
TaxiService: Beschreibt das Unternehmen als Dienstleistungsanbieter — also den Taxidienst selbst, mit Adresse, Telefon, Öffnungszeiten und Servicebereich. Dieser Typ gehört in dein LocalBusiness/TaxiService-Schema auf der Kontakt- oder Startseite.TaxiReservation: Beschreibt eine konkrete Buchungsbestätigung oder ein konkretes Buchungsangebot für eine einzelne Taxifahrt. Dieser Typ wird auf Buchungsbestätigungsseiten, in E-Mail-Bestätigungen oder auf Seiten mit buchbaren Transferpaketen eingesetzt.
Im Schema.org-Typen-Baum ist TaxiReservation ein Untertyp von Reservation, welches selbst von Intangible abgeleitet ist. Es geht also um die Beschreibung eines Buchungsvorgangs, nicht um das beschreibende Profil einer Transportfirma.
Wann und wo TaxiReservation Schema einsetzen?
Die wichtigsten Einsatzszenarien für TaxiReservation:
1. Buchungsbestätigungsseiten
Wenn ein Kunde nach der Buchung auf eine Bestätigungsseite geleitet wird, kann das TaxiReservation-Schema die Buchungsdetails maschinenlesbar machen. Google kann diese Daten für Google Reisen, Gmail-Integrationen oder andere dienste nutzen.
2. Transferpakete und buchbare Transfers
Viele Taxi- und Transferanbieter bieten Festpreistransfers an (z. B. Flughafen → Stadtzentrum). Hier eignet sich TaxiReservation in Kombination mit einem Offer-Objekt, um das Buchungspaket strukturiert darzustellen.
3. Flughafen-Transfer-Landing-Pages
Seiten wie "Transfer vom Flughafen München ins Stadtgebiet" können mit TaxiReservation-Schema markiert werden, um Route, Fahrtdauer, Preis und Buchbarkeit direkt im Schema anzugeben.
4. Gruppenreisen und Charter-Anfragen
Fahrtangebote für Gruppenreisen oder Mietwagen-Charterfahrten lassen sich ebenfalls über TaxiReservation strukturieren — mit partySize für die Personenanzahl.
Die wichtigsten Properties von TaxiReservation
Da TaxiReservation von Reservation erbt, stehen dir alle Reservation-Properties zur Verfügung — plus einige fahrtspezifische Eigenschaften.
Properties von Reservation (geerbt)
reservationId: Eindeutige Buchungsnummer (String)reservationStatus: Status der Buchung (ReservationConfirmed,ReservationPending,ReservationCancelled,ReservationHold)underName: Person oder Organisation, für die die Reservierung gilt (Person- oderOrganization-Objekt)provider: Das Unternehmen, das die Fahrt anbietet (Organization)bookingTime: Zeitpunkt der Buchung (ISO 8601)modifiedTime: Zeitpunkt der letzten ÄnderungtotalPrice: Gesamtpreis (Zahl oderPriceSpecification)priceCurrency: Währung (ISO-4217-Code, z. B."EUR")programMembershipUsed: Verwendetes Mitgliedschaftsprogramm
Fahrtspezifische Properties (TaxiReservation)
pickupLocation: Abholpunkt (Place-Objekt mit Adresse)pickupTime: Abholzeitpunkt (ISO 8601)dropoffLocation: Zielort (Place-Objekt)partySize: Anzahl der Personen (Integer)
Vollständiges JSON-LD-Beispiel: Buchungsbestätigung
Das folgende Beispiel zeigt eine bestätigte Taxibuchung für einen Flughafen-Transfer:
{
"@context": "https://schema.org",
"@type": "TaxiReservation",
"reservationId": "TX-20260615-4821",
"reservationStatus": "https://schema.org/ReservationConfirmed",
"bookingTime": "2026-06-01T14:32:00+02:00",
"underName": {
"@type": "Person",
"name": "Maria Weber",
"email": "maria.weber@example.com",
"telephone": "+49 176 12345678"
},
"provider": {
"@type": "Organization",
"name": "BerlinTaxi GmbH",
"url": "https://berlintaxi.de",
"telephone": "+49 30 9876543",
"address": {
"@type": "PostalAddress",
"streetAddress": "Taxistraße 12",
"addressLocality": "Berlin",
"postalCode": "10115",
"addressCountry": "DE"
}
},
"pickupLocation": {
"@type": "Place",
"name": "Flughafen Berlin Brandenburg (BER) – Terminal 1",
"address": {
"@type": "PostalAddress",
"streetAddress": "Willy-Brandt-Platz 1",
"addressLocality": "Schönefeld",
"postalCode": "12529",
"addressCountry": "DE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.3667,
"longitude": 13.5033
}
},
"pickupTime": "2026-06-15T10:30:00+02:00",
"dropoffLocation": {
"@type": "Place",
"name": "Hotel Adlon Berlin",
"address": {
"@type": "PostalAddress",
"streetAddress": "Unter den Linden 77",
"addressLocality": "Berlin",
"postalCode": "10117",
"addressCountry": "DE"
}
},
"partySize": 2,
"totalPrice": "75.00",
"priceCurrency": "EUR"
}
TaxiReservation für buchbare Transferpakete (mit Offer)
Wenn du keine konkrete bestätigte Buchung, sondern ein buchbares Transferangebot auf einer Landing Page beschreiben willst, kombinierst du TaxiReservation mit einem reservedTicket- oder direkt mit einem Offer-Objekt. Alternativ empfiehlt sich hier das Muster mit einer Service-Klasse, die ein Offer enthält:
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "TaxiService",
"name": "Flughafen-Transfer BER → Berlin Mitte (Festpreis)",
"description": "Komfortabler Flughafen-Transfer vom Flughafen BER ins Berliner Stadtgebiet. Festpreis, keine versteckten Kosten. Fahrzeugklassen: Kombi, Van, Limousine.",
"url": "https://berlintaxi.de/transfers/ber-berlin-mitte",
"provider": {
"@type": "Organization",
"name": "BerlinTaxi GmbH",
"url": "https://berlintaxi.de"
},
"areaServed": {
"@type": "City",
"name": "Berlin"
},
"offers": [
{
"@type": "Offer",
"name": "Standard-Transfer (1-3 Personen)",
"description": "Kombi oder Limousine, bis 3 Koffer",
"price": "65.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://berlintaxi.de/transfers/ber-berlin-mitte/buchen?typ=standard"
},
{
"@type": "Offer",
"name": "Van-Transfer (4-7 Personen)",
"description": "Großraumtaxi oder Van, bis 7 Passagiere",
"price": "95.00",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://berlintaxi.de/transfers/ber-berlin-mitte/buchen?typ=van"
}
]
}
Hinweis: Google zeigt buchbare Angebote im Bereich Mobilität primär über die Google Travel-Integration an. Ob TaxiReservation direkt zu sichtbaren Rich Snippets führt, hängt von der Art deiner Website und dem Kontext der Seite ab. Dennoch ist strukturiertes Markup wichtig für maschinelle Lesbarkeit, Google-Verständnis und zukünftige Integration.
ReservationStatus: Die vier gültigen Werte
Die Property reservationStatus erwartet immer eine vollständige Schema.org-URL, keine einfachen Strings. Die vier gültigen Werte:
"https://schema.org/ReservationConfirmed": Die Buchung ist bestätigt und aktiv"https://schema.org/ReservationPending": Die Buchung ist ausstehend (z. B. auf Zahlung wartend)"https://schema.org/ReservationCancelled": Die Buchung wurde storniert"https://schema.org/ReservationHold": Die Buchung ist vorgemerkt, aber noch nicht verbindlich
Auf Buchungsbestätigungsseiten verwendest du fast immer ReservationConfirmed. Für eine Wartelisten- oder Anfrage-Seite wäre ReservationPending korrekt.
pickupTime: Zeitzone immer angeben!
Das häufigste Problem bei Taxi- und Transfer-Schemas: Das Abholzeit-Datum enthält keine Zeitzone. Google interpretiert dann die Zeit als UTC — was bei deutschen Websites zu falschen Anzeigen führen kann (Sommer: UTC+2, Winter: UTC+1).
Richtig:
"pickupTime": "2026-06-15T10:30:00+02:00"
Falsch (keine Zeitzone):
"pickupTime": "2026-06-15T10:30:00"
Mehrere Fahrten auf einer Seite: @graph verwenden
Wenn du auf einer Übersichtsseite mehrere Transfer-Angebote (z. B. BER → Mitte, BER → Charlottenburg, BER → Potsdam) beschreiben willst, empfiehlt sich die Verwendung von @graph:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "TaxiReservation",
"reservationId": "OFFER-BER-MITTE",
"reservationStatus": "https://schema.org/ReservationPending",
"pickupLocation": {
"@type": "Place",
"name": "Flughafen BER",
"address": { "@type": "PostalAddress", "addressLocality": "Schönefeld" }
},
"dropoffLocation": {
"@type": "Place",
"name": "Berlin Mitte",
"address": { "@type": "PostalAddress", "addressLocality": "Berlin" }
},
"totalPrice": "65.00",
"priceCurrency": "EUR"
},
{
"@type": "TaxiReservation",
"reservationId": "OFFER-BER-POTSDAM",
"reservationStatus": "https://schema.org/ReservationPending",
"pickupLocation": {
"@type": "Place",
"name": "Flughafen BER",
"address": { "@type": "PostalAddress", "addressLocality": "Schönefeld" }
},
"dropoffLocation": {
"@type": "Place",
"name": "Potsdam Hauptbahnhof",
"address": { "@type": "PostalAddress", "addressLocality": "Potsdam" }
},
"totalPrice": "85.00",
"priceCurrency": "EUR"
}
]
}
Integration mit TaxiService-Schema auf derselben Website
Auf einer vollständigen Taxi-Website empfiehlt sich folgende Struktur:
- Startseite / Kontaktseite: TaxiService Schema Markup als LocalBusiness-Profil (Unternehmensname, Adresse, Telefon, Öffnungszeiten, Servicebereich)
- Transfer-Landing-Pages: TaxiReservation oder Service+Offer für konkrete Transferrouten
- Buchungsbestätigungsseite: TaxiReservation mit Status
ReservationConfirmedund vollständigen Fahrtendetails
Diese klare Trennung hilft Google, die verschiedenen Seiten deiner Website korrekt zu kategorisieren: Die Startseite als lokales Geschäftsprofil, die Angebotsseiten als buchbare Services, die Bestätigungsseite als Transaktionsdaten.
Gmail und Google Assistant: Warum TaxiReservation über SEO hinausgeht
Google nutzt strukturierte Reservation-Daten nicht nur für Suchergebnisse, sondern auch in anderen Produkten:
- Gmail-Integration: Wenn Buchungsbestätigungen per E-Mail versendet werden und das HTML der E-Mail TaxiReservation-Schema enthält, kann Gmail automatisch eine "Fahrt"-Karte in der Inbox erstellen
- Google Assistant: Bei korrektem Schema kann der Assistent Fahrtdetails aus E-Mails oder Websites vorlesen
- Google Now/Benachrichtigungen: Erinnerungen für bevorstehende Fahrten können automatisch aus strukturierten Daten erzeugt werden
Das bedeutet: Selbst wenn TaxiReservation keine direkten SERP-Rich-Results erzeugt, erhöht das Schema die Wertigkeit deiner Website im Google-Ökosystem und verbessert die Integration mit Google-Diensten.
Typische Fehler bei TaxiReservation-Implementierungen
Fehler 1: reservationStatus als String statt URL
// Falsch:
"reservationStatus": "Confirmed"
// Richtig:
"reservationStatus": "https://schema.org/ReservationConfirmed"
Fehler 2: pickupLocation als String statt Place-Objekt
// Falsch:
"pickupLocation": "Flughafen BER"
// Richtig:
"pickupLocation": {
"@type": "Place",
"name": "Flughafen BER",
"address": { ... }
}
Fehler 3: totalPrice als String mit Währungszeichen
// Falsch:
"totalPrice": "65 EUR"
// Richtig:
"totalPrice": "65.00",
"priceCurrency": "EUR"
Fehler 4: TaxiReservation auf dem Unternehmens-LocalBusiness-Schema
Manche Entwickler fügen TaxiReservation als verschachteltes Element in ein TaxiService-Objekt ein. Das ist konzeptuell falsch — beide Typen sind eigenständige Objekte, die auf unterschiedlichen Seiten verwendet werden. Verknüpft werden sie über provider in der Reservation, das auf die Organization zeigt.
Checkliste: TaxiReservation Schema Markup
- ☑
@type: "TaxiReservation"korrekt gesetzt - ☑
reservationIdals eindeutige Buchungsnummer - ☑
reservationStatusals vollständige Schema.org-URL - ☑
pickupLocationalsPlace-Objekt mit Adresse - ☑
pickupTimeim ISO-8601-Format mit Zeitzone - ☑
dropoffLocationalsPlace-Objekt - ☑
providermit vollständigemOrganization-Objekt - ☑
totalPriceals numerischer String,priceCurrencyseparat - ☑ Validierung mit JSON-LD Validator
Fazit: TaxiReservation als Wettbewerbsvorteil im Buchungsbereich
Während die meisten Taxi- und Transferanbieter noch ausschließlich auf TaxiService-Schema setzen, bietet TaxiReservation eine selten genutzte Chance: strukturierte Buchungsseiten, die von Google besser verstanden werden und tief in das Google-Ökosystem (Gmail, Assistant, Reisen) integrierbar sind. Wer bereits heute TaxiReservation korrekt implementiert, hat einen klaren Vorteil gegenüber Mitbewerbern, die noch ausschließlich auf Standard-LocalBusiness-Markup setzen.
Prüfe dein bestehendes Schema Markup mit der kostenlosen SEO-Analyse von Shift07 und finde heraus, ob deine Taxi- oder Transfer-Website noch ungenutztes strukturiertes Daten-Potenzial hat. Der JSON-LD Validator hilft dir, Fehler im Reservation-Schema schnell zu identifizieren.
Für den vollständigen Überblick über Schema Markup im Mobilitätsbereich empfehlen sich außerdem die Artikel zu AutoRental & TaxiService Schema Markup sowie zu Strukturierten Daten für SEO allgemein.