VDV 454 - Kontext der Anwendung

Inhalt

1. Was ist VDV 454?

Die VDV-Schrift 454 (vollständig: "Ist-Datenversorgung – Fahrgastinformation und Anschlusssicherung") ist ein vom Verband Deutscher Verkehrsunternehmen (VDV) definierter Standard für den Austausch von Echtzeit-Betriebsdaten im öffentlichen Personennahverkehr (ÖPNV).

Im Kern definiert VDV 454 ein XML-basiertes Nachrichtenformat, mit dem Leitsysteme Ist-Daten zu Fahrten, Haltestellen, Prognosen, Fahrzeugformationen und Belegungsgraden an nachgelagerte Systeme übermitteln.

Kontext dieser Anwendung: Unsere Software empfängt VDV-454-Nachrichten von Betriebsleitsystemen (z. B. INIT, Lumino) und bereitet sie für die Analyse von Belegungsprognosen, Fahrzeugformationen und Fahrtverlaufen auf.

2. Die Schnittstelle im Detail

Kommunikationsmodell

VDV 454 arbeitet nach dem Prinzip DatenAbrufen / DatenAbrufenAntwort: Ein Clientsystem stellt periodisch Anfragen (DatenAbrufen) an das Leitsystem, das daraufhin mit einer DatenAbrufenAntwort antwortet. Jede Antwort enthält die aktuellen Ist-Daten zu allen überwachten Fahrten.

Client (Abonnent) Leitsystem (Datenlieferant) | | |---- DatenAbrufen (Abfrage) ----------------->| | | |<--- DatenAbrufenAntwort (Telegramm) ---------| | +-- Bestaetigung (Zst, Ergebnis) | | +-- AUSNachricht | | +-- IstFahrt [1..n] | | +-- FahrtRef | | +-- IstHalt [1..n] | | +-- IstFormation (optional) | | | |---- DatenAbrufen (nächster Zyklus) -------->| |<--- DatenAbrufenAntwort ---------------------| ... ...

Telegramm-Prinzip

Für jede Fahrt werden im Laufe des Betriebstages mehrere Telegramme empfangen. Jedes Telegramm trägt einen Zeitstempel (Bestaetigung.Zst) und enthält den jeweils aktuellen Stand aller Haltestellen dieser Fahrt. Spätere Telegramme verfeinern oder korrigieren frühere Prognosen.

Komplettfahrt-Kennung: Das Feld Komplettfahrt = true signalisiert, dass dieses Telegramm den vollständigen Datensatz einer neuen Fahrt-Instanz enthält. Wird ein zweites Komplettfahrt-Telegramm für denselben FahrtBezeichner empfangen, beginnt eine neue logische Fahrt (z. B. nächster Umlauf).

3. XML-Nachrichtenstruktur

Die folgende Baumdarstellung zeigt die vollständige Hierarchie einer DatenAbrufenAntwort, wie sie von unserer Anwendung verarbeitet wird:

