ParkObject-Request
Detailinformationen zu einem konkreten Parkobjekt — Parkhaus, Parkplatz, Park&Ride, Parkzone oder ausgewiesene Ladeinfrastruktur. Optional inklusive Echtzeit-Auslastung.
Endpoint
- Pfad:
XML_PARKOBJECT_REQUEST - Methode: GET
Obligatorische Parameter
| Parameter | Werte | Beschreibung |
|---|---|---|
extendedParkingClasses | 1 | Aktiviert die strukturierte Detail-Ausgabe |
parkObjInfo | 1 | Aktiviert die Detail-Ausgabe |
Zusätzlich genau eine Selektor-Angabe:
| Parameter | Wert | Beschreibung |
|---|---|---|
paID | Parkobjekt-ID | Direktauswahl über die Parkobjekt-ID |
paIDStop | Halte-ID | Auswahl über eine als Parkobjekt ausgewiesene Haltestelle |
Optionale Parameter
| Parameter | Werte | Beschreibung |
|---|---|---|
parkObjInfoStatic | 1 | Statische Info (Kapazität, Adresse, Öffnungszeiten) mitliefern |
parkObjInfoRealtime | 1 | Echtzeit-Auslastung mitliefern (setzt parkObjInfo=1 voraus) |
Beispiel-Request
GET /XML_PARKOBJECT_REQUEST
?outputFormat=JSON
&paID=1-751
&extendedParkingClasses=1
&parkObjInfo=1
&parkObjInfoStatic=1
&parkObjInfoRealtime=1Antwort (Beispiel)
json
{
"parkObject": {
"id": "1-751",
"name": "P&R Essen Hbf Nord",
"type": "PARKRIDE",
"static": {
"capacity": 180,
"address": "Freiheit 12, 45127 Essen",
"openingHours": "24/7"
},
"realtime": {
"occupancy": 142,
"free": 38,
"updatedAt": "2025-01-25T08:14:30Z"
}
}
}JavaScript-Beispiele
js
const base = 'https://server:port/virtuellesVerzeichnis/XML_PARKOBJECT_REQUEST'
async function getParkObjectDetail(paID, { realtime = true } = {}) {
const usp = new URLSearchParams({
outputFormat: 'JSON',
paID,
extendedParkingClasses: '1',
parkObjInfo: '1',
parkObjInfoStatic: '1'
})
if (realtime) usp.set('parkObjInfoRealtime', '1')
const res = await fetch(`${base}?${usp}`)
if (!res.ok) throw new Error('HTTP ' + res.status)
return res.json()
}ts
export function occupancyRatio(po: {
static?: { capacity?: number }
realtime?: { occupancy?: number }
}) {
const cap = po.static?.capacity ?? 0
const occ = po.realtime?.occupancy ?? 0
if (!cap) return null
return Math.min(1, occ / cap)
}Hinweise
- Detailinfos immer einzeln pro Parkobjekt anfragen — der Endpoint ist nicht für Massenabfragen gedacht.
- Für die räumliche Suche nach Parkobjekten (bbox, Umkreis, nach Typ) siehe CoordInfo-Request mit dem Parking-Filter-Block.
parkObjInfoRealtime=1ohneparkObjInfo=1wirkt nicht — die Echtzeit-Flag setzt die Basis-Detail-Flag voraus.