DMTTP-Request (Soll-Abfahrtsmonitor)
Liefert geplante (Soll) Abfahrten/Ankünfte an einer Haltestelle. Im Gegensatz zu DM liegt der Fokus auf dem Fahrplan (ohne/mit separater Echtzeit).
Endpoint
- Pfad:
XML_DMTTP_REQUEST
- Methode: GET
Parameter (Auszug)
Parameter | Typ | Beschreibung |
---|---|---|
stopId | string | Haltestellen-ID |
time | string | Zeit HHMM |
date | string | Datum YYYYMMDD |
limit | number | Maximale Anzahl Abfahrten |
includeRealtime | 0/1 | Echtzeit separat anreichern |
Beispiel-Request
GET /XML_DMTTP_REQUEST?stopId=de:05513:1001&date=20250125&time=0815&limit=20
Antwort (Beispiel)
json
{
"timetable": [
{ "line": "196", "dir": "Kray", "sched": "08:22", "platform": "1" }
]
}
JavaScript-Beispiele
js
async function getTimetable(stopId, { date, time, limit = 20 } = {}) {
const base = 'https://server:port/virtuellesVerzeichnis/XML_DMTTP_REQUEST'
const usp = new URLSearchParams({ stopId, limit: String(limit) })
if (date) usp.set('date', date)
if (time) usp.set('time', time)
const res = await fetch(`${base}?${usp}`)
if (!res.ok) throw new Error('HTTP ' + res.status)
return res.json()
}
ts
export async function mapToBoardRows(stopId: string) {
const data = await getTimetable(stopId, { limit: 10 })
return data.timetable.map(r => ({
label: `${r.line} → ${r.dir}`,
time: r.sched,
platform: r.platform ?? '-'
}))
}
title: DMTTP-Request (Soll-Abfahrtsmonitor) outline: deep
DMTTP-Request (Soll-Abfahrtsmonitor)
Liefert geplante (Soll-) Abfahrten/Ankünfte an einer Haltestelle ohne Echtzeitüberlagerung. Nützlich für Aushänge oder Vorab-Planung.
Endpoint
- Pfad:
XML_DMTTP_REQUEST
- Methode: GET
Parameter (Auszug)
Parameter | Typ | Beschreibung |
---|---|---|
stopId | string | Haltestellen-ID |
date | string | Datum YYYYMMDD |
time | string | Zeit HHMM |
limit | number | Maximale Anzahl Abfahrten |
lines | string | Optional: Filter auf Linien, z. B. 196,U11 |
dir | string | Optional: Richtung/Endhaltestelle als Filter |
Beispiel-Request
GET /XML_DMTTP_REQUEST?stopId=de:05513:1001&date=20250125&time=0815&limit=15
Antwort (vereinfachtes Beispiel)
json
{
"departures": [
{ "line": "196", "dir": "Kray", "time": "08:22", "plannedPlatform": "1" }
],
"realtime": false
}
JavaScript-Beispiele
js
async function getPlannedDepartures(stopId, { date, time, limit = 10, lines, dir } = {}) {
const base = 'https://server:port/virtuellesVerzeichnis/XML_DMTTP_REQUEST'
const usp = new URLSearchParams({ stopId, limit: String(limit) })
if (date) usp.set('date', date)
if (time) usp.set('time', time)
if (lines) usp.set('lines', lines)
if (dir) usp.set('dir', dir)
const res = await fetch(`${base}?${usp}`)
if (!res.ok) throw new Error('HTTP ' + res.status)
return res.json()
}
ts
import { getDeparturesCached } from './DM-Request-helper' // Beispiel: Ihre DM-Hilfsfunktion
export async function comparePlannedVsRealtime(stopId: string) {
const [planned, realtime] = await Promise.all([
getPlannedDepartures(stopId, {}),
getDeparturesCached(stopId)
])
// Abgleich pro Linie/Fahrt anhand Zeit/Stopp
return { planned, realtime }
}
Hinweise
- Verwenden Sie DMTTP für „ruhige“ Timetable-Ansichten; für Displays mit Live-Daten ist DM vorzuziehen.
- Ein Filter auf
lines
kann die Übersichtlichkeit stark verbessern.