<DatenAbrufenAntwort> <Bestaetigung Zst="2024-03-15T08:30:00" Ergebnis="ok" Fehlernummer="0" /> <AUSNachricht> <IstFahrt> ← je Fahrt im Telegramm <FahrtRef> <FahrtID> <FahrtBezeichner>L10001</FahrtBezeichner> <Betriebstag>2024-03-15</Betriebstag> </FahrtID> <FahrtStartEnde> <StartHaltID>...</StartHaltID> <Startzeit>...</Startzeit> <EndHaltID>...</EndHaltID> <Endzeit>...</Endzeit> </FahrtStartEnde> </FahrtRef> <LinienID>...</LinienID> <LinienText>...</LinienText> <RichtungsID>...</RichtungsID> <UmlaufID>...</UmlaufID> <Betreiber>...</Betreiber> <Komplettfahrt>true/false</Komplettfahrt> <PrognoseMoeglich>...</PrognoseMoeglich> <FaelltAus>...</FaelltAus> <Besetztgrad>...</Besetztgrad> <IstHalt> ← je Haltestelle der Fahrt <HaltID>...</HaltID> <HaltestellenName>...</HaltestellenName> <Abfahrtszeit>...</Abfahrtszeit> <Ankunftszeit>...</Ankunftszeit> <IstAbfahrtPrognose>...</IstAbfahrtPrognose> <IstAnkunftPrognose>...</IstAnkunftPrognose> <IstAbfahrtPrognoseStatus>Real | Prognose</IstAbfahrtPrognoseStatus> <AbfahrtssteigText>...</AbfahrtssteigText> <Einsteigeverbot>...</Einsteigeverbot> <Aussteigeverbot>...</Aussteigeverbot> <Durchfahrt>...</Durchfahrt> <Besetztgrad>...</Besetztgrad> </IstHalt> <IstFormation> ← optional: Fahrzeugformation <FoFahrzeuge> ← Fahrzeugliste <FoFahrzeug FoFahrzeugID="..."> <FoFahrzeugTyp>...</FoFahrzeugTyp> <FoFahrzeugAusstattungen> <FoFahrzeugAusstattung FoFahrzeugAusstattungID="..."> <FoFahrzeugAusstattungsCode>plaetze2 | plaetzesteh</...> <FoAnzahl>...</FoAnzahl> </FoFahrzeugAusstattung> </FoFahrzeugAusstattungen> </FoFahrzeug> </FoFahrzeuge> <FoFahrzeugGruppen> ← Fahrzeuggruppen (Zugteile) <FoFahrzeugGruppe FoFahrzeugGruppeID="..."> <FoFahrzeugGruppenStartText>...</...> <FoFahrzeugGruppenZielText>...</...> <FoFahrzeugePositionen> <FoFahrzeugPosition> <FoFahrzeugIDREF>...</...> <FoPosition>1</...> </FoFahrzeugPosition> </FoFahrzeugePositionen> </FoFahrzeugGruppe> </FoFahrzeugGruppen> <FoFahrzeugGruppenFahrtAbschnitte> ← Abschnitte (Streckenteile) <FoFahrzeugGruppenFahrtAbschnitt> <FoAbschnitt> <StartHaltID>...</...> <EndHaltID>...</...> </FoAbschnitt> </FoFahrzeugGruppenFahrtAbschnitt> </FoFahrzeugGruppenFahrtAbschnitte> <FoHalte> ← Fahrzeuge an jeder Haltestelle <FoHalt> <HaltID>...</...> <FoAnkunftGleichAbfahrt>true</...> <FoAbfahrt> <FoFahrzeugeAmHalt> <FoFahrzeugAmHalt> <FoFahrzeugIDREF>...</...> <FoErweiterung> <Zugaenglichkeit xmlns="http://www.init-ka.de/accessibility"> <Barrierefreiheit>true | false</...> </Zugaenglichkeit> </FoErweiterung> </FoFahrzeugAmHalt> </FoFahrzeugeAmHalt> </FoAbfahrt> </FoHalt> </FoHalte> <FoFahrzeugBelegungFahrtAbschnitte> ← Belegung je Fahrzeug & Abschnitt <FoFahrzeugBelegungFahrtAbschnitt> <FoAbschnitt> <StartHaltID>...</...> <EndHaltID>...</...> </FoAbschnitt> <FoFahrzeugeBelegungen> <FoFahrzeugBelegung> <FoFahrzeugIDREF>...</...> <FoBelegungProzentual>42</...> </FoFahrzeugBelegung> </FoFahrzeugeBelegungen> </FoFahrzeugBelegungFahrtAbschnitt> </FoFahrzeugBelegungFahrtAbschnitte> </IstFormation> </IstFahrt> </AUSNachricht> </DatenAbrufenAntwort>

4. Datenbereiche im VDV 454

Die von unserer Anwendung verarbeiteten VDV-454-Daten lassen sich in vier Bereiche gliedern:

1 Fahrt-Ist-Daten

Kerninformation jeder IstFahrt:

