TRA INFO HUB

API Documentation

JSON-Exporte für aktuelle TRA-Aktivierungen und den Austria-Widget-Luftraumstatus, gedacht für externe Systeme mit maschinenlesbarem Bedarf an Luftrauminformationen.

Endpunkt

export_austria_widget.php

Liefert den aktuellen Tagesstatus aller Lufträume, die im Austria Briefing Widget verfügbar sind. Enthalten sind TRAs aus dem TRA Manager sowie Airspaces mit Auswertung aus Air Use Plan und NOTAM-Daten.

https://tra.airspace.at/export_austria_widget.php?importer=abc123

Alle Zeitstempel in dieser API sind UTC. Lokale Zeitfelder werden absichtlich nicht ausgegeben. Ältere interne Runtime-Werte werden nur exportiert, wenn sie zum aktuellen lokalen Tag gehören.

Zugriff

Importer-Hash

Es wird derselbe Importer-Hash wie bei den TRA-Aktivierungsexporten verwendet. Übergabe erfolgt als importer. Der Beispiel-Hash ist ein Platzhalter und muss durch den zugewiesenen sechsstelligen Hash ersetzt werden.

Fehlender oder ungültiger Hash

Wenn der öffentliche Exportzugriff deaktiviert ist und der Hash fehlt oder inaktiv ist, antwortet der Endpunkt mit HTTP 403 und einem JSON-Fehlerobjekt.

Antwortobjekt

Anders als der TRA-Aktivierungsexport liefert dieser Endpunkt ein JSON-Objekt. Das items-Array enthält je verfügbarer TRA beziehungsweise je Austria-Widget-Airspace eine aktuelle Statuszeile.

Feld Typ Bedeutung
export string Immer austria_widget.
version integer Schema-Version. Die kompakte UTC-only API ist Version 2.
timezone string Für diesen Export immer UTC.
generated_at string UTC-Zeitpunkt, zu dem die Antwort erzeugt wurde.
evaluation_at string UTC-Zeitpunkt, der für die Statusauswertung verwendet wurde.
counts object Anzahl der Zeilen sowie Zähler für TRAs, Airspaces und aktive oder geplante TRAs.
items array Aktuelle Tagesstatus-Zeilen für jede verfügbare TRA beziehungsweise jeden Airspace.
summary object Kompakte tagesaktuelle Quellen-Update-Informationen. Details zu manuellen Aktivierungen werden nicht ausgegeben.

Item-Felder

Feld Typ Bedeutung
id string Stabile Zeilen-ID, zum Beispiel tra-2 oder ein Airspace-Hash.
type string tra oder airspace.
subject_id integer/string TRA-ID bei TRAs, Airspace-Designator oder Bundle-ID bei Airspaces.
name string Anzeigename aus dem Austria Widget.
group string Tower-Gruppe bei TRAs oder Kategorie bei Airspaces.
status string active, scheduled, inactive oder unknown. Bei TRAs bedeutet active aktivierter TRA-Luftraum. Bei restriktiven Airspaces bedeutet active gesperrt/eingeschränkt.
source string/null Primäre Quelle des Status: tra, nup, notam oder null.
valid_from / valid_to string UTC-Zeitfenster des aktuellen oder tagesrelevanten Status.
updated_at string UTC-Zeitpunkt des Quellenupdates, falls verfügbar und relevant.
sources object Kompakte Quellenzustände. Enthalten sind nur relevante tagesaktuelle Quelldaten; leere unknown-Quellenblöcke werden ausgelassen.
tra_window object Nur bei TRAs. Fasst Aktivierungs- und Verlängerungsketten zu einem aktuellen Von/Bis-Fenster zusammen und listet die beteiligten activation_ids.

Statuslogik

active

Bei TRAs bedeutet das: Die TRA ist aktiv. Bei AUP-/NOTAM-Airspaces bedeutet das: Der Luftraum ist aktuell gesperrt oder eingeschränkt.

scheduled

Eine relevante Aktivierung oder Einschränkung ist für später am selben Tag geplant.

inactive

Keine aktive Einschränkung beziehungsweise kein aktives TRA-Zeitfenster zum Auswertungszeitpunkt.

Der Airspace-Status wird aus Air Use Plan und NOTAM-Daten bewertet. Der TRA-Status wird aus Aktivierungen, Verlängerungen und Deaktivierungen im TRA Manager bewertet.

Beispiel

Kompakte UTC-only Antwort

Das Beispiel zeigt eine TRA mit zusammengefasster Verlängerungskette und einen durch Air Use Plan gesperrten restriktiven Airspace. Die echte Antwort enthält eine Zeile für jedes verfügbare Widget-Element.

{
    "export": "austria_widget",
    "version": 2,
    "timezone": "UTC",
    "generated_at": "2026-05-06 18:10:21",
    "evaluation_at": "2026-05-06 18:10:21",
    "counts": {
        "total": 76,
        "tras": 41,
        "airspaces": 35,
        "active_or_scheduled_tras": 3
    },
    "items": [
        {
            "id": "tra-2",
            "type": "tra",
            "subject_id": 2,
            "name": "TRA ALMENLAND",
            "group": "Graz (LOWG)",
            "status": "active",
            "status_label": "TRA aktiv",
            "status_detail": "TRA ist aktuell aktiv.",
            "source": "tra",
            "valid_from": "2026-05-06 07:00:00",
            "valid_to": "2026-05-06 18:49:00",
            "updated_at": "2026-05-06 13:05:32",
            "sources": {
                "tra": {
                    "status": "active",
                    "valid_from": "2026-05-06 07:00:00",
                    "valid_to": "2026-05-06 18:49:00",
                    "updated_at": "2026-05-06 13:05:32"
                }
            },
            "tra_window": {
                "valid_from": "2026-05-06 07:00:00",
                "valid_to": "2026-05-06 18:49:00",
                "activation_ids": [
                    1188,
                    1189,
                    1190
                ],
                "current_activation_id": 1190,
                "is_extension_chain": true
            }
        },
        {
            "id": "airspace-abd90c167f2879bda1f7bde38b84eec0",
            "type": "airspace",
            "subject_id": "LOR 4",
            "name": "LOR 4 (BRUCK)",
            "group": "Restricted",
            "status": "active",
            "status_label": "gesperrt",
            "status_detail": "Aktive Sperre laut Air Use Plan.",
            "source": "nup",
            "valid_from": "2026-05-06 06:00",
            "valid_to": "2026-05-06 20:00",
            "updated_at": "2026-05-06 18:10:00",
            "sources": {
                "nup": {
                    "status": "active",
                    "valid_from": "2026-05-06 06:00",
                    "valid_to": "2026-05-06 20:00",
                    "updated_at": "2026-05-06 18:10:00"
                }
            }
        }
    ],
    "summary": {
        "updated_by_source": {
            "tra": "2026-05-06 13:05:32",
            "nup": "2026-05-06 18:10:00",
            "notam": "2026-05-06 09:48:55",
            "notam_feeds": {
                "austro_control": "2026-05-06 14:47:17"
            }
        },
        "tra_runtime": {
            "tra_last_update": "2026-05-06 13:05:32"
        }
    }
}