com.airplaneian.contrail.temp.flight

airplaneian.com

Documentation

An assertion that a particular flight existed, rather than a personal log entry about the author. Only 'createdAt' is required. Every other field is optional, and absent means unknown or not applicable rather than empty or zero. The exception is 'relationship', where absent means no claim is being made. Records of the same flight written by different people are expected, so write the identifying fields consistently. Any kind of flying is in scope, and origin may equal destination.

main record

An assertion that a particular flight existed, rather than a personal log entry about the author. Only 'createdAt' is required. Every other field is optional, and absent means unknown or not applicable rather than empty or zero. The exception is 'relationship', where absent means no claim is being made. Records of the same flight written by different people are expected, so write the identifying fields consistently. Any kind of flying is in scope, and origin may equal destination.

Record Key tid Timestamp-based ID

Properties

actualGateArrival string datetime Optional

Actual 'in' time, reaching the gate or parking position. Explicit UTC offset, no fractional seconds.

actualGateDeparture string datetime Optional

Actual 'out' time, leaving the gate or parking position. Explicit UTC offset, no fractional seconds.

actualLanding string datetime Optional

Actual 'on' time, wheels on. Explicit UTC offset, no fractional seconds.

actualTakeoff string datetime Optional

Actual 'off' time, wheels off. Explicit UTC offset, no fractional seconds.

aircraftType string Optional

Free-text aircraft type as the source expressed it, for example 'Boeing 737-800'. Not normalised and not reliable for matching. Several distinct ICAO designators can share one marketing name.

maxLength: 128 bytes
cabin string Optional

Cabin or class of service. An open string in lower camel case; the known values are not exhaustive.

maxLength: 64 bytes
Known values: economy, premiumEconomy, business, first
callsign string Optional

The flight identification the aircraft broadcast, uppercase and exactly as transmitted. Holds the whole callsign, never a fragment of one. May be an operator designator followed by a flight number, a registration, or a string with no internal structure.

maxLength: 16 bytes
createdAt string datetime Required

When this record was written, not when the flight happened. Explicit UTC offset, no fractional seconds.

date string Optional

Calendar date of departure at the origin, as 'YYYY-MM-DD'. Part of the identity key with 'operator' and 'flightNumber'. Must agree with any departure timestamp.

maxLength: 10 bytes
destination ref com.airplaneian.contrail.temp.defs#place Optional

Where the flight arrived, or was intended to arrive if it was cancelled. If it diverted, this stays the intended destination and 'diversionAirport' holds where it landed.

flightNumber string Optional

The operating agency's flight number, as a string. Digits only, without the operator prefix.

maxLength: 16 bytes
icao24 string Optional

The airframe's 24-bit ICAO address, six lowercase hexadecimal characters. With an actual departure time this is the identity key for flights with no flight number.

maxLength: 8 bytes
icaoTypeDesignator string Optional

ICAO aircraft type designator, for example 'B77W'.

maxLength: 8 bytes
marketingAirline string Optional

ICAO designator of the airline that sold the flight, when it differs from 'operator'. Codeshares only.

maxLength: 8 bytes
marketingFlightNumber string Optional

Flight number under which the flight was sold, when it differs from 'flightNumber'.

maxLength: 16 bytes
notes string Optional

Free-text note. Public as soon as the record is written, and copies may persist after the record is deleted. Do not put booking references or other credentials here.

maxLength: 10000 bytesmaxGraphemes: 1000 graphemes
operator string Optional

ICAO designator of the agency that operated the flight, three letters, uppercase. Not airlines only: 'UAL', 'FDX', 'RCH'. Use 'operatorName' where no designator exists.

maxLength: 8 bytes
operatorName string Optional

Free-text name of the operating agency, for operators with no ICAO designator. Not reliable for matching. This is who flew the aircraft, which is often not who owns it.

maxLength: 128 bytes
registeredOwner string Optional

Free-text name of the party the airframe is registered to. Often a trust or holding company, and frequently not the operator.

maxLength: 128 bytes
registration string Optional

Registration or tail number, uppercase with no hyphens or spaces, so that 'G-VBOW' and 'GVBOW' are one aircraft. Military and state identifiers go here too.

maxLength: 16 bytes
relationship string Optional

The author's connection to this flight. Absent means no claim is being made, unlike every other field where absent means unknown. An open string: the known values are not exhaustive.

maxLength: 64 bytes
Known values: passenger, pic, sic, student, instructor, crew, observer
route string Optional