ElementBedeutung
FahrtBezeichnerEindeutiger Bezeichner der Fahrt
BetriebstagDatum im Format YYYY-MM-DD
LinienID / LinienTextLiniennummer und -name
RichtungsIDFahrtrichtung (Hin/Rück)
UmlaufIDUmlauf-Kennung des Fahrzeugs
BetreiberBetreiberkennung
Komplettfahrttrue = vollständiger Datensatz
ZusatzfahrtAußerplanmäßige Fahrt
FaelltAusFahrt wurde gestrichen

2 Haltestellen-Ist-Daten

Je IstHalt einer Fahrt:

ElementBedeutung
HaltIDEindeutige Haltestellen-ID
AbfahrtszeitSoll-/Ist-Abfahrtszeit
IstAbfahrtPrognosePrognostizierte Abfahrtszeit
IstAbfahrtPrognoseStatusReal = tatsächlich gemessen, sonst Prognose
BesetztgradAuslastung auf Haltestellenebene
EinsteigeverbotKein Einstieg an dieser Hst
AussteigeverbotKein Ausstieg an dieser Hst
DurchfahrtFahrt hält nicht

3 Formations-Daten

Der optionale Block IstFormation beschreibt den Zugverband:

TeilbereichInhalt
FoFahrzeugeListe der Fahrzeuge mit ID, Typ und Ausstattung (Sitzplätze, Stehplätze)
FoFahrzeugGruppenGruppierung in Zugteile mit Start-/Zielhaltestelle und Fahrzeugpositionen
FoFahrzeugGruppenFahrtAbschnitteStreckenabschnitte (Start-/Endhaltestelle), in denen die Formation gilt
FoHalteWelche Fahrzeuge an welcher Haltestelle bei Ab-/Ankunft stehen, inkl. Barrierefreiheit
FoFahrzeugBelegungFahrtAbschnitteProzentuale Belegung je Fahrzeug und Streckenabschnitt

4 Prognose-Daten

Zeitliche Dimension durch wiederholte Telegramme:

AspektBeschreibung
Telegramm-ZeitstempelBestaetigung.Zst – Wann wurde dieses Telegramm erzeugt?
Prognose-StatusIstAbfahrtPrognoseStatus = "Real" bei gemessenen Werten
PrognoseMoeglichGibt an, ob das Leitsystem eine Prognose berechnen kann
BelegungsprognoseProzentuale Fahrzeugbelegung (FoBelegungProzentual) über mehrere Telegramme hinweg

5. Dateiformate und Quellsysteme

Unterstützte Dateiformate

Obwohl VDV 454 einen einheitlichen XML-Standard definiert, liefern verschiedene Leitsysteme die Daten in unterschiedlichen Transportformaten:

Format Endung Beschreibung Besonderheiten
XML .xml Natives XML-Format. Jede Datei enthält eine oder mehrere DatenAbrufenAntwort-Blöcke als vollständiges XML-Dokument. Wird mit XDocument.Load() geladen. Encoding: UTF-8.
LOG .log Textbasierte Logdateien, in denen XML-Telegramme eingebettet sind. Typisch für Mitschnitte aus Leitsystemen. Zwei Varianten:
  • Einzeiler: Komplette <DatenAbrufenAntwort>...</DatenAbrufenAntwort> in einer Zeile
  • Mehrzeiler: XML-Block über mehrere Zeilen verteilt
XMLLOGS .xmllogs Hybridformat: Logdatei mit XML-Fragmenten. Wird wie LOG-Dateien verarbeitet. Gleiche Parsing-Logik wie .log
ZIP .zip Archiv mit beliebigen der obigen Formate. Wird vor der Verarbeitung automatisch entpackt. Entpackung in temporären Ordner

Bekannte Quellsysteme

