{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Current state of a tracked aircraft as observed by a single receiver.",
      "key": "tid",
      "record": {
        "properties": {
          "aircraft": {
            "description": "Strong reference to the at.adsb.aircraft.identity record for this aircraft.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "callsign": {
            "description": "Flight callsign as broadcast (e.g. 'UAL123').",
            "maxLength": 8,
            "type": "string"
          },
          "icaoHex": {
            "description": "ICAO 24-bit hex address (uppercased).",
            "maxLength": 6,
            "minLength": 6,
            "type": "string"
          },
          "messageCount": {
            "description": "Total messages received from this aircraft in the current tracking session.",
            "minimum": 0,
            "type": "integer"
          },
          "nic": {
            "description": "Navigation Integrity Category (0-11). Higher is more precise.",
            "maximum": 11,
            "minimum": 0,
            "type": "integer"
          },
          "position": {
            "description": "Most recent position fix for this aircraft.",
            "ref": "at.adsb.flight.defs#position",
            "type": "ref"
          },
          "rc": {
            "description": "Radius of containment in metres. Derived from NIC.",
            "minimum": 0,
            "type": "integer"
          },
          "rssi": {
            "description": "Received signal strength indicator in dBFS.",
            "maxLength": 10,
            "type": "string"
          },
          "seen": {
            "description": "Seconds since last message from this aircraft.",
            "maxLength": 10,
            "type": "string"
          },
          "seenPos": {
            "description": "Seconds since last position fix from this aircraft.",
            "maxLength": 10,
            "type": "string"
          },
          "squawk": {
            "description": "Transponder squawk code (e.g. '2636').",
            "maxLength": 4,
            "minLength": 4,
            "type": "string"
          }
        },
        "required": [
          "icaoHex",
          "rssi",
          "seen"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A real-time aircraft state update, broadcast via at.adsb.broadcast.subscribeEvents. Ephemeral — not written to a PDS.",
  "id": "at.adsb.broadcast.message",
  "lexicon": 1
}