The route as filed, written as the flight plan expressed it, for example 'SSTIK2 SSTIK Q90 AVOSE'. Free text, not normalised and not reliable for matching. This is the planned route, not the flown track: a track belongs in a surveillance archive, which 'icao24' and a departure time are enough to query.

maxLength: 1000 bytes
scheduledGateArrival string datetime Optional

Scheduled 'in' time, reaching the gate or parking position. Explicit UTC offset, no fractional seconds.

scheduledGateDeparture string datetime Optional

Scheduled 'out' time, leaving the gate or parking position. Explicit UTC offset, no fractional seconds.

scheduledLanding string datetime Optional

Scheduled 'on' time, wheels on. Explicit UTC offset, no fractional seconds.

scheduledTakeoff string datetime Optional

Scheduled 'off' time, wheels off. Explicit UTC offset, no fractional seconds.

seat string Optional

Seat occupied, as a string, for example '14C'.

maxLength: 16 bytes
source string Optional

Short identifier for the tool or dataset that wrote this record, for example 'flighty', 'manual', or 'adsb'.

maxLength: 64 bytes
sourceId string Optional

That tool's own identifier for this flight. Kept in the record body rather than the record key, so a record can be corrected without becoming a new one. Meaningful only with 'source'.

maxLength: 512 bytes
status string Optional

How the flight concluded. Absent means unknown, so write 'normal' explicitly when the flight operated as planned.