Quellsystem Erkennung Encoding Besonderheit
Lumino Logzeile enthält den String "lumino" (case-insensitive) Latin1 (ISO 8859-1) Umlaute in Haltestellennamen werden als Latin1 kodiert; ohne Erkennung würden Sonderzeichen fehlerhaft dargestellt
INIT Implizit durch XML-Namespace http://www.init-ka.de/accessibility in den Barrierefreiheits-Daten UTF-8 Liefert Barrierefreiheits-Erweiterung (Zugaenglichkeit) als herstellerspezifisches XML-Namespace-Element
Andere / Standard Kein spezieller Marker erkannt UTF-8 (Fallback) Standard-VDV-454-Verarbeitung ohne Sonderbehandlung
Encoding-Fallstrick: Die Erkennung des Quellsystems erfolgt vor der XML-Deserialisierung. Wird ein Lumino-Log fälschlich als UTF-8 gelesen, sind Umlaute in Haltestellennamen korrumpiert (z. B. "Marktplatz (Karlsruhe)" → Zeichensalat).

Element-Normalisierung

Da unterschiedliche Quellsysteme XML-Elemente in variierender Gross-/Kleinschreibung liefern, normalisiert die Anwendung alle Element-Namen auf Kleinbuchstaben (TransformToLowerCaseElements), bevor sie per XPath gesucht werden. Die anschliessende XmlSerializer-Deserialisierung arbeitet jedoch case-sensitiv auf den Original-Daten.

6. Verarbeitungspipeline

Die Verarbeitung durchläuft folgende Stufen:

Rohdateien (.xml / .log / .xmllogs / .zip) ============================================ | [1. InitImport] | - ZIP-Archive entpacken | - Dateien in Temp-Ordner kopieren | - Betriebstage aus XML extrahieren | - Anzahl DatenAbrufenAntwort und IstFahrt zählen | - Quellsystem erkennen (Lumino, Standard) v ImportSession mit Dateiliste + Betriebstag-Auswahl ============================================ | [2. SplitDateien] | - Nur Dateien für gewählten Betriebstag verarbeiten | - XML-Dateien direkt deserialisieren | - LOG-Dateien zeilenweise lesen: | Einzeiler: XML direkt parsen | Mehrzeiler: Zeilen sammeln bis </DatenAbrufenAntwort> | - Encoding: Latin1 (Lumino) oder UTF-8 (Standard) v DatenAbrufenAntwortXmlModel pro Telegramm ============================================ | [3. ProcessDatenAbrufenItem] | - XmlSerializer-Deserialisierung | - IstFahrt-Einträge nach Betriebstag filtern | - IstFahrtRowModel erzeugen (interne Darstellung) | - Zeitstempel aus Bestaetigung.Zst übernehmen v Dictionary<FahrtBezeichner, List<IstFahrtRowModel>> ============================================ | [4. Gruppierung & Zusammenbau] | - Telegramme nach FahrtBezeichner gruppieren | - Chronologisch sortieren (AbrufenAntwortZeitstempel) | - Bei erneutem Komplettfahrt=true: neue logische Fahrt | - OutputFahrtModel je Fahrt-Instanz erzeugen | - Formations-Daten aggregieren: | Fahrzeuge, Gruppen, Positionen, Ausstattung v Liste von OutputFahrtModel (je mit FahrtRows) ============================================ | [5. Dateisystem-Ausgabe] | - *_kopf.json (Kopfdaten + Fahrzeugliste) | - *_alles.json (Kopfdaten + alle Telegramme) | - _vdv454_import_YYYYMMDD.json (Import-Metadaten) v Daten/YYYY/MM/DD/ (Ordnerstruktur nach Betriebstag)

Manueller vs. automatisierter Import

Manuell WPF-Anwendung

  • Benutzer wählt Import-Ordner
  • Klick auf "Vorbereiten" → Dateien scannen
  • Betriebstag auswählen
  • Klick auf "Einlesen" → Import starten
  • Fortschrittsanzeige im Steuerungspanel
  • Ergebnis sofort in der UI anzeigbar

Automatisch Windows-Service

  • FolderWatcherService: Überwacht Eingangsordner per FileSystemWatcher
  • Erkennt neue Dateien (.log, .xml, .xmllogs, .zip)
  • Wartet bis Datei vollständig geschrieben (bis zu 30s, alle 500ms prüfen)
  • Verschiebt Dateien in organisierten Ordner
  • AutoImportService: Täglich um konfigurierbare Uhrzeit (Standard: 03:00)
  • Verarbeitet automatisch die letzten 3 Betriebstage

