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.

Was sind TRAs?

TRAs sind in Österreich temporär reservierte Lufträume für den Sichtflug. Sie liegen im Luftraum der Klasse G/W und werden nur für definierte Zeitfenster aktiviert; außerhalb dieser Zeiten sind sie inaktiv.

Endpunkte

export_activations.php

Liefert exportierbare Aktivierungen, Verlängerungen und Deaktivierungen, deren Start- oder Deaktivierungszeit in den letzten 26 Stunden bis 12 Stunden in der Zukunft liegt.

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

export_activations_48h.php

Verwendet dieselbe JSON-Struktur, erweitert das Rückblickfenster aber auf die letzten 48 Stunden plus 12 Stunden in der Zukunft.

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

Enthalten sind nur Datensätze von Vereinen und TRAs, die für den JSON-Export freigegeben sind. Ablehnungen und Hinweise wie "keine Verlängerung möglich" sind nicht Teil dieses Exports.

Zugriff

Importer-Hash

API-Nutzer benötigen aktuell einen zugewiesenen Importer-Hash. Dieser wird als Query-Parameter importer übergeben. Der Wert in den Beispielen ist ein Platzhalter und muss durch den zugewiesenen Hash ersetzt werden.

Firewall-Freischaltung

Bitte nach Möglichkeit auch die Quell-IP des abrufenden Systems bekanntgeben. Eine IP-Freischaltung in der Firewall ist derzeit noch optional, kann später oder für einzelne Integrationen aber erforderlich werden.

Kostenloser Zugang

API-Zugänge werden kostenlos bereitgestellt. Nutzer der Daten präsentieren wir gerne als Partner auf der Homepage, auf Wunsch auch mit Logo.

Unterstützung willkommen

Bei kommerziellen oder gewinnorientierten Projekten freuen wir uns über freiwillige finanzielle Unterstützung, damit der Service zuverlässig betrieben, gewartet und der Community weiterhin bereitgestellt werden kann.

Fehlender Zugriff

Wenn der Export nicht öffentlich freigeschaltet ist und der Hash fehlt oder ungültig ist, antwortet der Endpunkt mit HTTP 403 und einer JSON-Fehlermeldung.

JSON-Struktur

Die Antwort ist ein JSON-Array. Jeder Eintrag steht für eine Interaktion und enthält einen oder mehrere betroffene Lufträume. Jede Interaktion wird für Protokollierung und Nachvollziehbarkeit immer mit einer eigenen activation_id ausgegeben.

Feld Typ Bedeutung
activation_id integer Eindeutige Interaktions-ID im TRA Manager. Aktivierungen, Verlängerungen und Deaktivierungen erhalten jeweils eine eigene activation_id.
addedTimestamp string UTC-Zeitpunkt, zu dem das Ereignis eingetragen wurde.
inverse boolean false für Aktivierungen und Verlängerungen, true für Deaktivierungen.
activations array Liste der betroffenen TRA-Zeitintervalle. Eine activation_id kann mehrere TRAs enthalten, wenn diese gemeinsam aktiviert oder verlängert wurden.
airspace string Name der TRA, zum Beispiel TRA Almenland.
start string UTC-Startzeit. Bei Deaktivierungen ist dies die Deaktivierungszeit.
end string UTC-Endzeit. Bei Deaktivierungen ist dies die zuvor geplante Endzeit.

Ereignislogik

Aktivierung

Ein Ereignis mit inverse=false öffnet die angeführte TRA für das exportierte Zeitintervall.

Verlängerung

Verlängerungen werden mit inverse=false als eigene Interaktion mit eigener activation_id exportiert. Die Startzeit bleibt gleich wie bei der ursprünglichen Aktivierung, während end die neue Endzeit enthält.

Deaktivierung

Eine Deaktivierung verwendet inverse=true. Der Wert start markiert den Zeitpunkt, ab dem die vorherige Aktivierung verkürzt oder aufgehoben wird; end enthält die alte geplante Endzeit.

Verbrauchende Systeme sollten Ereignisse anhand von Zeitstempel oder activation_id auswerten und ihren lokalen Zustand pro Luftraum entsprechend aktualisieren.

Beispiele

TRA Almenland mit Aktivierung und zwei Verlängerungen

Das erste Ereignis aktiviert die TRA Almenland bis 11:00 UTC. Das zweite Ereignis verlängert dieselbe TRA bis 13:00 UTC. Das dritte Ereignis behält dieselbe Startzeit und verlängert die TRA bis ECET an diesem Tag, 18:49:34 UTC.

[
    {
        "activation_id": 10421,
        "addedTimestamp": "2026-05-06 06:15:02",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA Almenland",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 11:00:00"
            }
        ]
    },
    {
        "activation_id": 10436,
        "addedTimestamp": "2026-05-06 10:32:18",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA Almenland",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 13:00:00"
            }
        ]
    },
    {
        "activation_id": 10458,
        "addedTimestamp": "2026-05-06 12:44:07",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA Almenland",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 18:49:34"
            }
        ]
    }
]

Mehrere TRAs in einer activation_id

Dieses Beispiel zeigt drei gemeinsam behandelte TRAs. Die activation_id 1188 aktiviert alle drei bis 12:00 UTC, 1189 verlängert alle drei bis 16:00 UTC und 1190 verlängert alle drei erneut bis ECET, 18:49 UTC. Jede Interaktion hat eine activation_id, während das activations-Array die betroffenen Lufträume enthält.

[
    {
        "activation_id": 1190,
        "addedTimestamp": "2026-05-06 15:35:32",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA SCHOECKL",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 18:49:00"
            },
            {
                "airspace": "TRA ALMENLAND",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 18:49:00"
            },
            {
                "airspace": "TRA BRUCK",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 18:49:00"
            }
        ]
    },
    {
        "activation_id": 1189,
        "addedTimestamp": "2026-05-06 10:15:21",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA SCHOECKL",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 16:00:00"
            },
            {
                "airspace": "TRA ALMENLAND",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 16:00:00"
            },
            {
                "airspace": "TRA BRUCK",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 16:00:00"
            }
        ]
    },
    {
        "activation_id": 1188,
        "addedTimestamp": "2026-05-06 06:45:06",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA SCHOECKL",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 12:00:00"
            },
            {
                "airspace": "TRA ALMENLAND",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 12:00:00"
            },
            {
                "airspace": "TRA BRUCK",
                "start": "2026-05-06 07:00:00",
                "end": "2026-05-06 12:00:00"
            }
        ]
    }
]

TRA Feldkirchen mit Aktivierung und Deaktivierung

Das erste Ereignis aktiviert die TRA Feldkirchen bis 14:00 UTC. Das inverse Ereignis verkürzt die Aktivierung ab 12:30 UTC.

[
    {
        "activation_id": 20510,
        "addedTimestamp": "2026-05-06 06:45:11",
        "inverse": false,
        "activations": [
            {
                "airspace": "TRA Feldkirchen",
                "start": "2026-05-06 08:00:00",
                "end": "2026-05-06 14:00:00"
            }
        ]
    },
    {
        "activation_id": 20528,
        "addedTimestamp": "2026-05-06 11:58:44",
        "inverse": true,
        "activations": [
            {
                "airspace": "TRA Feldkirchen",
                "start": "2026-05-06 12:30:00",
                "end": "2026-05-06 14:00:00"
            }
        ]
    }
]