{
  "generated_at": "2026-09-16T11:16:58+00:00",
  "as_of_day": "2026-09-14",
  "coverage": {
    "day": "2026-09-14",
    "control_flights": 1612,
    "median_28d": 2021,
    "score": 0.798,
    "verdict": "ok"
  },
  "observation": {
    "window_days": 7,
    "observed_days": 7,
    "min_observed_days": 5,
    "ratios_published": true,
    "carriers_with_ratio": 5,
    "carriers_with_board_ratio": 13
  },
  "baseline": {
    "window": "2025-11-01..2026-01-31",
    "season": "IATA winter",
    "caveat": "Ratios compare the present against a fixed winter reference. Summer and winter schedules differ, so a ratio is not a pure measure of disruption."
  },
  "scope": {
    "airports_monitored": 15,
    "routes": "Every route here has at least one end at a monitored airport, because that is where the flights are fetched from. Long-haul routes are included; a route between two unmonitored airports is unreachable, not missing.",
    "ratio": "A carrier's ratio covers `routes_baselined` of its `routes_total`: the routes that both carry a trusted baseline and were visible to our fetches this week. `comparable_share` is what that subset weighs against everything known about the carrier, and under 0.6 the ratio is withheld as null rather than published about a sliver."
  },
  "attribution": {
    "flight_data": "OpenSky Network (opensky-network.org), non-commercial use",
    "live_adsb": "adsb.lol and airplanes.live, ODbL 1.0",
    "advisories": "EASA Conflict Zone Information Bulletins",
    "notice": "Volunteer ADS-B coverage. Absence of data is not evidence of absence of flights. Check the coverage block before use."
  },
  "thresholds_days": {
    "route": 7,
    "station": 10,
    "region": 21
  },
  "reading_note": "started_on is the first silent day, not an announcement date. confidence=observed means ADS-B silence only; corroborated means reporting agrees; contradicted means reporting says they are flying and you should trust the reporting over this feed.",
  "summary": {
    "carriers_with_any_stop": 1,
    "region_stops": 0,
    "station_stops": 0,
    "route_stops": 1,
    "resumed_last_30d": 1
  },
  "active": [
    {
      "id": 435,
      "scope": "route",
      "scope_key": "SVA|LTFM|OMDB",
      "carrier": "SVA",
      "detail": "LTFM-OMDB",
      "baseline_weekly": 2.0,
      "last_flight_on": "2026-09-07",
      "started_on": "2026-09-08",
      "detected_on": "2026-09-14",
      "resumed_on": null,
      "days_stopped": 6,
      "status": "active",
      "confidence": "contradicted",
      "carrier_name": "Saudia",
      "evidence": [
        {
          "source": "news",
          "title": "Saudia Flight Status (September 2026): Current Operations and Route Availability - Wego Travel Blog",
          "url": "https://news.google.com/rss/articles/CBMiXEFVX3lxTE5ybnZYX1owU2RlWTJVQXdzRDVTRkJsVW9GTTJjN2xmb29VNGRPZnROanpLVVIzSjc4eWYtQzg3V3g3Vm1saHlQRG0zVnlyUWg4aFgtV0FxME40VDZM?oc=5",
          "published": "Wed, 16 Sep 2026 03:20:22 GMT",
          "stance": "unclear"
        },
        {
          "source": "news",
          "title": "Saudia to partially resume flights to Dubai, Abu Dhabi, and Amman - ارقام : اخبار ومعلومات سوق الأسهم السعودي - تاسي",
          "url": "https://news.google.com/rss/articles/CBMiakFVX3lxTE5oLVA4NEp2UlkwNmd4cURIR1VtZExyUlpUa1dDN2tRNHZCUGtFZ08tTVRRTHlBN1ByM2xtNjQ5R1Z0a001SXR6Q1Izdl9ya19obmFIRnQ4T2hTRVJHbExKOFlBNlVYekNucnc?oc=5",
          "published": "Thu, 03 Sep 2026 14:23:16 GMT",
          "stance": "contradicts"
        },
        {
          "source": "news",
          "title": "Saudia to launch direct Muscat-Riyadh flights from October 27 - Gulf News",
          "url": "https://news.google.com/rss/articles/CBMirwFBVV95cUxPLUdURnBLckVkT08ybUVWSktfTzBXT1ZmSkhNdHFUa1lEbnY4aHNHVkY1dHdacnYtWFFmVTgwVWRLUm52V1phV0NaXzVMZ2pPd0tybkhVR3gyb3NKVW02blJlNVZPMTdIaktodjZHamxXMTFOTmZneWdpQnRFMnNiU1VET0UwOGdva2ZDSS1BOFZmemlWMEctQXgxejV6VGpIYldpSnlmMjRRVUtlaUo40gHEAUFVX3lxTFA0ZHNVNGZSOGkwQTBpbXIycy1WV0tZU1RyN0Z4ajR6andCT0lEeGY3Q0dKRWxwVFlTUjczVWswaHltVG1MY294bm93Q202Y2VZeGhwQkRDdU4zVHlaemR1NENqenBCZjV3eENiZHR1ZXdCVHNES0t4VV9yWmxVSWJLM3VkbkxCa0hYcHp5aGZFUVlrUHNnTGM3ZXBSeW1OcW1QVGxLaG5CcUxkbVNQV281TFVHZE8taWRLT0c5SFRiVUZTWE4?oc=5",
          "published": "Mon, 31 Aug 2026 16:34:43 GMT",
          "stance": "unclear"
        }
      ],
      "superseded_by": null
    }
  ],
  "recently_resumed": [
    {
      "id": 433,
      "scope": "station",
      "scope_key": "RAM|OTHH",
      "carrier": "RAM",
      "detail": "OTHH",
      "baseline_weekly": 2.8,
      "last_flight_on": "2026-08-15",
      "started_on": "2026-08-16",
      "detected_on": "2026-08-30",
      "resumed_on": "2026-08-29",
      "days_stopped": 13,
      "status": "resumed",
      "confidence": "contradicted",
      "carrier_name": "Royal Air Maroc",
      "evidence": [
        {
          "source": "news",
          "title": "War in the Middle East: Royal Air Maroc Cancels Flights to, From Doha Through March 15 - Morocco World News",
          "url": "https://news.google.com/rss/articles/CBMizgFBVV95cUxQaE5ZZmhvb1U3aEg5bFA1bndGY291NXo0aWFpVG9IZm9EWDJzRVlnT2hPN0FfaWZqRnVnWDd3R096RjVuTzhwUVZxMkg1NktvYW00NmVGekg4TXM1S1VabHhzbVUyOXpmMnM3ZHRDZEpkdDFxUy1FLWpqMFZVYllwa1ZLNVFJcHhKWnV4VzhzMG95bm9PanFKVklKTlVmY1Q3N0pHQVFFUmU3Zmh2OTM5U3hnUkxhNVhGVFdwOEtYSHZLRTZ6ZVZTVFVJTVhSdw?oc=5",
          "published": "Thu, 05 Mar 2026 08:00:00 GMT",
          "stance": "unclear"
        },
        {
          "source": "news",
          "title": "Royal Air Maroc suspends Doha, Dubai flights amid regional turmoil - Middle East Eye",
          "url": "https://news.google.com/rss/articles/CBMivwFBVV95cUxOQUxJYkg0bFpGZXU2ZC0xSGpxaUUyZnV5RmNZUXNKTUpBNVZSX3hVSjM3cW01cXdCLVA5YmJwbnFlZ1I4Z0s4dkpMTkpiUzNvb3g1b3FtVU04bFhERHl1bkt3MEdZQnZ1QjVjb3B4SDkyRVVjRl9aT0hHdzVZcEFZekE2SnIxOWdVUFdhdVZNaXZabjJPbmoxSHRjVW5CTklHMTZnN09WLTlfWTFRbU80ZXhjTVExUlY2LTNMWG93bw?oc=5",
          "published": "Thu, 02 Apr 2026 07:00:00 GMT",
          "stance": "supports"
        },
        {
          "source": "news",
          "title": "Royal Air Maroc extends Dubai and Doha flight suspension until March 31 - Yabiladi.com",
          "url": "https://news.google.com/rss/articles/CBMiiwFBVV95cUxNNmtxdFBMQzhndGdtSHkwYldjcWFIcW5sV3Fyajd3d2MwdjBOdzBkUXpGLVVHdmlHNUFzRXF2RWdQa0RQY0FxX2ttY2NrZmdaM0pvTE5SdEFPbWVFNngxTzNhd3ZJa3JEekVReEJnWW5vZVhWQ3RHOFVDTFh6ajdRZFp5Mk5NWXU0S09r?oc=5",
          "published": "Sun, 15 Mar 2026 07:00:00 GMT",
          "stance": "supports"
        },
        {
          "source": "news",
          "title": "Royal Air Maroc Extends Suspension of Flights to Dubai and Doha - Morocco World News",
          "url": "https://news.google.com/rss/articles/CBMisgFBVV95cUxNMXdsOHJLOE1xbDZpUDhMVE1sVmJScXBPakNCOWdOOEZtN29FWXpnSVlmMmQ1VTd4bE1DaTV1bHJaMy1rRkI5Rlk4bEtCU3BRMUJqVUM0WGVaM0MyU3VHMXhITnRqa05BcWd2QmJ2elJ1MDNXODNzSDc1bFdDOGlEaExIN0I3WUlDbnVHZXVpemxJMGtUM0tyaUlIRm5OMW95Nm45SzVJMERFOXRyUUhyYTF3?oc=5",
          "published": "Sat, 14 Mar 2026 07:00:00 GMT",
          "stance": "supports"
        },
        {
          "source": "news",
          "title": "Royal Air Maroc update: Gulf and Central Africa flights return while European routes remain suspended - TravelMole",
          "url": "https://news.google.com/rss/articles/CBMiakFVX3lxTE0tYWV4Qm81NWlHdlF4Y1pvWVFOUDhXSVhMcThjWUU2UDd0RmRPeXkxLXgtbEdQYlBPcFYtb0pCQzVHT1hpeVpDRGVVVDRBYWY1M19QTFdYQUlXNnRoc2VSMGpzZHU3WVZ2ZHc?oc=5",
          "published": "Mon, 22 Jun 2026 07:00:00 GMT",
          "stance": "supports"
        }
      ],
      "superseded_by": null
    }
  ],
  "board_absence": {
    "source": "published airport boards, own metal only (codeshare listings excluded)",
    "note": "Not part of `active`. An absence here is a carrier missing from a board that answered normally on every day of the absence; one day is provisional, two is a finding.",
    "day": "2026-09-15",
    "comparable_since": "2026-09-01",
    "findings": [],
    "readable_days": 14,
    "required_days": 7,
    "withheld_reason": null
  },
  "board_route_absence": {
    "source": "published airport boards, own metal only (codeshare listings excluded)",
    "note": "A route counts as absent only when neither leg is listed. `adsb_checked` is false where the far end is not an airport we monitor, so no sighting could have contradicted the board.",
    "day": "2026-09-15",
    "comparable_since": "2026-09-01",
    "findings": [
      {
        "airport": "OERK",
        "carrier": "KNE",
        "other_iata": "BHH",
        "last_listed": "2026-09-11",
        "first_absent": "2026-09-12",
        "days": 3,
        "provisional": false,
        "baseline_days": 11,
        "adsb_checked": false
      },
      {
        "airport": "OJAI",
        "carrier": "RJA",
        "other_iata": "SHJ",
        "last_listed": "2026-09-13",
        "first_absent": "2026-09-15",
        "days": 1,
        "provisional": true,
        "baseline_days": 10,
        "adsb_checked": true
      },
      {
        "airport": "OMSJ",
        "carrier": "ABY",
        "other_iata": "PRG",
        "last_listed": "2026-09-13",
        "first_absent": "2026-09-15",
        "days": 1,
        "provisional": true,
        "baseline_days": 10,
        "adsb_checked": false
      }
    ],
    "readable_days": 14,
    "required_days": 7,
    "routes_watched": 806,
    "withheld_reason": null
  },
  "schedule_drops": {
    "source": "AirLabs published timetable, marketing codeshares excluded",
    "note": "Recording began on `since`; a drop before that day was not missed, it was not watched. Only drops to zero, and only where other carriers on the same airport pair survived the same refresh.",
    "since": "2026-09-10",
    "window_days": 30,
    "drops": [
      {
        "dep_iata": "AMM",
        "arr_iata": "AUH",
        "carrier": "ETD",
        "day": "2026-09-16",
        "weekly_before": 3
      },
      {
        "dep_iata": "AUH",
        "arr_iata": "AMM",
        "carrier": "ETD",
        "day": "2026-09-16",
        "weekly_before": 3
      }
    ]
  }
}