changedOutput schema / properties / airports / items / properties / closure / description
Previous value: -"Airport closed to all operations; text lists exceptions."New value: +"Airport closed to all operations, with its NOTAM; text lists the exceptions. A closure scheduled daily is closed only inside dailyWindowUtc, and inEffect says whether it is at fetchedAt."
addedOutput schema / properties / airports / items / properties / closure / properties / dailyWindowUtc
Added value: +{
+ "additionalProperties": false,
+ "description": "The daily window the NOTAM schedules (a DLY HHMM-HHMM closing its text, with startTime on the first window start and endTime on the last window end): the closure applies only inside it, every day from startTime to endTime. Absent when the text states no such schedule.",
+ "properties": {
+ "end": {
+ "description": "Window end, HHMM UTC; earlier than start when the window crosses 0000Z.",
+ "type": "string"
+ },
+ "start": {
+ "description": "Window start, HHMM UTC.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / airports / items / properties / closure / properties / inEffect
Added value: +{
+ "description": "Whether the closure applies at fetchedAt: between startTime and endTime and inside dailyWindowUtc. Present only with dailyWindowUtc; when false, the notice names the next window.",
+ "type": "boolean"
+}
addedOutput schema / properties / airports / items / properties / closure / properties / issuedAt
Added value: +{
+ "description": "NOTAM issue time (UTC ISO).",
+ "type": "string"
+}
addedOutput schema / properties / airports / items / properties / closure / properties / notamNumber
Added value: +{
+ "description": "NOTAM number.",
+ "type": "number"
+}
addedOutput schema / properties / airports / items / properties / closure / properties / notamText
Added value: +{
+ "description": "Full NOTAM text (FAA-authored).",
+ "type": "string"
+}
changedOutput schema / properties / airports / items / properties / closure / properties / text / description
Previous value: -"Closure detail and exceptions (FAA-authored text)."New value: +"The NOTAM wording without its header and effective period: the restriction or the closure exceptions (FAA-authored)."
addedOutput schema / properties / airports / items / properties / closureNotam / properties / dailyWindowUtc
Added value: +{
+ "additionalProperties": false,
+ "description": "The daily window the NOTAM schedules (a DLY HHMM-HHMM closing its text, with startTime on the first window start and endTime on the last window end): the closure applies only inside it, every day from startTime to endTime. Absent when the text states no such schedule.",
+ "properties": {
+ "end": {
+ "description": "Window end, HHMM UTC; earlier than start when the window crosses 0000Z.",
+ "type": "string"
+ },
+ "start": {
+ "description": "Window start, HHMM UTC.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "start",
+ "end"
+ ],
+ "type": "object"
+}
addedOutput schema / properties / airports / items / properties / closureNotam / properties / inEffect
Added value: +{
+ "description": "Whether the closure applies at fetchedAt: between startTime and endTime and inside dailyWindowUtc. Present only with dailyWindowUtc; when false, the notice names the next window.",
+ "type": "boolean"
+}
changedOutput schema / properties / airports / items / properties / closureNotam / properties / text / description
Previous value: -"The restriction wording (FAA-authored)."New value: +"The NOTAM wording without its header and effective period: the restriction or the closure exceptions (FAA-authored)."
addedOutput schema / properties / airports / items / properties / plannedPrograms
Added value: +{
+ "description": "The current operations plan's terminal ground-stop and delay-program items that name this airport, each identical item once, with times as the plan states them (see timeUtc; an item past its time is not filtered out). [] when the plan names the airport nowhere, which does not mean no trouble is expected: en-route items, constraints, and runway closures stay in faa_delays_get_operations_plan and the plan advisory. Absent when the operations plan could not be read. Never changes status.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One terminal item of the current operations plan that names this airport, with the advisory reference of the plan.",
+ "properties": {
+ "advisory": {
+ "additionalProperties": false,
+ "description": "Reference to the ATCSCC advisory behind this item, absent when the FAA feed links none. For the full text, call faa_delays_get_advisory with number as advisory_number and date as date.",
+ "properties": {
+ "date": {
+ "description": "Advisory UTC date, YYYY-MM-DD.",
+ "type": "string"
+ },
+ "number": {
+ "description": "ATCSCC advisory number; numbers restart at 1 each UTC day.",
+ "maximum": 9007199254740991,
+ "minimum": -9007199254740991,
+ "type": "integer"
+ },
+ "url": {
+ "description": "Server-built advisory URL, the page faa_delays_get_advisory reads for this number and date.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "number",
+ "date",
+ "url"
+ ],
+ "type": "object"
+ },
+ "likelihood": {
+ "description": "The FAA's stated likelihood: possible (<30 %), probable (30–60 %), or expected (most likely). Absent when the text states none.",
+ "enum": [
+ "possible",
+ "probable",
+ "expected"
+ ],
+ "type": "string"
+ },
+ "text": {
+ "description": "The planned item as the FAA wrote it, tabs flattened and the leading dash removed (FAA-authored).",
+ "type": "string"
+ },
+ "timeQualifier": {
+ "description": "How the planned time bounds the item, parsed from the start of the text; for between, timeUtc is the start of the window and its end stays in text.",
+ "enum": [
+ "after",
+ "until",
+ "by",
+ "between"
+ ],
+ "type": "string"
+ },
+ "timeUtc": {
+ "description": "Planned time as HHMM UTC, with no date. Its day comes from the plan's event window (the EVENT TIME line of the plan advisory, read with faa_delays_get_advisory), which can start on the UTC day after the advisory date.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "text"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
changedOutput schema / properties / airports / items / properties / status / description
Previous value: -"Headline status, first match wins: closed (airport closure) → ground_stop → ground_delay_program → delays (arrival or departure delay) → restrictions_only (listed with only a closure NOTAM, deicing, or runway configuration) → no_active_events (absent from the feed: no FAA program, which does not guarantee on-time flights)."New value: +"Headline status, first match wins: closed (an airport closure in effect; one outside its daily window, closure.inEffect false, is skipped) → ground_stop → ground_delay_program → delays (arrival or departure delay) → restrictions_only (listed with only a closure NOTAM, deicing, runway configuration, or an airport closure outside its daily window) → no_active_events (absent from the feed: no FAA program, which does not guarantee on-time flights)."