Andrew Martinez

FAA Registration Models

AircraftModelRef

Purpose

Embedded aircraft reference payload used to enrich an FAA registration record with aircraft make/model and categorical attributes from ACFTREF-like datasets. Designed to accept raw FAA/registry keys while preserving a clean Python attribute interface.

Fields
  • CODE (str) — aircraft model code / identifier
  • MFR (Optional[str]) — manufacturer
  • MODEL (Optional[str]) — model
  • TYPE_ACFT (Optional[str], alias TYPE-ACFT) — aircraft type code
  • TYPE_ENG (Optional[str], alias TYPE-ENG) — engine type code
  • AC_CAT (Optional[str], alias AC-CAT) — aircraft category
  • BUILD_CERT_IND (Optional[str], alias BUILD-CERT-IND) — build/cert indicator
  • NO_ENG (Optional[str]) — number of engines
  • NO_SEATS (Optional[str]) — number of seats
  • AC_WEIGHT (Optional[str]) — weight class
  • SPEED (Optional[str]) — speed class
  • TC_DATA_SHEET (Optional[str], alias TC-DATA-SHEET) — type certificate data sheet
  • TC_DATA_HOLDER (Optional[str], alias TC-DATA-HOLDER) — type certificate holder
Validation rules
  • populate_by_name = True — supports population by field name or alias (e.g. TYPE-ACFT).
  • extra = "ignore" — unknown fields are discarded to tolerate evolving upstream schemas.

EngineRefModel

Purpose

Embedded engine reference payload used to enrich an FAA registration record with engine manufacturer/model and basic performance descriptors. Intended to be tolerant of partial data and external keying conventions.

Fields
  • CODE (str) — engine model code / identifier
  • MFR (Optional[str]) — manufacturer
  • MODEL (Optional[str]) — model
  • TYPE (Optional[str]) — engine type classification
  • HORSEPOWER (Optional[str]) — horsepower (if applicable)
  • THRUST (Optional[str]) — thrust (if applicable)
Validation rules
  • populate_by_name = True — consistent instantiation behavior across raw/normalized keys.
  • extra = "ignore" — unknown fields are discarded to tolerate upstream changes.

FAARegistrationModel

Purpose

Primary enriched FAA registry entity. Combines core FAA registration identifiers, registrant metadata, status and classification fields, and embedded ACFTREF/ENGINE references. Persists as a DynamoDB item and supports projection into normalized registry shape and Typesense search documents.

Fields
  • Core identifiers: N_NUMBER (str), source (str, default FAA), UNIQUE_ID (Optional[str])
  • Raw FAA identifiers: SERIAL_NUMBER, MFR_MDL_CODE, ENG_MFR_MDL (Optional[str]), YEAR_MFR (Optional[int])
  • Enriched objects: MODEL (Optional[AircraftModelRef]), ENGINE (Optional[EngineRefModel])
  • Registrant info: TYPE_REGISTRANT (Optional[RegistrantTypeEnum]), NAME, STREET, STREET2, CITY, STATE, ZIP_CODE, COUNTY, COUNTRY, REGION
  • Status + classification: STATUS_CODE (Optional[StatusCodeEnum]), CERTIFICATION (Optional[str]), AIRWORTHINESS_CLASS (Optional[AirworthinessClassEnum]), TYPE_AIRCRAFT (Optional[AircraftTypeEnum]), TYPE_ENGINE (Optional[EngineTypeEnum])
  • Transponder: MODE_S_CODE, MODE_S_CODE_HEX (Optional[str])
  • Ownership: FRACT_OWNER (Optional[str])
  • FAA dates (YYYYMMDD): LAST_ACTION_DATE, CERT_ISSUE_DATE, AIR_WORTH_DATE, EXPIRATION_DATE (Optional[int])
Validation rules
  • N_NUMBER is required (Field(...)) and documented as the tail number identifier.
  • faa_to_epoch() defensively validates FAA date format (YYYYMMDD) and returns None on parse failure.
  • Embedded models tolerate unknown upstream fields via extra="ignore" (at the embedded model level).