GET
/api/v1/bookingsBuchungen
Der tatsächliche Bedarf. Standardmäßig ohne personenbezogene Angaben; die Telefonnummer erscheint nur mit dem zusätzlichen Scope read:bookings:pii und fehlt sonst vollständig.
Wofür
Der Endpunkt, den die meisten Integrationen wirklich wollen: Was ist für morgen gebucht? Damit lässt sich entscheiden, ob eine Fahrt stattfindet, wie viele Plätze belegt sind und ob ein Rollstuhlplatz gebraucht wird.
Anfrage
Erfordert das Recht
read:bookings.curl -sS \
-H "Authorization: Bearer rb_live_…" \
"https://rufbusle.de/api/v1/bookings?from=…&to=…"Query-Parameter
limit- Seitengröße, 1–200. Ohne Angabe 50.
cursor- Wert aus
nextCursorder vorigen Seite. from- Ab diesem Servicedatum (YYYY-MM-DD, einschließlich).
to- Bis zu diesem Servicedatum (YYYY-MM-DD, einschließlich).
Antwort
Seitenweise:
data mit den Einträgen, nextCursor für die Folgeseite.{
"data": [
{
"id": "bkg_5Rt8wY",
"tripId": "trp_9Vc4mQ",
"rideDate": "2026-08-12",
"boardingStopId": "stp_7Kq2vX",
"alightingStopId": "stp_1Ax9bN",
"seats": 2,
"wheelchairUsers": 0,
"status": "SCHEDULED",
"canceled": false,
"transportMode": "BUS",
"source": "WEB",
"sourcePluginSlug": "phone-agent",
"pickupWindowStart": "08:15",
"pickupWindowEnd": "08:15",
"createdAt": "2026-08-10T14:32:05.000Z",
"phone": "+4915112345678"
}
],
"nextCursor": "bkg_5Rt8wY"
}Beispielwerte, keine echten Daten. Unbekannte Felder bitte ignorieren — es können jederzeit welche hinzukommen.
Felder je Eintrag (Booking)
Die Hülle mit data und nextCursor ist bei allen Listen gleich; hier stehen die Felder eines einzelnen Eintrags.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Interne ID der Buchung. |
tripId | string | Fahrt, auf die gebucht wurde. |
rideDate | string | null | Servicedatum der Fahrt (YYYY-MM-DD). |
boardingStopId | string | Einstieg — Verweis auf einen Halt. |
alightingStopId | string | Ausstieg — Verweis auf einen Halt. |
seats | integer | Gebuchte Sitzplätze. |
wheelchairUsers | integer | Davon Rollstuhlplätze. |
status | string | Stand der Durchführung: SCHEDULED | PICKED_UP | COMPLETED | NOSHOW. |
canceled | boolean | Storniert. Stornos verschwinden nicht, sie werden markiert. |
transportMode | string | Durchführung als BUS oder TAXI. |
source | string | Herkunft der Buchung: WEB | RECURRING | PLUGIN | API. |
sourcePluginSlug | string | null | Slug des erzeugenden Plugins (bei source PLUGIN oder plugin-gebundenen API-Schlüsseln); sonst null. Erlaubt Integrationen, eigene Buchungen zu erkennen. |
pickupWindowStart | string | null | Beginn des zugesagten Abholfensters; sonst null. |
pickupWindowEnd | string | null | Ende des zugesagten Abholfensters; sonst null. |
createdAt | string | Zeitpunkt der Buchung, ISO 8601 (UTC). |
phoneoptional | string | null | Nur mit Scope read:bookings:pii; sonst nicht enthalten. |
Worauf zu achten ist
Die Punkte, an denen Integrationen erfahrungsgemäß hängen bleiben.
- Ohne
from/tobekommen Sie alles ab heute. Für einen Nachtlauf ist ein enger Zeitraum sparsamer und schneller. - Stornierte Buchungen verschwinden nicht, sie tragen
canceled: true. Wer nur auf neue Zeilen achtet, plant Storni mit. - Ohne Scope
read:bookings:piifehlt das Feldphonevollständig — es ist dann nichtnull, sondern nicht vorhanden.