Clarification on Push Alerts

Hi team

I have now set up the “bare bones” of my alert mechanism and it appears to work correctly (both from the test page, and with some real life alerts).

However, I appear to receive only a subset of possible alerts. For example, I am tracking tail number OE-FZE on all event types, but I have only received “arrival” alerts at my end-point. I would have expected to receive “filed” and “departure” alerts as well, but these did not arrive at my server nor do they show in the notifications page on FA.

I’m new to this, so no doubt I am doing something wrong and/or misreading the documentation (again) - either way I would appreciate guidance from the more experienced here.

Here is the alert as listed via GetAlerts:

{
    "alert_id": 31955996,
    "enabled": true,
    "description": "Registration/Tail # OE-FZE",
    "type": "General_Aviation",
    "ident": "OEFZE",
    "user_ident": "",
    "aircrafttype": "",
    "origin": "",
    "destination": "",
    "date_start": 0,
    "date_end": 0,
    "channels": [
        {
            "channel_id": 16,
            "channel_name": "FlightXML push",
            "mask_summary": "meetingFlight",
            "e_filed": true,
            "e_departure": true,
            "e_arrival": true,
            "e_diverted": true,
            "e_cancelled": true,
            "target_address": "pvsdev"
        }
    ],
    "alert_created": 1571090501,    // 14 Oct 2019 at 22:01:41 GMT
    "alert_changed": 1571090501
}

From this alert I have received only two calls to the endpoint, both of type “arrival”. Timestamps for “filed” and “departure” are after the alert was created, so I would have expected to receive 6 alerts in total…

{
	"long_desc":"GAC475N/OE-FZE arrived at Kortrijk-Wevelgem Int'l (KJK) at 12:25 CEST from London Biggin Hill (BQH) after 0:35 en route",
	"short_desc":"GAC475N/OE-FZE arrived at KJK from BQH",
	"summary":"GAC475N/OE-FZE arrived at KJK from BQH",
	"eventcode":"arrival",
	"alert_id":31955996,
	"flight":{
		"ident":"GAC475N",
		"aircrafttype":"C510",
		"origin":"EGKB",
		"destination":"EBKT",
		"filed_ete":"00:35:26",
		"route":"",
		"faFlightID":"GAC475N-1571083034-ed-0003",
		"reg":"OEFZE",
		"filed_altitude":0,
		"filed_airspeed_kts":0,
		"filed_time":1571133186, // Tuesday, October 15, 2019 09:53:06 GMT ==> NO ALERT
		"filed_departuretime":1571133577,
		"estimatedarrivaltime":1571135100,
		"actualarrivaltime":1571135100, // Tuesday, October 15, 2019 10:25:00 GMT ==> ALERT RECEIVED OK
		"actualdeparturetime":1571132974, // Tuesday, October 15, 2019 09:49:34 GMT ==> NO ALERT
		"estimated_blockin_time":0,
		"filed_blockin_time":0,
		"actual_blockin_time":0,
		"estimated_blockout_time":0,
		"filed_blockout_time":0,
		"actual_blockout_time":0,
		"filed_arrivaltime":1571135703
	}
}
{
	"long_desc":"GAC586N/OE-FZE arrived at London Biggin Hill (BQH) at 10:20 BST from Farnborough Airfield (FAB) after 0:38 en route",
	"short_desc":"GAC586N/OE-FZE arrived at BQH from FAB",
	"summary":"GAC586N/OE-FZE arrived at BQH from FAB",
	"eventcode":"arrival",
	"alert_id":31955996,
	"flight": {
		"ident":"GAC586N",
		"aircrafttype":"C510",
		"origin":"EGLF",
		"destination":"EGKB",
		"filed_ete":"00:38:05",
		"route":"",
		"faFlightID":"GAC586N-1571083742-ed-0000",
		"reg":"OEFZE",
		"filed_altitude":0,
		"filed_airspeed_kts":0,
		"filed_time":1571128888, // Tuesday, October 15, 2019 08:41:28 GMT ==> NO ALERT
		"filed_departuretime":1571129138,
		"estimatedarrivaltime":1571131221,
		"actualarrivaltime":1571131221, // Tuesday, October 15, 2019 09:20:21 GMT ==> ALERT RECEIVED OK
		"actualdeparturetime":1571128936, // Tuesday, October 15, 2019 08:42:16 GMT ==> NO ALERT
		"estimated_blockin_time":0,
		"filed_blockin_time":0,
		"actual_blockin_time":0,
		"estimated_blockout_time":0,
		"filed_blockout_time":0,
		"actual_blockout_time":0,
		"filed_arrivaltime":1571131423
	}
}

For some flights, particularly in Europe, the flightplan information is not publicly available (but the aircraft is not actually blocked), so FlightAware is only able to track it as a “position-only” flight based on ADS-B data or another position source. In such cases, we will not know where the flight’s destination will be until it actually lands. Upon landing, if both the origin and destination could be confidently guessed based on positional data the flight will be converted from a “position-only” flight to a regular flight with a synthetic flightplan.

By default, we do not show “position-only” flights on our website or through FlightXML unless the user opts-in by going to the account management page. This is done because position-only flights can often only represent part of a flight in areas of low positional data coverage.

For one of the recent flights by OEFZE that I looked at (GAC308Y-1570971358-ed-0013), we publicly tracked as a position-only flight from departure until landing, and then converted it upon landing, at which point it became eligible to generate your FlightXML alert. If you update your account to allow position-only flight tracking, then you would potentially receive an alert upon departure, but it would not have a destination, ete, or a few other fields available.

Thanks @bovineone for the detailed explanation. This is very helpful.