maxLength: 32 bytes
Known values: normal, cancelled, diverted
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "createdAt"
    ],
    "properties": {
      "date": {
        "type": "string",
        "maxLength": 10,
        "description": "Calendar date of departure at the origin, as 'YYYY-MM-DD'. Part of the identity key with 'operator' and 'flightNumber'. Must agree with any departure timestamp."
      },
      "seat": {
        "type": "string",
        "maxLength": 16,
        "description": "Seat occupied, as a string, for example '14C'."
      },
      "cabin": {
        "type": "string",
        "maxLength": 64,
        "description": "Cabin or class of service. An open string in lower camel case; the known values are not exhaustive.",
        "knownValues": [
          "economy",
          "premiumEconomy",
          "business",
          "first"
        ]
      },
      "notes": {
        "type": "string",
        "maxLength": 10000,
        "description": "Free-text note. Public as soon as the record is written, and copies may persist after the record is deleted. Do not put booking references or other credentials here.",
        "maxGraphemes": 1000
      },
      "route": {
        "type": "string",
        "maxLength": 1000,
        "description": "The route as filed, written as the flight plan expressed it, for example 'SSTIK2 SSTIK Q90 AVOSE'. Free text, not normalised and not reliable for matching. This is the planned route, not the flown track: a track belongs in a surveillance archive, which 'icao24' and a departure time are enough to query."
      },
      "icao24": {
        "type": "string",
        "maxLength": 8,
        "description": "The airframe's 24-bit ICAO address, six lowercase hexadecimal characters. With an actual departure time this is the identity key for flights with no flight number."
      },
      "origin": {
        "ref": "com.airplaneian.contrail.temp.defs#place",
        "type": "ref",
        "description": "Where the flight departed. May equal 'destination'; local flights are ordinary."
      },
      "source": {
        "type": "string",
        "maxLength": 64,
        "description": "Short identifier for the tool or dataset that wrote this record, for example 'flighty', 'manual', or 'adsb'."
      },
      "status": {
        "type": "string",
        "maxLength": 32,
        "description": "How the flight concluded. Absent means unknown, so write 'normal' explicitly when the flight operated as planned.",
        "knownValues": [
          "normal",
          "cancelled",
          "diverted"
        ]
      },
      "callsign": {
        "type": "string",
        "maxLength": 16,
        "description": "The flight identification the aircraft broadcast, uppercase and exactly as transmitted. Holds the whole callsign, never a fragment of one. May be an operator designator followed by a flight number, a registration, or a string with no internal structure."
      },
      "operator": {
        "type": "string",
        "maxLength": 8,
        "description": "ICAO designator of the agency that operated the flight, three letters, uppercase. Not airlines only: 'UAL', 'FDX', 'RCH'. Use 'operatorName' where no designator exists."
      },
      "sourceId": {
        "type": "string",
        "maxLength": 512,
        "description": "That tool's own identifier for this flight. Kept in the record body rather than the record key, so a record can be corrected without becoming a new one. Meaningful only with 'source'."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When this record was written, not when the flight happened. Explicit UTC offset, no fractional seconds."
      },
      "destination": {
        "ref": "com.airplaneian.contrail.temp.defs#place",
        "type": "ref",
        "description": "Where the flight arrived, or was intended to arrive if it was cancelled. If it diverted, this stays the intended destination and 'diversionAirport' holds where it landed."
      },
      "aircraftType": {
        "type": "string",
        "maxLength": 128,
        "description": "Free-text aircraft type as the source expressed it, for example 'Boeing 737-800'. Not normalised and not reliable for matching. Several distinct ICAO designators can share one marketing name."
      },
      "flightNumber": {
        "type": "string",
        "maxLength": 16,
        "description": "The operating agency's flight number, as a string. Digits only, without the operator prefix."
      },
      "operatorName": {
        "type": "string",
        "maxLength": 128,
        "description": "Free-text name of the operating agency, for operators with no ICAO designator. Not reliable for matching. This is who flew the aircraft, which is often not who owns it."
      },
      "registration": {
        "type": "string",
        "maxLength": 16,
        "description": "Registration or tail number, uppercase with no hyphens or spaces, so that 'G-VBOW' and 'GVBOW' are one aircraft. Military and state identifiers go here too."
      },
      "relationship": {
        "type": "string",
        "maxLength": 64,
        "description": "The author's connection to this flight. Absent means no claim is being made, unlike every other field where absent means unknown. An open string: the known values are not exhaustive.",
        "knownValues": [
          "passenger",
          "pic",
          "sic",
          "student",
          "instructor",
          "crew",
          "observer"
        ]
      },
      "actualLanding": {
        "type": "string",
        "format": "datetime",
        "description": "Actual 'on' time, wheels on. Explicit UTC offset, no fractional seconds."
      },
      "actualTakeoff": {
        "type": "string",
        "format": "datetime",
        "description": "Actual 'off' time, wheels off. Explicit UTC offset, no fractional seconds."
      },
      "registeredOwner": {
        "type": "string",
        "maxLength": 128,
        "description": "Free-text name of the party the airframe is registered to. Often a trust or holding company, and frequently not the operator."
      },
      "diversionAirport": {
        "ref": "com.airplaneian.contrail.temp.defs#place",
        "type": "ref",
        "description": "Where the flight actually landed, when that was not 'destination'. Present only when 'status' is 'diverted'."
      },
      "marketingAirline": {
        "type": "string",
        "maxLength": 8,
        "description": "ICAO designator of the airline that sold the flight, when it differs from 'operator'. Codeshares only."
      },
      "scheduledLanding": {
        "type": "string",
        "format": "datetime",
        "description": "Scheduled 'on' time, wheels on. Explicit UTC offset, no fractional seconds."
      },
      "scheduledTakeoff": {
        "type": "string",
        "format": "datetime",
        "description": "Scheduled 'off' time, wheels off. Explicit UTC offset, no fractional seconds."
      },
      "actualGateArrival": {
        "type": "string",
        "format": "datetime",
        "description": "Actual 'in' time, reaching the gate or parking position. Explicit UTC offset, no fractional seconds."
      },
      "icaoTypeDesignator": {
        "type": "string",
        "maxLength": 8,
        "description": "ICAO aircraft type designator, for example 'B77W'."
      },
      "actualGateDeparture": {
        "type": "string",
        "format": "datetime",
        "description": "Actual 'out' time, leaving the gate or parking position. Explicit UTC offset, no fractional seconds."
      },
      "scheduledGateArrival": {
        "type": "string",
        "format": "datetime",
        "description": "Scheduled 'in' time, reaching the gate or parking position. Explicit UTC offset, no fractional seconds."
      },
      "marketingFlightNumber": {
        "type": "string",
        "maxLength": 16,
        "description": "Flight number under which the flight was sold, when it differs from 'flightNumber'."
      },
      "scheduledGateDeparture": {
        "type": "string",
        "format": "datetime",
        "description": "Scheduled 'out' time, leaving the gate or parking position. Explicit UTC offset, no fractional seconds."
      }
    }
  },
  "description": "An assertion that a particular flight existed, rather than a personal log entry about the author. Only 'createdAt' is required. Every other field is optional, and absent means unknown or not applicable rather than empty or zero. The exception is 'relationship', where absent means no claim is being made. Records of the same flight written by different people are expected, so write the identifying fields consistently. Any kind of flying is in scope, and origin may equal destination."
}

Lexicon Garden

@