Inconsistent FlightXML2 endpoint results

We are using the FlightXML2/SetAlert endpoint to retrieve flight updates in order to gather estimated arrival times and delays. The estimatedarrivaltime is very inconsistent with other fields and often incorrect.

For flightID “QXE2103-1609077933-airline-0147” for example, the original filed arrival time is 1609257900 (which matches the estimatedarrivaltime of 1609257900).

Full response:

{“flight”: {“reg”: “N622QX”, “ident”: “QXE2103”, “route”: “NIITE3 DEDHD RBL LMT HAWKZ7”, “origin”: “KSFO”, “filed_ete”: “01:55:00”, “faFlightID”: “QXE2103-1609077933-airline-0147”, “filed_time”: 1609077933, “destination”: “KSEA”, “aircrafttype”: “E75L”, “filed_altitude”: 340, “filed_arrivaltime”: 1609257900, “filed_airspeed_kts”: 309, “filed_blockin_time”: 1609258860, “filed_blockout_time”: 1609250400, “filed_departuretime”: 1609251000, “estimatedarrivaltime”: 1609257900, “estimated_blockin_time”: 1609258500, “estimated_blockout_time”: 1609250400}, “summary”: “QXE2103 filed a flight plan SFO → SEA”, “alert_id”: 37933844, “eventcode”: “filed”, “long_desc”: “Alaska Airlines / Horizon #2103 (E75L) has just filed a flight plan. It is scheduled to depart from San Francisco Intl (SFO) at 06:10AM PST Tuesday (29 Dec) heading for Seattle-Tacoma Intl (SEA) for an estimated arrival at 07:58AM PST Tuesday (29 Dec).\n\nOrigin (San Francisco Intl / SFO): Terminal 2, Gate D3\n\nExpected route: NIITE3 DEDHD RBL LMT HAWKZ7”, “short_desc”: “QXE2103 (E75L) filed to depart SFO @ Tue (29 Dec) 06:10AM PST for SEA @ ETA 07:58AM PST (29 Dec) (NIITE3 DEDHD RBL LMT HAWKZ7)”}

We then receive a “change” event informing us the flight has been delayed. The estimatedarrivaltime is now 1609257420 (this is now earlier than the previous arrival time despite there being a delay!). The “ete” and other fields are similarly incorrect. The estimated_blockin_time does look accurate though.

{“flight”: {“reg”: “N622QX”, “ident”: “QXE2103”, “route”: “NIITE3 DEDHD RBL LMT HAWKZ7”, “origin”: “KSFO”, “filed_ete”: “00:47:00”, “faFlightID”: “QXE2103-1609077933-airline-0147”, “filed_time”: 1609077933, “destination”: “KSEA”, “aircrafttype”: “E75L”, “filed_altitude”: 320, “filed_arrivaltime”: 1609253820, “filed_airspeed_kts”: 755, “filed_blockin_time”: 1609258860, “filed_blockout_time”: 1609250400, “filed_departuretime”: 1609251000, “estimatedarrivaltime”: 1609257420, “estimated_blockin_time”: 1609262280, “estimated_blockout_time”: 1609254000}, “summary”: “QXE2103 flight information has changed”, “alert_id”: 37933844, “eventcode”: “change”, “long_desc”: “Alaska Airlines / Horizon #2103 flight information has changed\n Departure Time is now Tue 29-Dec-2020 07:10AM PST\n\nFlight Status: Departure delayed about 1 hour \n\nDeparture:\n San Francisco Intl (SFO)\n Tue 29-Dec-2020 07:10AM PST\n Terminal 2, Gate D3\n\nArrival:\n Seattle-Tacoma Intl (SEA)\n Tue 29-Dec-2020 09:18AM PST\n Gate C16\n\n”, “short_desc”: “Alaska Airlines / Horizon #2103 flight information has changed\n Departure Time is now Tue 29-Dec-2020 07:10AM PST\n\n”}

Then we receive a “departure” event with an estimatedarrivaltime of 1609258603 which is better than the change’s ETA, but still inaccurate.

{“flight”: {“reg”: “N622QX”, “ident”: “QXE2103”, “route”: “NIITE3 DEDHD RBL LMT HAWKZ7”, “origin”: “KSFO”, “filed_ete”: “00:25:00”, “faFlightID”: “QXE2103-1609077933-airline-0147”, “filed_time”: 1609256323, “destination”: “KSEA”, “aircrafttype”: “E75L”, “filed_altitude”: 320, “filed_arrivaltime”: 1609252500, “filed_airspeed_kts”: 1420, “filed_blockin_time”: 1609258860, “actualdeparturetime”: 1609257103, “filed_blockout_time”: 1609250400, “filed_departuretime”: 1609251000, “actual_blockout_time”: 1609256340, “estimatedarrivaltime”: 1609258603, “estimated_blockin_time”: 1609263600, “estimated_blockout_time”: 1609255320}, “summary”: “QXE2103 has departed SFO for SEA”, “alert_id”: 37933844, “eventcode”: “departure”, “long_desc”: “Alaska Airlines / Horizon #2103 (E75L) departed San Francisco Intl (SFO) at 07:51AM PST enroute to Seattle-Tacoma Intl (SEA) for an estimated arrival at 08:16AM PST\n\nDestination (Seattle-Tacoma Intl / SEA): Gate C16”, “short_desc”: “QXE2103 (E75L) departed SFO @ 07:51AM PST for SEA ETA 08:16AM PST”

After departure we receive a second “change” event and now the estimatedarrivaltime is accurate (1609263600).

{“flight”: {“reg”: “N622QX”, “ident”: “QXE2103”, “route”: “NIITE3 DEDHD RBL LMT HAWKZ7”, “origin”: “KSFO”, “filed_ete”: “00:25:00”, “faFlightID”: “QXE2103-1609077933-airline-0147”, “filed_time”: 1609256323, “destination”: “KSEA”, “aircrafttype”: “E75L”, “filed_altitude”: 320, “filed_arrivaltime”: 1609252500, “filed_airspeed_kts”: 1420, “filed_blockin_time”: 1609258860, “actualdeparturetime”: 1609257103, “filed_blockout_time”: 1609250400, “filed_departuretime”: 1609251000, “actual_blockout_time”: 1609256340, “estimatedarrivaltime”: 1609263600, “estimated_blockin_time”: 1609264440, “estimated_blockout_time”: 1609255320}, “summary”: “QXE2103 flight information has changed”, “alert_id”: 37933844, “eventcode”: “change”, “long_desc”: “Alaska Airlines / Horizon #2103 flight information has changed\n Arrival Time is now Tue 29-Dec-2020 09:44AM PST\n\nFlight Status: En Route / Delayed\n\nDeparture:\n San Francisco Intl (SFO)\n Tue 29-Dec-2020 07:51AM PST\n Terminal 2, Gate D3\n\nArrival:\n Seattle-Tacoma Intl (SEA)\n Tue 29-Dec-2020 09:44AM PST\n Gate C16\n\n”, “short_desc”: “Alaska Airlines / Horizon #2103 flight information has changed\n Arrival Time is now Tue 29-Dec-2020 09:44AM PST\n\n”}

My question is which field should we consume to know the most accurate estimated arrival time? "estimatedarrivaltime is obviously inaccurate for the majority of responses. The field “estimated_blockin_time” is the only field that looks accurate throughout. Is this the field that is recommended for more accurate ETAs?

It looks like the an old estimated arrival time was persisted while the flight was updated, which also resulted in the supersonic airspeed indication. I’ve opened a bug with to have a look into why the updated ETA wasn’t present along with the rest of the delay indication.

estimatedarrivaltime should be the field used for the anticipated runway arrival. estimated_blockin_time can be used as a proxy if the estimatedarrivaltime appears inaccurate, but will generally represent a gate arrival time for commercial passenger carriers.