{
  "name": "Airline.live derived database method",
  "methodVersion": 1,
  "date": "2026-10-25",
  "appVersion": "0.34.0",
  "documentation": {
    "tr": "https://airline.live/acik-veri",
    "en": "https://airline.live/en/acik-veri",
    "json": "https://airline.live/acik-veri/yontem.json"
  },
  "source": {
    "name": "ADSB.lol",
    "url": "https://adsb.lol",
    "license": "ODbL-1.0",
    "licenseUrl": "https://opendatacommons.org/licenses/odbl/1-0/"
  },
  "derivedDatabase": {
    "license": "ODbL-1.0",
    "licenseUrl": "https://opendatacommons.org/licenses/odbl/1-0/",
    "excluded": {
      "tr": "Türetilmiş veritabanında yalnız uçak verisi vardır. Kullanıcı hesabı, ziyaretçi, IP adresi ya da analiz verisi bu veritabanına hiç girmez; yöneticilerin işlem kaydı ayrı tutulur ve bu belgenin kapsamında değildir.",
      "en": "The derived database contains aircraft data only. No user account, visitor, IP address or analytics data ever enters it; the administrators’ action log is kept separately and is not covered by this document."
    },
    "dump": {
      "available": false,
      "text": {
        "tr": "Veritabanının dökümü şimdilik sunulmuyor. ODbL md. 4.6, türetme yönteminin bu belgedeki gibi anlatılmasına izin verir.",
        "en": "A dump of the database is not offered for now. ODbL section 4.6 allows the method of derivation to be described instead, as this document does."
      }
    }
  },
  "publication": {
    "scope": "airline",
    "principles": [
      {
        "tr": "Yalnız bilinen bir havayolu çağrı koduyla uçan uçaklar yayınlanır. Kural askerî, devlet ve özel uçakları (iş jetleri dahil) yayının dışında tutmak için yazılmıştır; tespit kusursuz değildir. Bu, üretimdeki tek kapsamdır; hepsini gösteren bir kip yoktur.",
        "en": "Only aircraft flying under a known airline callsign are published. The rule is written to keep military, state and private aircraft (business jets included) out; detection is not perfect. This is the only scope in production; there is no mode that shows everything."
      },
      {
        "tr": "Kural, veri alındığı anda, kaynağında uygulanır: yayınlanmayan uçak canlı haritaya, uçuş kaydına ve ize hiç yazılmaz. Kural kararı için uçağın kimliği (hex kodu, çağrı kodu, tescil ve tip) yalnız veriyi işleyen sürecin belleğinde, uçak son görüldükten sonra en çok 24 saat tutulur ve hiçbir yere yazılmaz. Yayınlanmama nedenleri yalnız sayı olarak saklanır.",
        "en": "The rule is applied at the source, as soon as the data arrives: an aircraft that is not published is never written to the live map, the flight record or the track. For the rule’s decision, the aircraft’s identity (hex code, callsign, registration and type) is held only in the memory of the process that handles the data, for at most 24 hours after the aircraft was last seen, and is never written anywhere. Reasons for not publishing are stored only as counts."
      },
      {
        "tr": "Kural kapalı varsayımla çalışır: bir uçağın yayınlanabileceğinden emin olunamıyorsa yayınlanmaz.",
        "en": "The rule fails closed: if it cannot be established that an aircraft may be published, it is not published."
      }
    ],
    "steps": [
      {
        "id": "blocklist",
        "reasons": [
          "blocklist_unavailable",
          "blocklisted",
          "blocklisted_registration"
        ],
        "title": {
          "tr": "Yönetici engel listesi",
          "en": "Administrator blocklist"
        },
        "text": {
          "tr": "Yöneticinin engel listesindeki uçaklar, hex koduyla ya da tescille eklenmiş olsun, yayınlanmaz. Liste okunamazsa hiçbir uçak yayınlanmaz. Listenin içeriği yayımlanmaz; uçak gizleme talepleri bu listeyle uygulanır.",
          "en": "Aircraft on the administrator’s blocklist, whether added by hex code or by registration, are not published. If the list cannot be read, no aircraft is published. The contents of the list are not published; aircraft hide requests are applied through this list."
        }
      },
      {
        "id": "military_flag",
        "reasons": [
          "military"
        ],
        "title": {
          "tr": "Askerî işaret",
          "en": "Military flag"
        },
        "text": {
          "tr": "Kaynağın uçak veritabanında askerî olarak işaretli uçaklar yayınlanmaz.",
          "en": "Aircraft flagged as military in the source’s aircraft database are not published."
        }
      },
      {
        "id": "database_flags",
        "reasons": [
          "flags_unknown",
          "interesting",
          "pia_ladd"
        ],
        "title": {
          "tr": "Veritabanı işaretleri",
          "en": "Database flags"
        },
        "text": {
          "tr": "İşaretleri bilinmeyen uçaklar, “ilginç” olarak işaretli uçaklar (bu işaret devlet, VIP ve polis uçaklarında sık kullanılır) ve PIA ya da LADD programındaki uçaklar yayınlanmaz.",
          "en": "Aircraft whose flags are unknown, aircraft flagged as “interesting” (a flag often used for state, VIP and police aircraft) and aircraft in the PIA or LADD programmes are not published."
        }
      },
      {
        "id": "address",
        "reasons": [
          "non_icao"
        ],
        "title": {
          "tr": "ICAO adresi",
          "en": "ICAO address"
        },
        "text": {
          "tr": "ICAO 24 bit adresi olmayan uçaklar ve ICAO dışı adresle gelen konumlar (TIS-B ve ADS-R’nin bu tür kayıtları) yayınlanmaz.",
          "en": "Aircraft without an ICAO 24-bit address and positions that arrive with a non-ICAO address (such TIS-B and ADS-R records) are not published."
        }
      },
      {
        "id": "category",
        "reasons": [
          "category"
        ],
        "title": {
          "tr": "Uçak sınıfı",
          "en": "Aircraft category"
        },
        "text": {
          "tr": "Uçağın yayınladığı sınıf yolcu ya da kargo uçağı sınıfı (A1–A5) değilse uçak yayınlanmaz: helikopter, yüksek performanslı uçak, planör, balon, paraşüt, ultra hafif hava aracı, insansız hava aracı ve yer araçları. Sınıfı bilinmeyen uçak bu adımı geçer; işletmeci adımında yeniden denetlenir.",
          "en": "If the category the aircraft broadcasts is not a passenger or cargo aircraft category (A1–A5), the aircraft is not published: helicopters, high-performance aircraft, gliders, balloons, parachutists, ultralights, unmanned aircraft and ground vehicles. An aircraft with an unknown category passes this step and is checked again at the operator step."
        }
      },
      {
        "id": "callsign",
        "reasons": [
          "no_callsign",
          "callsign_pattern",
          "callsign_is_registration"
        ],
        "title": {
          "tr": "Çağrı kodu",
          "en": "Callsign"
        },
        "text": {
          "tr": "Çağrı kodu boşsa, üç harfli ICAO işletmeci kodu ve rakamla başlayan en çok dört karakterli uçuş tanıtıcısı biçiminde değilse ya da uçağın tescilinin kendisiyse (tescil biçiminde gönderilmiş olsa da) uçak yayınlanmaz. Örnekte çağrı kodu yoksa aynı uçağın son 10 dakikada görülen çağrı kodu kullanılır.",
          "en": "If the callsign is empty, does not have the form of a three-letter ICAO operator code followed by a flight identifier of up to four characters starting with a digit, or is the aircraft’s own registration (even when sent in registration form), the aircraft is not published. If a sample has no callsign, the callsign seen for the same aircraft in the last 10 minutes is used."
        }
      },
      {
        "id": "operator",
        "reasons": [
          "denied_designator",
          "designators_unavailable",
          "unknown_designator",
          "non_airline_operator",
          "small_non_scheduled",
          "unknown_type_non_scheduled"
        ],
        "title": {
          "tr": "İşletmeci",
          "en": "Operator"
        },
        "text": {
          "tr": "İşletmeci kodu reddedilen kodlar tablosundaysa, VRS standing-data işletmeci tablosunda yoksa ya da VRS’e göre işletmecinin bütün uçuşları charter veya konumlandırma uçuşuysa uçak yayınlanmaz; tatil uçuşlarını yolcu uçağıyla yapan charter havayolları bu kuraldan ayrı bir izin listesiyle çıkarılır. IATA kodu olmayan işletmecinin küçük ya da sınıfı bilinmeyen uçağı ve tipi bilinmeyen uçağı da yayınlanmaz. İşletmeci tablosu yüklenmemişse hiçbir uçak yayınlanmaz.",
          "en": "If the operator code is in the table of denied codes, is not in the VRS standing-data operator table, or VRS lists all of the operator’s flights as charter or positioning flights, the aircraft is not published; charter airlines that fly holiday routes with airliners are exempted from this rule by a separate allow list. Small aircraft, aircraft with an unknown category and aircraft with an unknown type are not published either when the operator has no IATA code. If the operator table has not been loaded, no aircraft is published."
        }
      },
      {
        "id": "business_jet_type",
        "reasons": [
          "business_jet_type"
        ],
        "title": {
          "tr": "İş jeti tipi",
          "en": "Business jet type"
        },
        "text": {
          "tr": "Uçağın tipi iş jeti tipleri listesindeyse (ICAO Doc 8643 tip kodları) işletmeci havayolu olsa da uçak yayınlanmaz.",
          "en": "If the aircraft type is in the list of business jet types (ICAO Doc 8643 type designators), the aircraft is not published even when the operator is an airline."
        }
      }
    ],
    "deniedDesignators": {
      "total": 284,
      "groups": [
        {
          "id": "military",
          "name": {
            "tr": "Askerî",
            "en": "Military"
          },
          "count": 127,
          "codes": [
            "AAC",
            "ACW",
            "AFP",
            "AIO",
            "AKG",
            "ALF",
            "AME",
            "ASF",
            "ASY",
            "AYB",
            "BAF",
            "BFW",
            "BRS",
            "CAP",
            "CBY",
            "CEF",
            "CFC",
            "CFN",
            "CGD",
            "CHD",
            "CMB",
            "CNV",
            "COH",
            "CTM",
            "CWL",
            "DAF",
            "DAR",
            "DCN",
            "DEF",
            "DNY",
            "EEF",
            "EGY",
            "ETP",
            "EVY",
            "EXB",
            "FAC",
            "FAF",
            "FAG",
            "FMY",
            "FNF",
            "FNY",
            "FPR",
            "GAF",
            "GAM",
            "GDQ",
            "GGA",
            "GKA",
            "GNY",
            "HAF",
            "HNA",
            "HRZ",
            "HUF",
            "HVK",
            "IAF",
            "IAM",
            "IFC",
            "INP",
            "IRL",
            "ISF",
            "JMM",
            "KIN",
            "KIW",
            "KRC",
            "LAF",
            "LEE",
            "LMG",
            "LOP",
            "LOS",
            "LSV",
            "LYF",
            "MBR",
            "MJN",
            "MMF",
            "MRH",
            "NAF",
            "NDF",
            "NGR",
            "NOH",
            "NOW",
            "NRN",
            "NVY",
            "NWO",
            "NYB",
            "OAN",
            "OSY",
            "PAT",
            "PLF",
            "PNG",
            "PNY",
            "POA",
            "PON",
            "QID",
            "RCH",
            "RFF",
            "RFR",
            "RJZ",
            "RMF",
            "ROF",
            "RRF",
            "RRR",
            "RSF",
            "SAF",
            "SAM",
            "SHF",
            "SIV",
            "SMG",
            "SQF",
            "SRD",
            "SRG",
            "SUI",
            "SVF",
            "SYS",
            "TFU",
            "THN",
            "TNG",
            "TOF",
            "TOW",
            "TTF",
            "UAA",
            "UAD",
            "UAF",
            "UAJ",
            "UAS",
            "VLL",
            "VYT",
            "WAG",
            "WYT"
          ]
        },
        {
          "id": "state",
          "name": {
            "tr": "Devlet",
            "en": "State"
          },
          "count": 48,
          "codes": [
            "AUH",
            "BAH",
            "BAN",
            "BEC",
            "BFA",
            "BGF",
            "CIE",
            "DAM",
            "DOI",
            "DUB",
            "EVM",
            "FFS",
            "FGC",
            "FGP",
            "GGE",
            "GRZ",
            "HKG",
            "KRF",
            "KRH",
            "KUG",
            "LPD",
            "MET",
            "MRN",
            "MSP",
            "NEB",
            "NHK",
            "ONM",
            "ORF",
            "PLT",
            "PRD",
            "QAF",
            "QUE",
            "RGP",
            "RIF",
            "RSD",
            "SGF",
            "SGS",
            "SLG",
            "SNV",
            "SSG",
            "THK",
            "TQF",
            "TRI",
            "UCK",
            "UFA",
            "UKP",
            "UTS",
            "WDG"
          ]
        },
        {
          "id": "police_border",
          "name": {
            "tr": "Polis, jandarma, gümrük, sahil güvenlik ve sınır",
            "en": "Police, gendarmerie, customs, coast guard and border"
          },
          "count": 28,
          "codes": [
            "BPO",
            "CGX",
            "CTG",
            "CWP",
            "EDL",
            "FDO",
            "FGN",
            "FNG",
            "GDB",
            "GRY",
            "HBT",
            "ICG",
            "LIB",
            "NRW",
            "OKL",
            "PBB",
            "PBW",
            "PHH",
            "PHS",
            "PIK",
            "PLC",
            "PMV",
            "POF",
            "POL",
            "PPH",
            "ROP",
            "SRP",
            "TRP"
          ]
        },
        {
          "id": "flight_inspection",
          "name": {
            "tr": "Uçuş kontrolü ve sivil havacılık otoritesi",
            "en": "Flight inspection and civil aviation authority"
          },
          "count": 17,
          "codes": [
            "CBA",
            "CBN",
            "CFI",
            "CFU",
            "CIA",
            "CIV",
            "EXM",
            "FCK",
            "FII",
            "FLC",
            "FOC",
            "LTS",
            "RFI",
            "SDS",
            "VOR",
            "XMR",
            "ZZM"
          ]
        },
        {
          "id": "medical_rescue",
          "name": {
            "tr": "Ambulans, hasta taşıma, insani yardım, arama kurtarma ve yangın söndürme",
            "en": "Air ambulance, patient transport, humanitarian aid, search and rescue and firefighting"
          },
          "count": 35,
          "codes": [
            "ALJ",
            "AMB",
            "AMD",
            "BIN",
            "BMD",
            "BZD",
            "CFH",
            "CHX",
            "CMF",
            "DIC",
            "DOC",
            "FDS",
            "FRU",
            "LRQ",
            "LUV",
            "MCD",
            "MCG",
            "MCL",
            "MCY",
            "MED",
            "MRZ",
            "NGF",
            "NSP",
            "OEC",
            "PHX",
            "RED",
            "RES",
            "RGA",
            "RHD",
            "RSQ",
            "SAZ",
            "SWE",
            "TKR",
            "TYW",
            "WPR"
          ]
        },
        {
          "id": "business_vip",
          "name": {
            "tr": "İş jeti ve VIP",
            "en": "Business jet and VIP"
          },
          "count": 29,
          "codes": [
            "ABP",
            "BDJ",
            "BXA",
            "DER",
            "EJA",
            "EJM",
            "EJO",
            "FXF",
            "GAJ",
            "GLJ",
            "GMA",
            "IJM",
            "JME",
            "LEG",
            "LXJ",
            "MLM",
            "NJE",
            "PJS",
            "QQE",
            "ROJ",
            "TCJ",
            "TFF",
            "TRK",
            "VIC",
            "VIE",
            "VJT",
            "VNK",
            "VPV",
            "VUR"
          ]
        }
      ],
      "source": "VRS standing-data (CC0)"
    },
    "charterAllow": {
      "count": 10,
      "codes": [
        "AAE",
        "BUC",
        "EAF",
        "ENT",
        "EVE",
        "EZZ",
        "HST",
        "KRP",
        "OTF",
        "VAW"
      ],
      "source": "VRS standing-data (CC0)"
    },
    "businessJetTypes": {
      "count": 83,
      "codes": [
        "ASTR",
        "BE40",
        "C25A",
        "C25B",
        "C25C",
        "C25M",
        "C500",
        "C501",
        "C510",
        "C525",
        "C526",
        "C550",
        "C551",
        "C55B",
        "C560",
        "C56X",
        "C650",
        "C680",
        "C68A",
        "C700",
        "C750",
        "CL30",
        "CL35",
        "CL60",
        "E35L",
        "E50P",
        "E545",
        "E550",
        "E55P",
        "EA50",
        "F2TH",
        "F900",
        "FA10",
        "FA20",
        "FA50",
        "FA5X",
        "FA6X",
        "FA7X",
        "FA8X",
        "G150",
        "G280",
        "GA5C",
        "GA6C",
        "GA7C",
        "GA8C",
        "GALX",
        "GL5T",
        "GL6T",
        "GL7T",
        "GL8T",
        "GLEX",
        "GLF2",
        "GLF3",
        "GLF4",
        "GLF5",
        "GLF6",
        "H25A",
        "H25B",
        "H25C",
        "HA4T",
        "HDJT",
        "LJ23",
        "LJ24",
        "LJ25",
        "LJ28",
        "LJ31",
        "LJ35",
        "LJ36",
        "LJ40",
        "LJ45",
        "LJ55",
        "LJ60",
        "LJ70",
        "LJ75",
        "LJ85",
        "MU30",
        "PC24",
        "PRM1",
        "SBR1",
        "SBR2",
        "SF50",
        "SJ30",
        "WW24"
      ],
      "source": "ICAO Doc 8643"
    },
    "blocklist": {
      "exists": true,
      "published": false,
      "keys": [
        "hex",
        "registration"
      ]
    }
  },
  "sampling": {
    "sampledIntervalSeconds": 30,
    "fineAirportRadiusKm": 30,
    "fineMaxHeightAboveAirportFt": 10000,
    "groundMinMoveMetres": 20,
    "flightGapMinutes": 30,
    "groundSplitMinutes": 20,
    "rules": [
      {
        "tr": "Uçuş kaydı: bir uçağın kesintisiz bir uçuşu bir kayıttır. 30 dakikadan uzun veri boşluğu, iki çağrı kodu arasındaki değişim ve yerde 20 dakikalık bekleme yeni kayıt başlatır.",
        "en": "Flight record: one uninterrupted flight of an aircraft is one record. A data gap of more than 30 minutes, a change between two callsigns and 20 minutes on the ground start a new record."
      },
      {
        "tr": "30 saniyelik iz: her uçuş kaydı için en çok 30 saniyede bir konum örneği.",
        "en": "30-second track: at most one position sample every 30 seconds for each flight record."
      },
      {
        "tr": "Tam çözünürlüklü iz: izlenen bir havalimanının merkezine 30 km’den yakın ve yerde ya da havalimanının 10.000 ft’ten az üstünde olan uçakların her konum örneği; ayrıca yöneticinin takip listesindeki uçaklar.",
        "en": "Full-resolution track: every position sample of aircraft within 30 km of a monitored airport’s centre that are on the ground or less than 10,000 ft above the airport; also aircraft on the administrator’s watch list."
      },
      {
        "tr": "Yerde, son yazılan noktadan 20 metreden az yer değiştiren örnek yazılmaz.",
        "en": "On the ground, a sample that has moved less than 20 metres from the last written point is not written."
      }
    ]
  },
  "storage": {
    "tables": {
      "flights": [
        "id",
        "hex",
        "callsign",
        "registration",
        "type_code",
        "first_seen_at",
        "last_seen_at",
        "status",
        "created_at",
        "updated_at"
      ],
      "track_points": [
        "flight_id",
        "ts",
        "lat",
        "lon",
        "alt_baro_ft",
        "alt_geom_ft",
        "gs_kt",
        "track_deg",
        "vertical_rate_fpm",
        "on_ground",
        "source",
        "seen_pos_s",
        "baro_rate_fpm"
      ]
    },
    "retention": [
      {
        "id": "flights",
        "tables": [
          "flights"
        ],
        "limitSeconds": 2505600,
        "maxAgeSeconds": 2592000,
        "text": {
          "tr": "Uçuş kayıtları: hex kodu, çağrı kodu, tescil, tip, ilk ve son görülme zamanı.",
          "en": "Flight records: hex code, callsign, registration, type, first and last seen time."
        }
      },
      {
        "id": "track_points_sampled",
        "tables": [
          "track_points_sampled"
        ],
        "limitSeconds": 604800,
        "maxAgeSeconds": 691200,
        "text": {
          "tr": "30 saniyelik iz: konum, yükseklik, yer hızı, yön, dikey hız, yerde olup olmadığı ve konum kaynağı.",
          "en": "30-second track: position, altitude, ground speed, track, vertical rate, whether on the ground and position source."
        }
      },
      {
        "id": "track_points_fine",
        "tables": [
          "track_points_fine"
        ],
        "limitSeconds": 2505600,
        "maxAgeSeconds": 2592000,
        "text": {
          "tr": "Tam çözünürlüklü iz: 30 saniyelik izle aynı alanlar, havalimanı çevresinde ve takip listesinde.",
          "en": "Full-resolution track: the same fields as the 30-second track, around airports and for the watch list."
        }
      },
      {
        "id": "live_aircraft",
        "tables": [],
        "limitSeconds": 1800,
        "maxAgeSeconds": 1920,
        "text": {
          "tr": "Canlı harita: uçakların anlık durumu, yalnız bellekte; diske yazılmaz.",
          "en": "Live map: the current state of aircraft, in memory only; never written to disk."
        }
      }
    ]
  }
}
