Die Verordnung (EG) 561/2006 ist Arithmetik. Viereinhalb Stunden Lenkzeit, dann 45 Minuten Pause. Neun Stunden am Tag, zweimal wöchentlich elf, eine tägliche Ruhezeit von mindestens elf Stunden. Jedes ernstzunehmende Planungswerkzeug kann berechnen, wo die Uhr abläuft — unseres auch.
Die Verordnung sagt nichts darüber, ob es einen Platz für den Lkw gibt.
Genau das raubt Disponenten den Schlaf, denn das Scheitern endet nicht mit einem Bußgeld, sondern mit einem Fahrer, der um 21:30 Uhr vor einem vollen Lkw-Parkplatz steht und zwischen Standstreifen und illegaler Weiterfahrt wählen muss. Und es lässt sich schwer einplanen, weil die Karte auf eine ganz bestimmte Weise in die Irre führt: Der Parkplatz verschwindet nicht, wenn er voll ist. Jedes statische Verzeichnis zeigt ihn weiter an, in voller Größe, die ganze Nacht.
„Gibt es einen Lkw-Parkplatz?“ ist die falsche Frage
Nehmen wir Österreich — dort haben wir Belegungsdaten auf Stellplatzebene, an denen sich die Karte überprüfen lässt.
Das statische Verzeichnis meldet für das ASFINAG-Autobahn- und Schnellstraßennetz 241 Lkw-Parkplätze mit 9.135 Lkw-Stellplätzen. Das ist die Zahl, die eine Abdeckungskarte zeigt, und sie stimmt. Nach Einbruch der Dunkelheit ist sie trotzdem wertlos, weil sie den Beton beschreibt und nicht die Verfügbarkeit.
Davon veröffentlichen 86 Standorte — 5.851 Lkw-Stellplätze — ihre Belegung live, die wir im 60-Sekunden-Takt abrufen. Seit dem 30. Juni 2026 zeichnen wir jede Änderung dieser Standorte auf: rund 119.000 Beobachtungen in dreißig Tagen. Gruppiert man diese Historie nach Tagesstunde, entsteht die Kurve, die eine statische Karte nicht zeigen kann.
| Ortszeit (Österreich, MESZ) | Belegte Stellplätze | Ø freie Stellplätze je Standort |
|---|---|---|
| 08:00 – 14:00 | ~40 % | ~43 |
| 17:00 | 55,2 % | 33,3 |
| 19:00 | 70,2 % | 23,4 |
| 21:00 | 76,9 % | 18,6 |
| 22:00 (Spitze) | 77,8 % | 18,1 |
| 00:00 – 04:00 | ~76–77 % | ~19 |
Die netzweite Belegung verdoppelt sich ungefähr zwischen dem späten Vormittag und 22:00 Uhr und hält dieses Niveau dann bis etwa vier Uhr morgens. Als Netzdurchschnitt gelesen klingt das noch beherrschbar — 77 % belegt heißt 23 % frei, und 18 offene Stellplätze pro Standort sind nicht nichts.
Dieser Durchschnitt ist die Falle. Belegung verteilt sich nicht höflich über das Netz, sie konzentriert sich — und einzelne Parkplätze gehen hart auf null:
- 57 der 86 Live-Standorte hatten im Dreißig-Tage-Fenster mindestens einmal null freie Stellplätze.
- Um 23:00 Uhr Ortszeit waren 47 von 83 in dieser Stunde beobachteten Standorten im Fenster mindestens einmal komplett voll. Um 06:00 Uhr Ortszeit nur 2.
- Ein ganz gewöhnlicher Parkplatz, Wiener Neustadt, 40 Lkw-Stellplätze: durchschnittlich freie Stellplätze um 07:00 Uhr Ortszeit 21,1. Um 20:00 Uhr Ortszeit: 1,9. Ab 18:00 Uhr Ortszeit weist jede Stundengruppe ein aufgezeichnetes Minimum von 0 auf.
Wiener Neustadt ist kein Ausnahmefall, sondern Normalfall — und für die gesamte zweite Hälfte des Abends lautet die ehrliche Antwort auf „Kann mein Fahrer hier halten?“: wahrscheinlich nicht, und das hätten Sie in der Disposition wissen müssen.
Dasselbe Netz wirkte am 30. Juli um 09:08 Uhr Ortszeit völlig entspannt: null von 86 Standorten voll, nur zwei bis auf die letzten zwei Stellplätze belegt. Arnoldstein an der italienischen Grenze lag bei 12 % Belegung mit 352 von 402 freien Lkw-Stellplätzen. Beide Bilder sind wahr. Zwischen ihnen liegen elf Stunden. Eine Zahl, die beim Frühstück richtig und zur Schlafenszeit falsch ist, muss live gelesen werden — sonst lohnt sich das Lesen nicht.
Live-Belegung, im selben /features-Aufruf wie alles andere
Die ASFINAG veröffentlicht das als zwei DATEX-II-Dokumente: eine statische ParkingTablePublication mit den Standorten und eine dynamische ParkingStatusPublication mit den freien Plätzen. Für sich genommen ist keines brauchbar — dem Statusdokument fehlt die Geometrie, der Tabelle die Belegung. Wir verknüpfen beide über parkingRecordReference und veröffentlichen ein Feature je Standort mit eingebetteten Live-Zahlen:
curl -H "X-API-Key: $KEY" \
"https://api.napspan.com/api/v1/features?type=truck_parking&jurisdiction=AUT"
{
"data": [
{
"id": "AUT-tp-PARK000064",
"source": "AUT",
"jurisdiction": "AUT",
"feature_type": "truck_parking",
"name": "Arnoldstein Zollamt",
"latitude": 46.540813,
"longitude": 13.670096,
"is_active": true,
"properties": {
"truck_parking": true,
"capacity": 431,
"truck_spaces": 402,
"available_spots": 352,
"occupied_spots": 50,
"occupancy_pct": 12,
"occupancy_status": "spacesAvailable",
"opening_status": "open",
"occupancy_updated": "2026-07-30T07:01:44Z"
},
"last_updated": "2026-07-30T07:08:00Z"
}
]
}
Drei Details in dieser Antwort sind wichtiger, als sie aussehen:
- Der Nenner ist
truck_spaces, nichtcapacity. Arnoldstein hat 431 Stellplätze, davon 402 für Lkw — undavailable_spotszählt ausschließlich Lkw-Stellplätze. Wer durchcapacityteilt, meldet an jedem gemischten Standort des Netzes stillschweigend zu wenig Auslastung auf der Lkw-Seite. available_spots: 0ist eine Tatsache, keine Lücke. Es bedeutet nachweislich voll. Ein Standort ohne Live-Feed lässt das Feld ganz weg. Diese beiden Zustände dürfen in Ihrem Code nicht zusammenfallen — „fehlt“ heißt unbekannt, „0“ heißt für Sie geschlossen.occupancy_updatedist der Zeitstempel der Zählung selbst, getrennt vonlast_updated. So können Sie veraltete Werte nach Ihrer eigenen Schwelle verwerfen, statt unserem Abrufzyklus zu vertrauen.
Und der Ländercode ist ISO 3166-1 alpha-3: ?jurisdiction=AUT, niemals AT — die zweibuchstabige Form ist kein Alias, sie liefert eine leere Ergebnismenge.
Der Verlauf: „Ist dieser Parkplatz zu meiner Ankunftszeit üblicherweise voll?“
Ein Live-Zählstand beantwortet eine Frage über das Jetzt. Die Disposition plant einen Halt für in sechs Stunden — dann ist der Live-Zählstand längst ein anderer. Für diese Lücke gibt es den Stundenverlauf, und er kommt über den Feature-Detail-Endpunkt:
curl -H "X-API-Key: $KEY" \
"https://api.napspan.com/api/v1/features/AUT-tp-PARK000402/details"
{
"data": { "id": "AUT-tp-PARK000402", "name": "Wr. Neustadt", ... },
"availability_trend": [
{ "hour": 5, "avg_available": 21.1, "avg_capacity": 71, "samples": 71 },
{ "hour": 12, "avg_available": 14.6, "avg_capacity": 71, "samples": 75 },
{ "hour": 18, "avg_available": 1.9, "avg_capacity": 71, "samples": 30 },
{ "hour": 20, "avg_available": 2.2, "avg_capacity": 71, "samples": 24 }
]
}
Vierundzwanzig Gruppen, gebildet aus den letzten dreißig Tagen aufgezeichneter Belegung für genau diesen Parkplatz. Das ist der Unterschied zwischen „gerade sind zwei Plätze frei“ und „dieser Parkplatz war einen Monat lang jeden Abend im einstelligen Bereich“ — und nur Zweiteres hilft um 14:00 Uhr, wenn Sie entscheiden, wo der Fahrer schläft.
Zwei Dinge, bevor Sie das plotten. Die Stunden sind UTC; Österreich lag in diesem Fenster durchgehend bei UTC+2, Gruppe 18 ist also 20:00 Uhr auf dem Display des Fahrers — vor der Anzeige für Menschen lokalisieren. Und samples steht dort, um gelesen zu werden: Die Gruppen werden bei Änderung geschrieben, eine dünn besetzte Gruppe verdient also weniger Vertrauen als eine gut besetzte. Wir veröffentlichen die Anzahl, statt sie wegzuglätten.
Wo es wirklich hingehört: auf die Route, neben die Pause
Einen Parkplatz per ID abzufragen ist der Debugging-Weg. Was einen Abend rettet, ist die Belegung, die bereits an der Route hängt — und an der Pause, die die Verordnung verlangt.
Schicken Sie eine normale Lkw-Route an POST /api/v1/routing/route mit include_features: ["truck_parking"], und die Parkplätze kommen im features[]-Kanal zurück — getrennt von den Gefahren-warnings[], opt-in und kostenlos, solange Sie nicht danach fragen:
{
"features": [
{
"type": "truck_parking",
"name": "Wr. Neustadt",
"distance_along_route_m": 184000,
"detour_m": 240,
"side": "right",
"available_spots": 3,
"capacity": 40,
"as_of": "2026-07-30T18:02:11Z",
"source": "AUT",
"geometry": { "type": "Point", "coordinates": [16.2, 47.8] }
}
]
}
Ergänzen Sie einen hos-Block mit der Uhr des Fahrers und ruleset: "eu_561", und die Antwort erhält zusätzlich eine hos[]-Projektion: wo die Pause fällt und welche Parkplätze vor dem Limit erreichbar sind statt danach. Wo ein Feed Live-Belegung veröffentlicht, folgen daraus zwei Dinge, die ein statisches Verzeichnis niemals leisten kann:
- Erreichbare Parkplätze werden nach freien Plätzen sortiert — der erste Vorschlag ist also der mit der höchsten Restwahrscheinlichkeit auf einen Platz, nicht bloß der nächstgelegene Beton.
- Der Halt wird mit
feasible: falsemarkiert, wenn jeder erreichbare Parkplatz als voll gemeldet wird. Das ist die Warnung, die zählt. Sie kommt zur Planungszeit, in einer API-Antwort, Stunden bevor sie sonst als Anruf aus einer Haltebucht einträfe.
Das reist auf derselben Anfrage wie die Lkw-Fahrverbote und VMS-Anzeigen des Korridors, seine Mautkosten, seine Grenzwartezeiten und die 561/2006-Pausenplanung selbst. Ein Aufruf liefert eine befahrbare Lkw-Route, die Regeln, die sie stoppen würden, was sie kostet, wo der Fahrer gesetzlich ruhen muss — und ob dort bei Ankunft ein Stellplatz frei sein wird.
Was diese Daten nicht leisten
Die ehrlichen Grenzen gehören zum Produkt, hier also ohne Schnörkel.
- Die meisten nationalen Feeds veröffentlichen Bestand, keine Belegung. Von den europäischen Lkw-Parkplatz-Feeds, die NAPSPAN führt, veröffentlicht nur eine Minderheit überhaupt Live-Zahlen — Slowenien, die Niederlande, Bayern und Lettland liefern uns Standorte und Kapazitäten ganz ohne Verfügbarkeit, und für die meisten allgemeinen
parking-Feeds gilt dasselbe. Österreich ist das Netz, auf dem dieser Beitrag aufbaut, weil dort die Live-Ebene sowohl vollständig genug zum Argumentieren als auch unter einer offenen Lizenz für die Weitergabe freigegeben ist. Wir benennen die Lücke lieber, als eine Karte einzufärben, die eine Abdeckung suggeriert, die wir nicht haben. - Auch in Österreich sind es 86 von 241 Standorten. Die übrigen 155 sind echte Parkplätze, die mit Kapazität und ohne Zählstand erscheinen. Ihre Oberfläche braucht einen dritten Zustand — frei / voll / meldet nicht — und ausgewählt wird er durch das Fehlen von
available_spots. - Dreißig Tage Historie sind dreißig Tage. Die österreichische Reihe beginnt am 30. Juni 2026 und der Verlaufs-Endpunkt blickt dreißig Tage zurück — heute ist das Fenster also die gesamte Aufzeichnung. Saisonalität steckt darin noch nicht, und ein August-Ferienmuster ist kein Februar-Muster. Das wird von allein besser; besser ist es noch nicht.
- Ein freier Stellplatz ist kein reservierter Stellplatz. Hier wird nichts gebucht. Sie erfahren, was der Betreiber gemeldet hat und wann — genau das, was Sie zur Wahl zwischen zwei Parkplätzen brauchen, aber keine Garantie, dass der Platz die nächsten zwanzig Minuten überlebt.
- Der Verlauf ist eine A-priori-Erwartung, keine Vorhersage. Ein Stundenmittel über dreißig Tage ist eine solide Grundrate und blind für den konkreten Donnerstag Ihres Fahrers. Nutzen Sie ihn, um Kandidaten zu sortieren und zu wissen, wann das Netz eng wird; für die letzte Entscheidung nehmen Sie den Live-Zählstand.
Der rote Faden
Das ist dasselbe Muster wie bei den fünf Straßendaten-Problemen, die jede grenzüberschreitende europäische Flotte trifft. Die Information existiert. Eine öffentliche Stelle veröffentlicht sie, ordentlich, unter einer offenen Lizenz. Sie kommt aufgeteilt auf zwei DATEX-II-Dokumente, die über einen Referenzschlüssel verknüpft werden müssen, in einem nationalen Profil, in eigenem Takt — und das einmal pro Land zu tun, für immer, ist eine Wartungsverpflichtung, die mit dem Produkt konkurriert, das Sie eigentlich verkaufen.
NAPSPAN erledigt diese Verknüpfung einmal. Österreichische Stellplatzzahlen kommen im selben truck_parking-Schema an wie jeder andere Parkplatz-Feed im System, filterbar nach Land, auf der Route neben Maut und Ruhezeiten mitgeführt, aus Europa ausgeliefert und vor der Auslieferung lizenzrechtlich eingestuft. Die österreichischen Daten veröffentlicht die ASFINAG unter CC BY 4.0 — Datenquelle: ASFINAG — licensed under CC BY 4.0 — und dieser Nachweis reist mit jedem Datensatz mit, den wir Ihnen übergeben.
Ausprobieren
- API-Dokumentation —
/featuresmittype=truck_parking,/features/{id}/detailsfür den Verlauf undPOST /routing/routemitinclude_features - Live-Karte — das österreichische Netz, wie es gerade jetzt aussieht
- Kostenloser API-Schlüssel — ohne Karte, 14 Tage Testphase
Den vollen Lkw-Parkplatz um 14:00 Uhr finden, nicht um 21:30 Uhr
Live-Belegung auf Stellplatzebene, Belegungsverlauf nach Stunden und 561/2006-Pausenplanung, die erreichbare Parkplätze nach freien Plätzen sortiert — in einem API-Aufruf. Kostenlose 14-tägige Testphase. Keine Karte.
Kostenlosen API-Schlüssel sichern Dokumentation lesen