# Flugstatus

Flugstatus in Echtzeit nach Flugnummer mit Abflug- und Ankunftszeiten, Gates, Terminals und betrieblichen Statusbezeichnungen.



Betriebsstatus in Echtzeit für einen einzelnen planmäßigen Flug. Übergeben Sie eine **IATA-Flugnummer** (zweistelliges Airline-Präfix + Ziffern, z. B. `BA123`) oder ein **ICAO-Betreiberpräfix** (dreistelliges Präfix, z. B. `BAW123`). Die Antwort enthält Abflug- und Ankunftszeiten, Terminal, Gate, Check-in-Schalter und Gepäckband, sofern veröffentlicht.

Die Felder für Gate, Terminal, Gepäck und Check-in sind häufig **leere Strings** (`""`), bis die Fluggesellschaft oder der Flughafen sie veröffentlicht — nicht `null`. Behandeln Sie leere Strings in Ihrer UI als „unbekannt“; zeigen Sie sie nicht als Konfigurationsfehler an.

Die Abfrage über das ICAO-Präfix löst Betreibercodes anhand der Referenzdaten von SkyLink auf. Bevorzugen Sie IATA, wenn verfügbar — die Auflösung europäischer Betreiber ist weniger zuverlässig als die IATA-Abfrage großer Fluggesellschaften.

## Anfrage [#request]

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

<DocApiPath method="GET" path="/flight_status/{flight_number}" />

| Parameter       | Typ    | Erforderlich | Beschreibung                                                                           |
| --------------- | ------ | ------------ | -------------------------------------------------------------------------------------- |
| `flight_number` | string | Ja           | Flugnummer im IATA-Format (`BA123`) oder als ICAO-Betreiberpräfix + Ziffern (`BAW123`) |

## Antwort [#response]

```json
{
  "flight_number": "BA 123",
  "airline": "British Airways",
  "status": "En Route",
  "departure": {
    "airport": "EGLL",
    "airport_full": "London Heathrow Airport",
    "scheduled_time": "10:30",
    "scheduled_date": "11 Feb",
    "actual_time": "10:35",
    "actual_date": "11 Feb",
    "terminal": "5",
    "gate": "A12",
    "checkin": ""
  },
  "arrival": {
    "airport": "KJFK",
    "airport_full": "John F Kennedy International Airport",
    "scheduled_time": "14:45",
    "scheduled_date": "11 Feb",
    "estimated_time": "14:50",
    "estimated_date": "11 Feb",
    "terminal": "7",
    "gate": "B15",
    "baggage": ""
  }
}
```

### Felder der obersten Ebene [#top-level-fields]

| Feld            | Typ    | Erforderlich | Beschreibung                                                                  |
| --------------- | ------ | ------------ | ----------------------------------------------------------------------------- |
| `flight_number` | string | **Ja**       | Flugnummer zur Anzeige, z. B. `"BA 123"`                                      |
| `airline`       | string | **Ja**       | Anzeigename der Fluggesellschaft                                              |
| `status`        | string | **Ja**       | Aktuelle Statusbezeichnung — als Anzeigetext behandeln, nicht als festes Enum |
| `departure`     | object | **Ja**       | Informationen zu Abflughafen und Gate                                         |
| `arrival`       | object | **Ja**       | Informationen zu Ankunftsflughafen und Gate                                   |

### Objekt `departure` [#departure-object]

| Feld             | Typ    | Erforderlich | Hinweise                                      |
| ---------------- | ------ | ------------ | --------------------------------------------- |
| `airport`        | string | **Ja**       | Flughafencode (IATA oder ICAO)                |
| `airport_full`   | string | **Ja**       | Vollständiger Name des Flughafens             |
| `scheduled_time` | string | **Ja**       | Planmäßige Abflugzeit (Ortszeit)              |
| `scheduled_date` | string | **Ja**       | Planmäßiges Abflugdatum (Ortszeit)            |
| `actual_time`    | string | **Ja**       | Tatsächliche oder zuletzt bekannte Abflugzeit |
| `actual_date`    | string | **Ja**       | Datum zu `actual_time`                        |
| `terminal`       | string | **Ja**       | Kann `""` sein, wenn nicht veröffentlicht     |
| `gate`           | string | **Ja**       | Kann `""` sein, wenn unbekannt                |
| `checkin`        | string | **Ja**       | Kann `""` sein, wenn nicht angegeben          |

