An EFF package from a dispatcher arrives as a structured archive with a specific file naming convention and an XML manifest inside. If you want to understand what it actually contains — which documents are in it, how the folder tree is organised, what the metadata says about the flight — you need to know ARINC 633 well enough to parse it correctly.

The standard is not short. And different airlines use it differently. Some follow the spec closely, others have their own folder structures and document types layered on top. The only way to really understand what a given operator's EFF looks like is to open one and walk through it.

I built aviant as a personal viewer for exactly that. It ingests an EFF package, parses the eff.xml manifest, and presents the folder tree and documents in a navigable interface. It has been useful every time I work with a new airline's EFF configuration, or when a parser is not behaving as expected and I need to see the raw structure without writing a throwaway script.

Technical details — ARINC 633 structure and API

EFF File Name Format

EFF file names follow a structured format defined in ARINC 633 Table 4.1.

FieldDescriptionFormatExample
aircraftRegRegistration number[A-Z0-9]+N1234S
DELIMITEROne underscore__
flightIdentificationFlight ID (optional, 1–10 chars)[A-Z0-9]{1,10}DLH234AB
DELIMITEROne underscore__
departureDateDeparture dateYYMMDD050823
DELIMITEROne underscore__
departureAirportIATA (3) or ICAO (4) codeXXX / XXXXFRA
DELIMITEROne underscore__
arrivalAirportIATA (3) or ICAO (4) codeXXX / XXXXJFK
EFF typeFull or UpdateF or UF
DATETIMESTAMPCreation timestampYYMMDDHHMMSS0508231741
FILE TYPEExtension.eff.eff

Example: N1234S_DLH234AB_050823_FRA_JFK_F0508231741.eff

EFF Folder Tree

The EFF viewer menu is derived from the eff.xml metadata tree, not from ZIP paths inside .dat archives.

  • Folder nodes map to SubFolder/@title
  • Document nodes map to Document/@title and resolve download targets via Document/@file
  • Root and nested namespaces are supported (EFUSUB, EFDREP, and prefixed tags)

Folder Tree API

GET /briefings/:id/folder-tree

Requires briefing-admin authentication. Response shape:

{
  "roots": [
    {
      "id": "...",
      "title": "...",
      "node_type": "folder",
      "children": [
        {
          "id": "...",
          "title": "...",
          "node_type": "document",
          "filename": "..."
        }
      ]
    }
  ]
}
← Back