# ML-Schätzung der Flugzeit

ML-Vorhersagen der Flugzeit von Gate zu Gate zwischen Flughäfen mit optionalem Flugzeugtyp, Entfernung sowie Min-/Max-Grenzen der Schätzung.



Flugzeit von Gate zu Gate zwischen zwei beliebigen Flughäfen, vorhergesagt von einem GradientBoosting-Modell, das auf historischen Betriebsdaten trainiert wurde (R² ≈ 0,98). Die **Blockzeit** ist die planmäßige Dauer von Gate zu Gate — gleichbedeutend mit Gate-to-Gate — einschließlich des Rollens an beiden Enden.

Verwenden Sie diesen Endpoint, wenn Sie Blockzeitschätzungen für die Flugplanung, Umsteigepuffer oder Dashboards zum Verspätungsrisiko benötigen, ohne eigene statistische Routentabellen pflegen zu müssen.

Geben Sie Start- und Zielflughafen als ICAO- oder IATA-Code an. Übergeben Sie optional einen ICAO-Flugzeugtypcode (`B738`, `A320`, `B77W`) für eine genauere Schätzung; fehlt er, verwendet das Modell typische Reiseflugparameter von Jets für das Städtepaar. Die API liefert einen Punktschätzwert, Min-/Max-Grenzen und eine lesbare Angabe der Dauer.

**Wichtig:** Wind und aktuelles Wetter auf der Strecke (En-Route) fließen nicht in das Modell ein — das Ergebnis ist ein statistischer Durchschnitt für die Route und die Flugzeugkategorie, keine Vorhersage für eine bestimmte Abflugzeit.

## Anfrage [#request]

<DocRequirements>
  <DocRequirementAuth />
</DocRequirements>

<DocApiPath method="GET" path="/ml/flight-time" />

| Parameter  | Typ    | Erforderlich | Standard       | Beschreibung                                                                |
| ---------- | ------ | ------------ | -------------- | --------------------------------------------------------------------------- |
| `from`     | string | Ja           | -              | ICAO- oder IATA-Code des Startflughafens (3–4 Zeichen), z. B. `KSFO`, `SFO` |
| `to`       | string | Ja           | -              | ICAO- oder IATA-Code des Zielflughafens, z. B. `KJFK`, `JFK`                |
| `aircraft` | string | Nein         | Modellstandard | ICAO-Flugzeugtypcode, z. B. `B738`, `A320`, `C172`                          |

## Antwort [#response]

```json
{
  "origin": "KSFO",
  "destination": "KJFK",
  "aircraft_type": "B738",
  "distance_nm": 2241.75,
  "estimated_minutes": 294,
  "estimated_hours_display": "4h 54m",
  "min_minutes": 259,
  "max_minutes": 329,
  "model_version": "2.0.0-wind"
}
```

### Vorhersageobjekt [#prediction-object]

| Feld                      | Typ            | Erforderlich | Null?  | Beschreibung                                                                                       |
| ------------------------- | -------------- | ------------ | ------ | -------------------------------------------------------------------------------------------------- |
| `origin`                  | string         | **Ja**       | Nie    | Aufgelöster ICAO-Code des Startflughafens                                                          |
| `destination`             | string         | **Ja**       | Nie    | Aufgelöster ICAO-Code des Zielflughafens                                                           |
| `aircraft_type`           | string \| null | Nein         | **Ja** | Für die Vorhersage verwendeter Flugzeugtyp oder `null`, wenn weggelassen                           |
| `distance_nm`             | number         | **Ja**       | Nie    | Großkreisentfernung in nautischen Meilen                                                           |
| `estimated_minutes`       | integer        | **Ja**       | Nie    | Schätzung von Gate zu Gate in Minuten (einschließlich durchschnittlicher Rollzeit an beiden Enden) |
| `estimated_hours_display` | string         | **Ja**       | Nie    | Lesbare Dauer, z. B. `"4h 54m"`                                                                    |
| `min_minutes`             | integer        | **Ja**       | Nie    | Untergrenze des Schätzbereichs                                                                     |
| `max_minutes`             | integer        | **Ja**       | Nie    | Obergrenze des Schätzbereichs                                                                      |
| `model_version`           | string         | **Ja**       | Nie    | Versionsstring des Modellartefakts                                                                 |

**Wichtig:** Verwenden Sie `estimated_minutes` für Berechnungen und `estimated_hours_display` für Beschriftungen, die Passagiere sehen. Zeigen Sie `min_minutes`–`max_minutes` als Bereich an, wenn Sie Unsicherheitsbänder benötigen (Umsteigeplanung, SLA-Puffer).

## Client-Typen [#client-types]

<DocClientTypes id="v31/flight-time/prediction-types" />

## Integration [#integration]

Routenplaner speichern ML-Flugzeitergebnisse in der Regel pro Städtepaar im Cache, da sich das zugrunde liegende Modell selten ändert. Das folgende Beispiel ruft eine Vorhersage ab, bildet sie auf ein kompaktes View-Model ab (`block_minutes`, `display`, `range`) und verwendet explizite Connect-/Read-Timeouts, damit ein langsamer Inferenzaufruf Ihren Worker nicht blockieren kann.

<DocExample id="v31/flight-time/prediction-fetch" />

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

**Flugzeugtyp.** Schmalrumpfcodes (`B738`, `A320`) gegenüber Großraumcodes (`B77W`, `A359`) verändern die Blockzeit auf Langstrecken erheblich — übergeben Sie `aircraft`, wenn Ihre Flugplanzeile das Fluggerät bereits kennt.

**Grenzen vs. Punktschätzwert.** `min_minutes` und `max_minutes` umschließen die typische betriebliche Streuung. Behandeln Sie sie nicht als harte betriebliche Grenzwerte.

**Wichtig:** Ist das ML-Modell vorübergehend nicht verfügbar, greift SkyLink möglicherweise auf eine Berechnung aus Entfernung und Geschwindigkeit zurück. Prüfen Sie `model_version`, wenn Sie Vorhersagen für ESG- oder Flugplanungs-Workflows auditieren.

## Fehlerantworten [#error-responses]

Plattformweite Fehler (Authentifizierung, Rate Limits, Validierungsstrukturen) finden Sie unter [Fehlerbehandlung](/docs/errors). Endpoint-spezifisches Verhalten:

### 422 — ungültiger Flughafencode [#422--invalid-airport-code]

Wird zurückgegeben, wenn `from` oder `to` keinem bekannten Flughafen zugeordnet werden kann oder die Query-Parameter die Validierung nicht bestehen.

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