### Objekt `arrival` [#arrival-object]

| Feld             | Typ    | Erforderlich | Hinweise                                               |
| ---------------- | ------ | ------------ | ------------------------------------------------------ |
| `airport`        | string | **Ja**       | Code des Ankunftsflughafens                            |
| `airport_full`   | string | **Ja**       | Vollständiger Name des Flughafens                      |
| `scheduled_time` | string | **Ja**       | Planmäßige Ankunftszeit (Ortszeit)                     |
| `scheduled_date` | string | **Ja**       | Planmäßiges Ankunftsdatum (Ortszeit)                   |
| `estimated_time` | string | **Ja**       | Zuletzt geschätzte Ankunftszeit während des Fluges     |
| `estimated_date` | string | **Ja**       | Datum zu `estimated_time`                              |
| `terminal`       | string | **Ja**       | Kann `""` sein, wenn nicht verfügbar                   |
| `gate`           | string | **Ja**       | Kann `""` sein, wenn unbekannt                         |
| `baggage`        | string | **Ja**       | Gepäckband — kann `""` sein, wenn nicht veröffentlicht |

## Client-Typen [#client-types]

<DocClientTypes id="v31/flight-status/status-types" />

## Integration [#integration]

Erstellen Sie mit einer einzigen Abfragefunktion eine kompakte Flugstatuskarte.

Das folgende Beispiel normalisiert die eingegebene Flugnummer für die Anzeige, setzt Timeouts für Verbindungsaufbau und Lesen und bildet die Antwort auf ein flaches View-Model für UI-Komponenten ab.

<DocExample id="v31/flight-status/status-fetch" />

### Hinweise zur Implementierung [#implementation-notes]

**Umgang mit fehlenden Gate- und Terminaldaten.** Die Felder für Gate, Terminal, Gepäckband und Check-in-Schalter sind oft bis kurz vor Abflug oder Ankunft leere Strings. Blenden Sie sie aus oder zeigen Sie einen neutralen Platzhalter — kein Fehlerbanner.

**Statusbezeichnungen.** Codieren Sie kein vollständiges Status-Enum fest. Behandeln Sie nur die Fälle gesondert, die Ihre UI benötigt (z. B. `Cancelled` gegenüber `Landed` für die Farbcodierung).

**Abfragehäufigkeit.** Fragen Sie für Fluginformationstafeln für Endkunden alle 2–5 Minuten ab. Für Push-Aktualisierungen siehe [Webhooks](/docs/v31/webhooks-subscriptions).

## Fehlerantworten [#error-responses]

Gemeinsame Plattformfehler finden Sie unter [Fehlerbehandlung](/docs/errors). Endpoint-spezifisch:

### 404 - Flug nicht gefunden [#404---flight-not-found]

```json
{
  "detail": "Flight not found for number: BA123"
}
```

Bedeutet in der Regel, dass der Flug heute nicht durchgeführt wird, die Nummer ungültig ist oder die vorgelagerte Quelle ihn noch nicht veröffentlicht hat. Dieser Endpoint hat keinen Datumsparameter — prüfen Sie den Betriebstag unter [Flugpläne](/docs/v31/schedules).

<APIPage document="&#x22;https://api.skylinkapi.com/v3.1/openapi.json&#x22;" operations="[{&#x22;path&#x22;:&#x22;/flight_status/{flight_number}&#x22;,&#x22;method&#x22;:&#x22;get&#x22;}]" />

***

Siehe auch: [Flugpläne](/docs/v31/schedules) · [Flug-Briefing](/docs/v31/flight-briefing) · [Fluggesellschaften](/docs/v31/airlines)
