Skip to content

StopTimetable-Request (Aushangfahrplan)

Liefert den Aushang­fahrplan — also die Soll-Abfahrten — für eine konkrete Linie an einer bestimmten Haltestelle. Ausgabe ist optional als base64-kodiertes PDF möglich.

Endpoint

  • Pfad: XML_STT_REQUEST
  • Methode: GET

Obligatorische Parameter

ParameterWerteBeschreibung
modedirectPflicht für die JSON-Schnittstelle
Point-Input mit Suffix _sttHaltestelle
Line-Input (line)Bedienende Linie

Optionale Parameter

ParameterWerteBeschreibung
base641Antwort enthält zusätzlich ein base64-codiertes PDF des Aushangs
mrgSt1Dubletten zusammenfassen (Default: je Steig/Bahnsteig separate Ausgabe)

Siehe auch Datum & Uhrzeit und gemeinsame Parameter.

Beispiel-Request

GET /XML_STT_REQUEST
    ?outputFormat=JSON
    &mode=direct
    &type_stt=any
    &name_stt=de:05911:5494
    &line=apb:05136:12b:R
    &mrgSt=1

Antwort (Beispiel)

json
{
  "servingLine": { "name": "196", "direction": "Essen Kray", "mot": 5 },
  "timetable": [
    { "hour": 5, "minutes": ["12", "32"] },
    { "hour": 6, "minutes": ["02", "22", "42"] },
    { "hour": 7, "minutes": ["02", "12", "22", "32", "42", "52"] }
  ],
  "pdfBase64": null
}

Mit base64=1 enthält pdfBase64 das druckfertige Aushang-PDF.

JavaScript-Beispiele

js
async function getStopTimetable(stopId, line, { mergeBays = true } = {}) {
  const base = 'https://server:port/virtuellesVerzeichnis/XML_STT_REQUEST'
  const usp = new URLSearchParams({
    outputFormat: 'JSON',
    mode: 'direct',
    type_stt: 'any',
    name_stt: stopId,
    line
  })
  if (mergeBays) usp.set('mrgSt', '1')
  const res = await fetch(`${base}?${usp}`)
  if (!res.ok) throw new Error('HTTP ' + res.status)
  return res.json()
}
ts
import { writeFile } from 'node:fs/promises'

export async function downloadTimetablePdf(stopId: string, line: string, out: string) {
  const base = 'https://server:port/virtuellesVerzeichnis/XML_STT_REQUEST'
  const usp = new URLSearchParams({
    outputFormat: 'JSON',
    mode: 'direct',
    type_stt: 'any',
    name_stt: stopId,
    line,
    base64: '1'
  })
  const res = await fetch(`${base}?${usp}`)
  const data = await res.json() as { pdfBase64: string }
  await writeFile(out, Buffer.from(data.pdfBase64, 'base64'))
}

Hinweise

  • URL-Pfad beachten: XML_STT_REQUEST (nicht XML_STOPTIMETABLE_REQUEST).
  • Ohne mrgSt=1 wird der Aushang je Bahnsteig/Steig separat geliefert — sinnvoll für große Knoten mit mehreren Abfahrtsorten derselben Linie.
  • Für die Live-Sicht auf einen Halt (alle Linien, Echtzeit) siehe DM-Request.