StopTimetable-Request (Aushangfahrplan)
Liefert den Aushangfahrplan — 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
| Parameter | Werte | Beschreibung |
|---|---|---|
mode | direct | Pflicht für die JSON-Schnittstelle |
Point-Input mit Suffix _stt | — | Haltestelle |
Line-Input (line) | — | Bedienende Linie |
Optionale Parameter
| Parameter | Werte | Beschreibung |
|---|---|---|
base64 | 1 | Antwort enthält zusätzlich ein base64-codiertes PDF des Aushangs |
mrgSt | 1 | Dubletten 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=11
2
3
4
5
6
7
2
3
4
5
6
7
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
}1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
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()
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
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'))
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Hinweise
- URL-Pfad beachten:
XML_STT_REQUEST(nichtXML_STOPTIMETABLE_REQUEST). - Ohne
mrgSt=1wird 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.