Website shows cancelled, XML data does not

At this very moment, NKS349 shows as cancelled on the website:

But the XML 3.0 data that I am receiving says otherwise:

{ ident: 'NKS349',
  faFlightID: 'NKS349-1566017159-airline-0295',
  airline: 'NKS',
  airline_iata: 'NK',
  flightnumber: '349',
  tailnumber: 'N913NK',
  type: 'Form_Airline',
  blocked: false,
  diverted: false,
  cancelled: false,
  origin:
   { code: 'KPHL',
     city: 'Philadelphia, PA',
     alternate_ident: '',
     airport_name: 'Philadelphia Intl' },
  destination:
   { code: 'KMCO',
     city: 'Orlando, FL',
     alternate_ident: '',
     airport_name: 'Orlando Intl' },
  filed_ete: 7620,
  route: 'STOEN J75 GSO Q75 SLOJO Q83 ROYCO Q85 LPERD OMN CWRLD4',
  filed_altitude: 380,
  display_filed_altitude: '38,000 feet',
  filed_airspeed_kts: 355,
  distance_filed: 964,
  filed_departure_time:
   { epoch: 1566236400,
     tz: 'EDT',
     dow: 'Monday',
     time: '01:40PM',
     date: '08/19/2019',
     localtime: 1566222000 },
  estimated_departure_time:
   { epoch: 1566239857,
     tz: 'EDT',
     dow: 'Monday',
     time: '02:37PM',
     date: '08/19/2019',
     localtime: 1566225457 },
  actual_departure_time:
   { epoch: 1566239857,
     tz: 'EDT',
     dow: 'Monday',
     time: '02:37PM',
     date: '08/19/2019',
     localtime: 1566225457 },
  departure_delay: 2520,
  filed_arrival_time:
   { epoch: 1566244020,
     tz: 'EDT',
     dow: 'Monday',
     time: '03:47PM',
     date: '08/19/2019',
     localtime: 1566229620 },
  estimated_arrival_time:
   { epoch: 1566247145,
     tz: 'EDT',
     dow: 'Monday',
     time: '04:39PM',
     date: '08/19/2019',
     localtime: 1566232745 },
  actual_arrival_time:
   { epoch: 1566247145,
     tz: 'EDT',
     dow: 'Monday',
     time: '04:39PM',
     date: '08/19/2019',
     localtime: 1566232745 },
  arrival_delay: 3900,
  filed_blockout_time:
   { epoch: 1566235800,
     tz: 'EDT',
     dow: 'Monday',
     time: '01:30PM',
     date: '08/19/2019',
     localtime: 1566221400 },
  estimated_blockout_time:
   { epoch: 1566237600,
     tz: 'EDT',
     dow: 'Monday',
     time: '02:00PM',
     date: '08/19/2019',
     localtime: 1566223200 },
  actual_blockout_time:
   { epoch: 1566238320,
     tz: 'EDT',
     dow: 'Monday',
     time: '02:12PM',
     date: '08/19/2019',
     localtime: 1566223920 },
  filed_blockin_time:
   { epoch: 1566245520,
     tz: 'EDT',
     dow: 'Monday',
     time: '04:12PM',
     date: '08/19/2019',
     localtime: 1566231120 },
  estimated_blockin_time:
   { epoch: 1566247980,
     tz: 'EDT',
     dow: 'Monday',
     time: '04:53PM',
     date: '08/19/2019',
     localtime: 1566233580 },
  actual_blockin_time:
   { epoch: 1566249420,
     tz: 'EDT',
     dow: 'Monday',
     time: '05:17PM',
     date: '08/19/2019',
     localtime: 1566235020 },
  status: 'Arrived / Delayed',
  progress_percent: 100,
  aircrafttype: 'A320',
  full_aircrafttype: 'A320',
  gate_dest: '30',
  terminal_orig: 'D',
  gate_orig: 'E3',
  inbound_faFlightID: 'NKS358-1566017159-airline-0131',
  adhoc: false }

The flight you quote in the response is this one, which is yesterday’s flight and was not cancelled: https://flightaware.com/live/flight/NKS349/history/20190819/1740Z/KPHL/KMCO

Well would you look at that - it sure is!

Okay - so I suppose there is a different issue here. NKS349 is not listed on the AirportBoards for PHL. But other cancelled flights (such as SWA1436 and SWA1840) are listed on the AirportBoards in the scheduled array.

EDIT: Disregard - It is now showing up all the sudden. Thanks for your help.

This problem seems to keep coming up. Today, both FFT110 and FFT22 out of PHL are cancelled, as indicated on the FA website. But neither flight shows up in the AirportBoards XML feed at all.

When a flight is cancelled it will no longer appear in AirportBoards since it’s no longer expected to operate. However, the cancelled flight will still appear in endpoints like FlightInfoStatus.

Cancelled flights were showing up just a few days ago. It seems like there was a change recently where this stopped happening.

And if this is how it is going to be from now on, I am really disappointed. So the only way I can know which flights are cancelled is to call the FlightInfoStatus endpoint on every flight? I suppose I can come up with an algorithm that detects when a flight has not been listed in the AirportBoards after so many calls and then check the FlightInfoStatus, but that seems like a lot of extra coding to get data that can easily be listed in the boards. There’s not even a CancelledFlights endpoint that can just list the cancelled flights, is there?