7. Prognose-Auswertung und Zeitscheiben

Was ist eine Belegungsprognose?

Für jede Fahrt sendet das Leitsystem über den Betriebstag hinweg wiederholt Telegramme mit aktualisierten Belegungsdaten. Je näher die tatsächliche Abfahrt an einer Haltestelle rückt, desto genauer wird die Prognose. Die Anwendung analysiert, wie sich die Belegungsprognose im zeitlichen Verlauf verändert.

Zeitscheiben (Time Buckets)

Um die zeitliche Distanz zwischen Telegramm-Erstellung und tatsächlicher Abfahrt zu kategorisieren, werden Zeitscheiben definiert:

Zeitscheibe Bedingung Bedeutung
30 Differenz ≥ 30 Minuten Frühe Prognose – größte Unsicherheit
15 Differenz ≥ 15 Minuten Vorab-Prognose
10 Differenz ≥ 10 Minuten Mittelfristige Prognose
5 Differenz ≥ 5 Minuten Kurzfristige Prognose
1 Differenz ≥ 1 Minute Nahezu Echtzeit
0 Differenz ≥ 0 Minuten Echtzeit / Ist-Wert

Berechnungsformel

Differenz (Min.) = Abfahrtszeit an Haltestelle - Telegramm-Zeitstempel (Bestaetigung.Zst)

Beispiel:
  Abfahrt an Hst "Marktplatz":   08:45:00
  Telegramm-Zeitstempel:         08:14:30
  Differenz:                      30.5 Minuten
  => Zeitscheibe:                 30
Lückenfüllung: Wenn für eine Haltestelle/Fahrzeug-Kombination in einer Zeitscheibe kein Belegungswert vorliegt, wird der Wert der nächstgrößeren Zeitscheibe übernommen. Das Feld BesetztgradFromPreviousZeitscheibe kennzeichnet solche übertragenenen Werte.

Datenmodell der Prognose-Auswertung

FahrtPrognoseModel ├── Fahrt-Kopfdaten (LinienId, Fahrtbezeichner, Start/Ende, UmlaufId) ├── Haltestellen[] │ ├── HaltId, HaltName │ └── IstAbfahrtszeitReal (gemessene Abfahrt mit Status "Real") ├── Fahrzeuge[] │ ├── FahrzeugId │ └── FzgUicOrdnungsnummer ├── Belegungen[] (Rohdaten aus allen Telegrammen) │ ├── AbrufenAntwortZeitstempel │ ├── StartHaltId / EndHaltId │ ├── FahrzeugId │ ├── Besetztgrad (prozentual) │ └── Zeitscheibe (berechnet) └── BelegungenOutput[] (aggregiert: je Hst x Fzg x Zeitscheibe) ├── HaltId, FahrzeugId, Zeitscheibe ├── Besetztgrad (letzter bekannter Wert) └── BesetztgradFromPreviousZeitscheibe (true wenn übernommen)

8. Datenausgabe und Export

JSON-Speicherung (Primärformat)

Der Import erzeugt pro Fahrt-Instanz zwei JSON-Dateien:

Datei Namensschema Inhalt Verwendung
Kopf {FahrtBezeichner}_{FahrtNr}_kopf.json Fahrt-Metadaten + Fahrzeugliste aus Formation (keine Telegramm-Details) Schnelle Übersicht, Fahrten-Tabelle in der UI
Alles {FahrtBezeichner}_{FahrtNr}_alles.json Vollständige Fahrt mit allen empfangenen Telegrammen (FahrtRows) Detailansicht, Formation, Prognose-Auswertung
Meta _vdv454_import_YYYYMMDD.json Import-Metadaten (Betriebstag, Zeitpunkt, Anzahl Fahrten, Fehler) Import-Protokoll, Betriebstag-Suche

Ordnerstruktur

