Dokumentation
GET/api/v1/trips

Fahrten

Fahrten als Fahrplan-Vorlagen inklusive Halte-Zeiten und Verkehrstagen — nicht als Einzeltermine. Konkrete Termine ergeben sich aus serviceDays.

Wofür

Das Soll-Angebot: welche Fahrt an welchen Wochentagen zu welcher Zeit welche Halte bedient. Grundlage für Umlaufbildung und für die Frage, wie viel Fahrzeugzeit ein Tag überhaupt braucht.

Anfrage

Erfordert das Recht read:schedule.
AnfrageShell
curl -sS \
  -H "Authorization: Bearer rb_live_…" \
  "https://rufbusle.de/api/v1/trips"

Query-Parameter

limit
Seitengröße, 1–200. Ohne Angabe 50.
cursor
Wert aus nextCursor der vorigen Seite.

Antwort

Seitenweise: data mit den Einträgen, nextCursor für die Folgeseite.
BeispielantwortJSON
{
  "data": [
    {
      "id": "trp_9Vc4mQ",
      "lineId": "lin_3Nb8pZ",
      "headsign": "Musterstadt Bahnhof",
      "directionId": 0,
      "isFlex": false,
      "blockId": null,
      "serviceDays": {
        "monday": true,
        "tuesday": true,
        "wednesday": true,
        "thursday": true,
        "friday": true,
        "saturday": false,
        "sunday": false,
        "startDate": "2026-01-01",
        "endDate": "2026-12-31"
      },
      "stopTimes": [
        {
          "stopId": "stp_7Kq2vX",
          "sequence": 1,
          "arrivalTime": "08:15",
          "departureTime": "08:15",
          "pickupWindowStart": "08:15",
          "pickupWindowEnd": "08:15"
        }
      ]
    }
  ],
  "nextCursor": "bkg_5Rt8wY"
}

Beispielwerte, keine echten Daten. Unbekannte Felder bitte ignorieren — es können jederzeit welche hinzukommen.

Felder je Eintrag (Trip)

Die Hülle mit data und nextCursor ist bei allen Listen gleich; hier stehen die Felder eines einzelnen Eintrags.
FeldTypBeschreibung
idstringReferenz für tripId einer Buchung.
lineIdstringLinie, zu der die Fahrt gehört.
headsignstring | nullZielbeschilderung, falls gepflegt.
directionIdintegerFahrtrichtung, 0 oder 1 (GTFS direction_id).
isFlexbooleanBedarfsfahrt mit Abholfenster statt fester Abfahrtszeit.
blockIdstring | nullGTFS block_id — Umlaufbindung, falls gepflegt.
serviceDaysobjectWochentage und Zeitraum, an denen diese Fahrt stattfindet.
mondaybooleanVerkehrt montags.
tuesdaybooleanVerkehrt dienstags.
wednesdaybooleanVerkehrt mittwochs.
thursdaybooleanVerkehrt donnerstags.
fridaybooleanVerkehrt freitags.
saturdaybooleanVerkehrt samstags.
sundaybooleanVerkehrt sonntags.
startDatestringErster Geltungstag (YYYY-MM-DD).
endDatestringLetzter Geltungstag (YYYY-MM-DD).
stopTimesobject[]Halte der Fahrt, aufsteigend nach sequence.
stopIdstring | nullVerweis auf einen Halt; null bei reiner Zonenbedienung.
sequenceintegerPosition innerhalb der Fahrt, ab 1.
arrivalTimestringPlanmäßige Ankunft, Ortszeit „HH:MM".
departureTimestringPlanmäßige Abfahrt, Ortszeit „HH:MM".
pickupWindowStartstring | nullBeginn des Abholfensters bei Flex-Fahrten; sonst null.
pickupWindowEndstring | nullEnde des Abholfensters bei Flex-Fahrten; sonst null.

Worauf zu achten ist

Die Punkte, an denen Integrationen erfahrungsgemäß hängen bleiben.
  • Eine Fahrt ist eine Vorlage, kein Termin. Die tatsächlichen Tage ergeben sich aus serviceDays (Wochentage plus Gültigkeitszeitraum) — eine Buchung nennt mit rideDate den konkreten Tag.
  • blockId trägt die Umlaufbindung aus GTFS, sofern sie gepflegt ist. Ist sie leer, gibt es in RufBusle keine hinterlegte Umlaufzuordnung — ein leeres Feld ist keine Aussage über den Betrieb.
  • Bei Flex-Fahrten (isFlex: true) sind arrivalTime/departureTime nachrangig; maßgeblich ist das Zeitfenster pickupWindowStart–pickupWindowEnd.