Lufthansa Open API で航空オープンデータを触る

[ルフトハンザドイツ航空](https://www.lufthansa.com/jp/ja/homepage) (LH) は **[Lufthansa Open API](https://developer.lufthansa.com/docs)** を公開しています。この API を利用することで、航空便に関する様々な情報を手軽に取得することができます。

なお、本記事では API の動作検証にあたっては [Postman](https://www.postman.com/) を利用しておりますが、cURL や任意のプログラミング言語を用いても同様の結果が得られます。

## 利用登録とトークンの取得

### アカウント登録

https://developer.lufthansa.com/docs/read/API_basics を確認し、アカウント登録を行いましょう。
なお、180日以上ログインがない場合、メールアドレスによる再認証が必要になります。

### アプリケーション登録

https://developer.lufthansa.com/apps/register からアプリケーションの登録を行います。


### [アクセストークンの取得](https://developer.lufthansa.com/docs/read/api_basics/Getting_Started)

アクセストークンは一定時間で失効します。

**POST** `https://api.lufthansa.com/v1/oauth/token`

#### Request Body

- `client_id` : 取得したKey
- `client_secret` : 取得したSecret
- `grant_type` : `client_credentials`

#### Response Body

アクセストークンと有効時間（秒）が取得できます。

```json:レスポンス
{"access_token":"XXXXXXXXXXXXXXXXXXXX","token_type":"bearer","expires_in":21600}
```


## 航空データの取得

では、実際に航空便データを取得してみましょう。ここでは主要なAPIのみ紹介します（随時加筆していきます）。

また、https://developer.lufthansa.com/io-docs でインタラクティブに試すこともできるので活用しましょう。

### 共通事項

情報を取得する場合、Request Header に以下の内容を設定してください。いずれも必須です。

|Key|Value|
|:---|:---|
|`Accept`|`application/json` or `application/xml`|
|`Authorization`|`Bearer 取得したトークン`<br>（例: `Bearer b2d5h7n4chvpun2f4pu7jh36`）|

また、GETのパラメータでは以下のキーを用いることができます。

- `limit`: リクエストごとに返されるレコード数。（デフォルト:20、最大値:100）
- `offset`: スキップするレコード数。（デフォルト:0）

### 静的情報

#### 空港情報

空港の座標および都市コード、国コード、多言語での空港名、タイムゾーンなどが取得できます。

**GET** `https://api.lufthansa.com/v1/mds-references/airports/空港コード?LHoperated=0`

- `空港コード`: IATAコード（3レターコード）。
- `LHoperated`: `1`にすると、ルフトハンザドイツ航空が就航している空港に限った結果を返します。デフォルトは `0`です。
    - コードシェア便や同一アライアンスの便が就航していても「ルフトハンザドイツ航空が就航している」としてカウントされるようです。要はルフトハンザを経由して予約が手配ができるかどうか、ということだと思われます。以下に例を挙げます。
        - [HND](https://ja.wikipedia.org/wiki/%E6%9D%B1%E4%BA%AC%E5%9B%BD%E9%9A%9B%E7%A9%BA%E6%B8%AF) （LH就航）→ OK
        - [HSG](https://ja.wikipedia.org/wiki/%E4%BD%90%E8%B3%80%E7%A9%BA%E6%B8%AF)（LH就航なし、NH就航）→ OK
        - [KKJ](https://ja.wikipedia.org/wiki/%E5%8C%97%E4%B9%9D%E5%B7%9E%E7%A9%BA%E6%B8%AF)（LH就航なし、NH就航なし、NHは[7G](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%95%E3%83%A9%E3%82%A4%E3%83%A4%E3%83%BC)とのコードシェアで就航）→OK
        - [OKD](https://ja.wikipedia.org/wiki/%E6%9C%AD%E5%B9%8C%E9%A3%9B%E8%A1%8C%E5%A0%B4)（LH就航なし、NH就航なし）→ `1` にすると `ResourceNotFound` となる。



<details><summary>Response Body の例</summary><div>

```json:v1/mds-references/airports/HND
{
    "AirportResource": {
        "Airports": {
            "Airport": {
                "AirportCode": "HND",
                "Position": {
                    "Coordinate": {
                        "Latitude": 35.5522,
                        "Longitude": 139.7797
                    }
                },
                "CityCode": "TYO",
                "CountryCode": "JP",
                "LocationType": "Airport",
                "Names": {
                    "Name": [{
                        "@LanguageCode": "DE",
                        "$": "Tokio Haneda"
                    }, {
                        "@LanguageCode": "EN",
                        "$": "Tokyo Haneda"
                    }, {
                        "@LanguageCode": "ES",
                        "$": "Tokio Haneda"
                    }, {
                        "@LanguageCode": "FR",
                        "$": "Tokyo Haneda"
                    }, {
                        "@LanguageCode": "IT",
                        "$": "Tokio Haneda"
                    }, {
                        "@LanguageCode": "JA",
                        "$": "東京"
                    }, {
                        "@LanguageCode": "KO",
                        "$": "도쿄"
                    }, {
                        "@LanguageCode": "PL",
                        "$": "Tokio Haneda"
                    }, {
                        "@LanguageCode": "PT",
                        "$": "Tóquio Haneda"
                    }, {
                        "@LanguageCode": "RU",
                        "$": "Токио "
                    }, {
                        "@LanguageCode": "ZH",
                        "$": "东京"
                    }]
                },
                "UtcOffset": "+09:00",
                "TimeZoneId": "Asia/Tokyo"
            }
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [{
                "@Href": "https://api.lufthansa.com/v1/mds-references/airports/HND?limit=20&offset=0&LHoperated=0",
                "@Rel": "self"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/cities/TYO",
                "@Rel": "related"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/countries/JP",
                "@Rel": "related"
            }, {
                "@Href": "http://travelguide.lufthansa.com/de/de/{cityCode}/HND",
                "@Rel": "alternate"
            }, {
                "@Href": "http://travelguide.lufthansa.com/de/en/{cityCode}/HND",
                "@Rel": "alternate"
            }, {
                "@Href": "http://travelguide.lufthansa.com/de/es/{cityCode}/HND",
                "@Rel": "alternate"
            }, {
                "@Href": "http://travelguide.lufthansa.com/de/fr/{cityCode}/HND",
                "@Rel": "alternate"
            }]
        }
    }
}
}
```
</div></details>

#### 航空会社情報

ICAOコード（3レターコード）、航空会社の名称を取得できます。ルフトハンザに限らず他社の情報も取得できます。

**GET** `https://api.lufthansa.com/v1/mds-references/airlines/航空会社コード`

- `航空会社コード`: IATA航空会社コード（2レターコード）

<details><summary>Response Body の例</summary><div>

```json:v1/mds-references/airlines/7G
{
    "AirlineResource": {
        "Airlines": {
            "Airline": {
                "AirlineID": "7G",
                "AirlineID_ICAO": "SFJ",
                "Names": {
                    "Name": {
                        "@LanguageCode": "EN",
                        "$": "Star Flyer"
                    }
                }
            }
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": {
                "@Href": "https://api.lufthansa.com/v1/mds-references/airlines/7G?limit=20&offset=0",
                "@Rel": "self"
            }
        }
    }
}
```

</div></details>

#### 機種情報

IATA航空機コードを渡すと、ICAO航空機コードと機種名を取得できます。

**GET** `https://api.lufthansa.com/v1/mds-references/aircraft/機種コード`

- `機種コード`: [IATA航空機コード（3レターコード）](http://www.airlinecodes.co.uk/arctypes.asp)


<details><summary>Response Body の例</summary><div>

```json:v1/mds-references/aircraft/AT7
{
    "AircraftResource": {
        "AircraftSummaries": {
            "AircraftSummary": {
                "AircraftCode": "AT7",
                "Names": {
                    "Name": {
                        "@LanguageCode": "EN",
                        "$": "ATR 72"
                    }
                },
                "AirlineEquipCode": "AT72"
            }
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": {
                "@Href": "https://api.lufthansa.com/v1/mds-references/aircraft/AT7?limit=20&offset=0",
                "@Rel": "self"
            }
        }
    }
}
```

</div></details>


### 動的情報

#### フライト情報

ルフトハンザが運航するフライトの情報が取得できます。
ルフトハンザ便名が付与されているコードシェア便の情報も取得できるほか、ルフトハンザと提携関係にある航空会社（NHなど）の便名は取得することができました。

**GET** `https://api.lufthansa.com/v1/operations/flightstatus/便名/YYYY-MM-DD`

- `便名`: IATA航空会社コードによる便名表記（例: `LH16`）
- `日付`: YYYY-MM-DDの形式で、出発地での日付


<details><summary>Response Body の例</summary><div>

```json:/v1/operations/flightstatus/LH16/2020-04-01
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [{
                "Departure": {
                    "AirportCode": "FRA",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T14:30"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T12:30Z"
                    },
                    "ActualTimeLocal": {
                        "DateTime": "2020-04-01T14:24"
                    },
                    "ActualTimeUTC": {
                        "DateTime": "2020-04-01T12:24Z"
                    },
                    "TimeStatus": {
                        "Code": "FE",
                        "Definition": "Flight Early"
                    },
                    "Terminal": {
                        "Name": "1",
                        "Gate": "A22"
                    }
                },
                "Arrival": {
                    "AirportCode": "HAM",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T15:35"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T13:35Z"
                    },
                    "ActualTimeLocal": {
                        "DateTime": "2020-04-01T15:23"
                    },
                    "ActualTimeUTC": {
                        "DateTime": "2020-04-01T13:23Z"
                    },
                    "TimeStatus": {
                        "Code": "FE",
                        "Definition": "Flight Early"
                    },
                    "Terminal": {
                        "Name": "2"
                    }
                },
                "MarketingCarrier": {
                    "AirlineID": "LH",
                    "FlightNumber": "016"
                },
                "OperatingCarrier": {
                    "AirlineID": "LH",
                    "FlightNumber": "016"
                },
                "Equipment": {
                    "AircraftCode": "32N",
                    "AircraftRegistration": "DAINE"
                },
                "FlightStatus": {
                    "Code": "LD",
                    "Definition": "Flight Landed"
                },
                "ServiceType": "Passenger"
            }]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [{
                "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/LH16/2020-04-01",
                "@Rel": "self"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                "@Rel": "related"
            }]
        }
    }
}
```

</div></details>

<details><summary>Response Body の例（コードシェア便の例）</summary><div>

```json:/v1/operations/flightstatus/LH4877/2020-04-01
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [
                {
                    "Departure": {
                        "AirportCode": "FUK",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-01T09:35"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-01T00:35Z"
                        },
                        "TimeStatus": {
                            "Code": "OT",
                            "Definition": "Flight On Time"
                        },
                        "Terminal": {
                            "Name": "D"
                        }
                    },
                    "Arrival": {
                        "AirportCode": "HND",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-01T11:15"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-01T02:15Z"
                        },
                        "ActualTimeLocal": {
                            "DateTime": "2020-04-01T10:59"
                        },
                        "ActualTimeUTC": {
                            "DateTime": "2020-04-01T01:59Z"
                        },
                        "TimeStatus": {
                            "Code": "FE",
                            "Definition": "Flight Early"
                        },
                        "Terminal": {
                            "Name": "2"
                        }
                    },
                    "MarketingCarrier": {
                        "AirlineID": "LH",
                        "FlightNumber": "4877"
                    },
                    "OperatingCarrier": {
                        "AirlineID": "NH",
                        "FlightNumber": "246"
                    },
                    "Equipment": {
                        "AircraftCode": "767"
                    },
                    "FlightStatus": {
                        "Code": "LD",
                        "Definition": "Flight Landed"
                    },
                    "ServiceType": "Passenger"
                }
            ]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [
                {
                    "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/LH4877/2020-04-01",
                    "@Rel": "self"
                },
                {
                    "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                    "@Rel": "related"
                }
            ]
        }
    }
}
```

同一便をNH便名で取得した場合。コードシェア便で取得する場合に比べて機材の番号など、より詳細な情報が取得できます。

```json:/v1/operations/flightstatus/NH246/2020-04-01
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [
                {
                    "Departure": {
                        "AirportCode": "FUK",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-01T09:35"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-01T00:35Z"
                        },
                        "TimeStatus": {
                            "Code": "OT",
                            "Definition": "Flight On Time"
                        },
                        "Terminal": {
                            "Name": "D"
                        }
                    },
                    "Arrival": {
                        "AirportCode": "HND",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-01T11:15"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-01T02:15Z"
                        },
                        "ActualTimeLocal": {
                            "DateTime": "2020-04-01T10:59"
                        },
                        "ActualTimeUTC": {
                            "DateTime": "2020-04-01T01:59Z"
                        },
                        "TimeStatus": {
                            "Code": "FE",
                            "Definition": "Flight Early"
                        },
                        "Terminal": {
                            "Name": "2"
                        }
                    },
                    "MarketingCarrier": {
                        "AirlineID": "NH",
                        "FlightNumber": "246"
                    },
                    "OperatingCarrier": {
                        "AirlineID": "NH",
                        "FlightNumber": "246"
                    },
                    "Equipment": {
                        "AircraftCode": "767",
                        "AircraftRegistration": "JA606A"
                    },
                    "FlightStatus": {
                        "Code": "LD",
                        "Definition": "Flight Landed"
                    },
                    "ServiceType": "Passenger"
                }
            ]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [
                {
                    "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/NH246/2020-04-01",
                    "@Rel": "self"
                },
                {
                    "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                    "@Rel": "related"
                }
            ]
        }
    }
}
```

ただし、ルフトハンザと直接提携のない航空会社が運航している便については正確な航空会社が取得できません。
以下はスターフライヤー7G89便をNH3889便として取得した際も `OperatingCarrier` は `NH` となります。

```json:v1/operations/flightstatus/NH3889/2020-04-02
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [
                {
                    "Departure": {
                        "AirportCode": "HND",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-02T20:30"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-02T11:30Z"
                        },
                        "TimeStatus": {
                            "Code": "OT",
                            "Definition": "Flight On Time"
                        },
                        "Terminal": {
                            "Name": "1"
                        }
                    },
                    "Arrival": {
                        "AirportCode": "KKJ",
                        "ScheduledTimeLocal": {
                            "DateTime": "2020-04-02T22:10"
                        },
                        "ScheduledTimeUTC": {
                            "DateTime": "2020-04-02T13:10Z"
                        },
                        "TimeStatus": {
                            "Code": "OT",
                            "Definition": "Flight On Time"
                        }
                    },
                    "MarketingCarrier": {
                        "AirlineID": "NH",
                        "FlightNumber": "3889"
                    },
                    "OperatingCarrier": {
                        "AirlineID": "NH",
                        "FlightNumber": "3889"
                    },
                    "Equipment": {
                        "AircraftCode": "320"
                    },
                    "FlightStatus": {
                        "Code": "NA",
                        "Definition": "No status"
                    },
                    "ServiceType": "Passenger"
                }
            ]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [
                {
                    "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/NH3889/2020-04-02",
                    "@Rel": "self"
                },
                {
                    "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                    "@Rel": "related"
                }
            ]
        }
    }
}
```
</div></details>

#### 顧客向けフライト情報（Customer Flight Information）

通常のフライト情報と概ね同じですが、フライトインフォメーションボードなどで旅客に表示するようなデータが取得できます。
また、コードシェア便情報もより詳細に取得できます。

**GET** `https://api.lufthansa.com/v1/operations/customerflightinformation/便名/YYYY-MM-DD`

- `便名`: IATA航空会社コードによる便名表記（例: `LH16`）
- `日付`: YYYY-MM-DDの形式で、出発地での日付

<details><summary>Response Body の例</summary><div>

フライト情報（Flight Status）ではコードシェアの「親」情報しか取得できませんが、顧客向けフライト情報（Customer Flight Information）では「親」となる便を指定しても`MarketingCarrierList`として「子」となる便名の一覧を取得できます。

```json:/v1/operations/customerflightinformation/LH4877/2020-04-01
{
    "FlightInformation": {
        "Flights": {
            "Flight": {
                "Departure": {
                    "AirportCode": "FUK",
                    "Scheduled": {
                        "Date": "2020-04-01",
                        "Time": "09:35"
                    },
                    "Actual": {
                        "Date": "2020-04-01",
                        "Time": "09:35"
                    },
                    "Terminal": {
                        "Name": "D"
                    },
                    "Status": {
                        "Code": "OT",
                        "Description": "Flight On Time"
                    }
                },
                "Arrival": {
                    "AirportCode": "HND",
                    "Scheduled": {
                        "Date": "2020-04-01",
                        "Time": "11:15"
                    },
                    "Actual": {
                        "Date": "2020-04-01",
                        "Time": "10:59"
                    },
                    "Terminal": {
                        "Name": "2"
                    },
                    "Status": {
                        "Code": "LD",
                        "Description": "Flight Landed"
                    }
                },
                "MarketingCarrierList": {
                    "MarketingCarrier": [{
                        "AirlineID": "AZ",
                        "FlightNumber": "5150"
                    }, {
                        "AirlineID": "LH",
                        "FlightNumber": "4877"
                    }]
                },
                "OperatingCarrier": {
                    "AirlineID": "NH",
                    "FlightNumber": "246"
                },
                "Equipment": {
                    "AircraftCode": "767"
                },
                "Status": {
                    "Code": "OT",
                    "Description": "Flight On Time"
                }
            }
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [{
                "@Href": "https://api.lufthansa.com/v1/operations/customerflightinformation/LH4877/2020-04-01",
                "@Rel": "self"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                "@Rel": "related"
            }]
        }
    }
}
```


</div></details>

#### 路線運航情報

路線単位でのフライト情報。他社便しか運航していない区間も取得できる場合があります。

**GET** `https://api.lufthansa.com/v1/operations/flightstatus/route/出発地空港コード/目的地空港コード/YYYY-MM-DD?serviceType=all`

- `出発地空港コード`: IATA空港コード（3レターコード）
- `目的地空港コード`: IATA空港コード（3レターコード）
- `日付`: 出発地の現地時間における日付。（YYYY-MM-DD の形式）
- `serviceType` : `cargo`, `paasenger`, `all` （デフォルトは `passanger`)


<details><summary>Response Body の例</summary><div>

```json:/v1/operations/flightstatus/route/JFK/FRA/2020-04-01?serviceType=all
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [{
                "Departure": {
                    "AirportCode": "JFK",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T00:30"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T04:30Z"
                    },
                    "ActualTimeLocal": {
                        "DateTime": "2020-04-01T01:26"
                    },
                    "ActualTimeUTC": {
                        "DateTime": "2020-04-01T05:26Z"
                    },
                    "TimeStatus": {
                        "Code": "DL",
                        "Definition": "Flight Delayed"
                    }
                },
                "Arrival": {
                    "AirportCode": "FRA",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T13:50"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T11:50Z"
                    },
                    "ActualTimeLocal": {
                        "DateTime": "2020-04-01T15:08"
                    },
                    "ActualTimeUTC": {
                        "DateTime": "2020-04-01T13:08Z"
                    },
                    "TimeStatus": {
                        "Code": "DL",
                        "Definition": "Flight Delayed"
                    }
                },
                "MarketingCarrier": {
                    "AirlineID": "LH",
                    "FlightNumber": "8163"
                },
                "OperatingCarrier": {
                    "AirlineID": "LH",
                    "FlightNumber": "8163"
                },
                "Equipment": {
                    "AircraftCode": "M1F",
                    "AircraftRegistration": "DALCK"
                },
                "FlightStatus": {
                    "Code": "LD",
                    "Definition": "Flight Landed"
                },
                "ServiceType": "Cargo"
            }]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [{
                "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/route/JFK/FRA/2020-04-01?serviceType=all",
                "@Rel": "self"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                "@Rel": "related"
            }],
            "TotalCount": 1
        }
    }
}
```

NRT-FRA の JL便など、ルフトハンザと提携がないエアラインのフライトも取得できる場合があります。
HND-FUKのNHコードシェアのLH便は取得できませんが、NRT-FUKのNH便は取得できるなど、取得可能路線の定義は不明です。

```json:/v1/operations/flightstatus/route/NRT/FRA/2020-04-01?serviceType=all
{
    "FlightStatusResource": {
        "Flights": {
            "Flight": [{
                "Departure": {
                    "AirportCode": "NRT",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T11:25"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T02:25Z"
                    },
                    "TimeStatus": {
                        "Code": "NO",
                        "Definition": "No status"
                    },
                    "Terminal": {
                        "Name": "2"
                    }
                },
                "Arrival": {
                    "AirportCode": "FRA",
                    "ScheduledTimeLocal": {
                        "DateTime": "2020-04-01T16:30"
                    },
                    "ScheduledTimeUTC": {
                        "DateTime": "2020-04-01T14:30Z"
                    },
                    "TimeStatus": {
                        "Code": "NO",
                        "Definition": "No status"
                    },
                    "Terminal": {
                        "Name": "2"
                    }
                },
                "MarketingCarrier": {
                    "AirlineID": "JL",
                    "FlightNumber": "407"
                },
                "OperatingCarrier": {
                    "AirlineID": "JL",
                    "FlightNumber": "407"
                },
                "Equipment": {
                    "AircraftCode": "789"
                },
                "FlightStatus": {
                    "Code": "CD",
                    "Definition": "Flight Cancelled"
                },
                "ServiceType": "Passenger"
            }]
        },
        "Meta": {
            "@Version": "1.0.0",
            "Link": [{
                "@Href": "https://api.lufthansa.com/v1/operations/flightstatus/route/NRT/FRA/2020-04-01?serviceType=all",
                "@Rel": "self"
            }, {
                "@Href": "https://api.lufthansa.com/v1/mds-references/airports/{airportCode}",
                "@Rel": "related"
            }],
            "TotalCount": 1
        }
    }
}
```

</div></details>