Datenordner/
  └── 2024/
       └── 03/
            └── 15/                                  (Betriebstag)
                 ├── L10001_1_kopf.json
                 ├── L10001_1_alles.json
                 ├── L10002_1_kopf.json
                 ├── L10002_1_alles.json
                 ├── L10001_2_kopf.json              (2. Umlauf gleiche Linie)
                 ├── L10001_2_alles.json
                 └── _vdv454_import_20240315.json

CSV-Export (Belegungsprognose)

Der BetriebstagPrognoseProcessor liest die *_alles.json-Dateien eines Betriebstages und erzeugt pro Fahrt eine CSV-Datei mit der aggregierten Belegungsprognose:

CSV-Spalte Quelle Beschreibung
LinienIdIstFahrtLiniennummer
RichtungsIdIstFahrtFahrtrichtung
FahrtbezeichnerFahrtRefEindeutige Fahrt-Kennung
FahrtStartFahrtStartEndeStartzeit (YYYY-MM-DD HH:MM:SS)
FahrtEndeFahrtStartEndeEndzeit
UmlaufIdIstFahrtUmlauf-Kennung
HaltIdIstHaltHaltestellen-ID
Zeitscheibeberechnet0, 1, 5, 10, 15 oder 30
AbfahrtszeitRealIstHalt (Status=Real)Tatsächliche Abfahrtszeit
FahrzeugIdIstFormationFahrzeug-Kennung
FzgUicOrdnungsnummerIstFormationUIC-Wagennummer
BesetztgradFoBelegungProzentualBelegung in Prozent
BesetztgradFromPreviousZeitscheibeberechnet"Ja" wenn aus größerer Zeitscheibe übernommen
Sortierung: Die CSV ist nach AbfahrtszeitRealFahrzeugIdHaltIdZeitscheibe (absteigend) sortiert. Trennzeichen ist Semikolon (;).

UI-Darstellung

Die Anwendung bietet drei Ansichten für die importierten Daten:

Fahrten-Ansicht

Fahrten-Ansicht

Formation Belegungsgrad

Formation (Belegungsgrad)

Formation Barrierefreiheit

Formation (Barrierefreiheit)

Fahrt-Detail

Fahrt-Detail (Mehrfach-Telegramme)

Ansicht VDV-454-Datenbasis Darstellung
Fahrten IstFahrt → IstHalt (Abfahrtszeiten, Prognose, Status) Zeilen = Telegramme, Spalten = Haltestellen. Farben zeigen Prognose-Status und Besetztgrad.
Formation IstFormation (FoHalte, Belegung, Barrierefreiheit) Zeilen = Fahrzeugpositionen, Spalten = Haltestellen. Umschaltbar zwischen Barrierefreiheit und Belegungsgrad.
Fahrt-Detail Mehrere IstFahrt mit gleichem FahrtBezeichner aber verschiedener FahrtNr Mehrere Telegramm-Blöcke nebeneinander. Einzeln ein-/ausblendbar über Checkboxen.

9. Glossar der VDV-454-Begriffe

VDV-454-Begriff Bedeutung im Kontext dieser Anwendung
DatenAbrufenAntwort Wurzelelement jeder VDV-454-Nachricht. Enthält eine Bestaetigung und die eigentlichen Nutzdaten (AUSNachricht). Jede empfangene Antwort wird als ein "Telegramm" bezeichnet.
AUSNachricht Container für ausgehende Nachrichten innerhalb einer DatenAbrufenAntwort. Enthält eine oder mehrere IstFahrt-Einträge.
Bestaetigung Kopfbereich mit Zeitstempel (Zst), Ergebniscode und Fehlernummer. Der Zeitstempel dient als Telegramm-Zeitpunkt.
IstFahrt Ein Ist-Datensatz zu einer einzelnen Fahrt. Enthält die Fahrt-Referenz, alle Haltestellen und optional die Formation.
FahrtRef / FahrtID Eindeutige Referenz einer Fahrt, bestehend aus FahrtBezeichner (z. B. "L10001") und Betriebstag.
Betriebstag Verkehrlicher Tag (YYYY-MM-DD). Kann vom Kalendertag abweichen (Nachtverkehr zählt oft noch zum Vortag).
IstHalt Ist-Daten einer Haltestelle: Zeiten, Prognosen, Steig, Ein-/Aussteigeverbote, Durchfahrt, Besetztgrad.
Komplettfahrt Boolean-Flag. true = das Telegramm enthält den vollständigen Haltestellenverlauf. Bei erneutem true für gleichen FahrtBezeichner beginnt eine neue Fahrt-Instanz (neuer Umlauf).
PrognoseMoeglich Boolean. Gibt an, ob das Leitsystem für diese Fahrt eine Echtzeitprognose berechnen kann. Wird in der UI als 3-State-Checkbox dargestellt.
IstAbfahrtPrognose Prognostizierte Abfahrtszeit. Wird anstelle der Soll-Abfahrt angezeigt, solange PrognoseMoeglich = true.
IstAbfahrtPrognoseStatus "Real" = tatsächlich gemessener Wert (Fahrzeug hat die Haltestelle bereits passiert). Andere Werte (z. B. "Prognose") = berechnete Schätzung.
Besetztgrad Auslastungsgrad einer Fahrt oder Haltestelle als Freitext-String auf Fahrtebene bzw. als prozentuale Zahl (FoBelegungProzentual) auf Fahrzeugebene in der Formation.
IstFormation Optionaler Block mit der vollständigen Fahrzeugformation: Fahrzeuge, Gruppen, Abschnitte, Haltestellen-Zuordnung, Barrierefreiheit und Belegung.
FoFahrzeug Ein Fahrzeug in der Formation, identifiziert durch FoFahrzeugID. Enthält Typ und Ausstattung (Sitz-/Stehplätze).
FoFahrzeugGruppe Ein Zugteil (Traktion) mit eigener Start-/Zielhaltestelle. Enthält die Positionierung der zugehörigen Fahrzeuge.
FoFahrzeugGruppenFahrtAbschnitt Streckenabschnitt, in dem eine bestimmte Fahrzeugkonfiguration gilt. Definiert durch Start- und Endhaltestelle.
FoHalt Formationsinformationen an einer Haltestelle: Welche Fahrzeuge stehen bei Abfahrt/Ankunft, mit Barrierefreiheits-Status.
Zugaenglichkeit / Barrierefreiheit INIT-spezifische Erweiterung (Namespace init-ka.de/accessibility). Boolean: true = Fahrzeug ist barrierefrei zugänglich.
FoBelegungProzentual Prozentuale Belegung eines Fahrzeugs in einem Streckenabschnitt. Basis für die Belegungsprognose-Auswertung.
FoAnkunftGleichAbfahrt Boolean. true = An dieser Haltestelle entspricht die Ankunftsformation der Abfahrtsformation (kein Rangieren).
Einsteigeverbot Boolean. true = An dieser Haltestelle dürfen keine Fahrgäste einsteigen.
Aussteigeverbot Boolean. true = An dieser Haltestelle dürfen keine Fahrgäste aussteigen.
Durchfahrt Boolean. true = Das Fahrzeug hält nicht an dieser Haltestelle (fährt durch).
UmlaufID Kennung des Fahrzeugumlaufs. Ein Umlauf umfasst alle Fahrten, die ein Fahrzeug an einem Betriebstag absolviert.
Zusatzfahrt Boolean. true = Diese Fahrt ist nicht im Fahrplan vorgesehen (Verstärkerfahrt, Sonderfahrt).
FaelltAus Boolean. true = Die ursprünglich geplante Fahrt wurde gestrichen.
Zeitscheibe Anwendungsspezifischer Begriff (kein VDV-Standard): Zeitliche Kategorie der Prognosedistanz (0, 1, 5, 10, 15, 30 Minuten).
Telegramm Umgangssprachlich für eine einzelne DatenAbrufenAntwort. Mehrere Telegramme pro Fahrt und Betriebstag sind der Normalfall.

VDV 454 Kontext-Dokument — generiert aus der Codebase-Analyse