Menu
Back to Documentation Index

FIXM Field Mapping

FIXM 4.3 + TFMS field alignment with vATCSCC extensions

VATSWIM API Field Mapping

FIXM + TFMS Alignment with vATCSCC Extensions

Version: 1.1

Date: 2026-01-16

Purpose: Comprehensive field mapping using FIXM as primary standard, TFMS for abbreviations, with vATCSCC extensions for VATSIM-specific fields.


Naming Conventions

LayerConventionExample
FIXM (Full)camelCase, hierarchicalactualOffBlockTime
TFMS (Abbrev)UPPERCASE, 2-6 charsAOBT
vATCSCC ExtensioncamelCase with vATCSCC: prefixvATCSCC:pilotCid
JSON APIsnake_caseactual_off_block_time
Databasesnake_caseactual_off_block_time

1. Flight Identification

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Unique Flight IDgufiGUFIgufigufigufi✅ OK
Internal Flight Keyflight_keyflight_keyflight_key✅ OK
CallsignaircraftIdentificationACIDaircraft_identificationcallsignaircraft_identification🔄 Rename
VATSIM Pilot CIDvATCSCC:pilotCidCIDpilot_cidcidpilot_cid🔄 Rename
VATSIM Pilot NamevATCSCC:pilotNamepilot_namepilot_name➕ Add
VATSIM Pilot RatingvATCSCC:pilotRatingpilot_ratingpilot_rating➕ Add
Flight NumberflightNumberFLT_NUMflight_numberflight_number➕ Add
Airline (ICAO)operatorIcaoDesignatorAIRLINEoperator_icaoairline_icaooperator_icao🔄 Rename
Airline (IATA)operatorIataDesignatoroperator_iataoperator_iata➕ Add
Airline NameoperatorNameoperator_nameairline_nameoperator_name🔄 Rename
RegistrationregistrationREGregistrationregistration➕ Add
SSR Code (Squawk)assignedCodeBCNassigned_codetransponderassigned_code🔄 Rename

2. Aircraft Information

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Aircraft Type (ICAO)aircraftTypeTYPEaircraft_typeaircraft_typeaircraft_type✅ OK
Aircraft Type (FAA)otherAircraftTypeAPTSother_aircraft_typeaircraft_faaother_aircraft_type🔄 Rename
Wake Category (ICAO)wakeTurbulenceWAKEwake_turbulencewake_categorywake_turbulence🔄 Rename
Weight Class (FAA)nas:weightClassWGTCLASSweight_classweight_classweight_class✅ OK
Engine TypeengineTypeengine_typeengine_typeengine_type✅ OK
Engine CountengineCountengine_countengine_count➕ Add
Aircraft CategoryaircraftCategoryAC_CATaircraft_categoryac_cataircraft_category🔄 Rename
Equipment QualifierequipmentQualifierEQUIPequipment_qualifierequipment_qualifier➕ Add
User Categorynas:userCategoryUSER_CATuser_categoryuser_categoryuser_category✅ OK
CDM Participantnas:cdmParticipantCDMcdm_participantcdm_participantcdm_participant✅ OK

3. Airports & Locations

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Departure AirportdepartureAerodromeDEPTdeparture_aerodromedept_icaodeparture_aerodrome🔄 Rename
Arrival AirportarrivalAerodromeDESTarrival_aerodromedest_icaoarrival_aerodrome🔄 Rename
Alternate AirportalternateAerodromeALT1alternate_aerodromealternate_aerodrome➕ Add
Diversion AirportdiversionAerodromeDIVdiversion_aerodromediversion_aerodrome➕ Add
Departure GatedepartureGatedeparture_gatedeparture_gate➕ Add
Arrival GatearrivalGatearrival_gatearrival_gate➕ Add
Departure RunwaydepartureRunwayDRWYdeparture_runwaydeparture_runway➕ Add
Arrival RunwayarrivalRunwayARWYarrival_runwayarrival_runway➕ Add
Departure ARTCCdepartureAirspaceDEPT_CTRdeparture_airspacefp_dept_artccdeparture_airspace🔄 Rename
Arrival ARTCCarrivalAirspaceDEST_CTRarrival_airspacefp_dest_artccarrival_airspace🔄 Rename
Departure TRACONvATCSCC:departureTraconDEPT_APPdeparture_traconfp_dept_tracondeparture_tracon🔄 Rename
Arrival TRACONvATCSCC:arrivalTraconDEST_APParrival_traconfp_dest_traconarrival_tracon🔄 Rename

4. Route & Trajectory

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Filed RouterouteTextROUTEroute_textrouteroute_text🔄 Rename
Current RoutecurrentRouteTextCURR_RTEcurrent_route_textcurrent_route_text➕ Add
Parsed RoutevATCSCC:parsedRouteparsed_routeroute_parsedparsed_route🔄 Rename
Route QualityvATCSCC:routeQualityroute_qualityroute_qualityroute_quality✅ OK
SIDstandardInstrumentDepartureSIDsidsid➕ Add
STARstandardInstrumentArrivalSTARstarstar➕ Add
ApproachapproachProcedureIAPapproach_procedureapproach_procedure➕ Add
Departure FixdeparturePointDFIXdeparture_pointdeparture_point➕ Add
Arrival FixarrivalPointAFIXarrival_pointarrival_point➕ Add
Cruise AltitudecruisingLevelALTcruising_levelcruise_altitudecruising_level🔄 Rename
Cruise SpeedcruisingSpeedSPDcruising_speedcruise_speedcruising_speed🔄 Rename
Flight RulesflightRulesCategoryFLT_RULESflight_rules_categoryflight_rulesflight_rules_category🔄 Rename
Total DistancetotalFlightDistanceDISTtotal_flight_distanceroute_total_nmtotal_flight_distance🔄 Rename
GCD DistancegreatCircleDistanceGCDgreat_circle_distancegcd_nmgreat_circle_distance🔄 Rename
RemarksremarksRMKremarksremarksremarks✅ OK

5. Position & Track Data

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Latitudeposition/latitudeLATlatitudelatlatitude🔄 Rename
Longitudeposition/longitudeLONlongitudelonlongitude🔄 Rename
Altitude (ft)altitudeALTaltitudealtitudealtitude✅ OK
Flight LevelflightLevelFLflight_levelflight_level➕ Add
Track (°)trackHDGtrackheadingtrack🔄 Rename
Ground Speed (kts)groundSpeedGSground_speedgroundspeedground_speed🔄 Rename
True AirspeedtrueAirspeedTAStrue_airspeedtrue_airspeed➕ Add
Mach NumbermachNumberMACHmach_numbermach_number➕ Add
Vertical RateverticalRateVRvertical_ratevertical_rate➕ Add
Position TimepositionTimePOSTIMEposition_timelast_seen_utcposition_time🔄 Rename
Distance to DestdistanceToDestinationDTGdistance_to_destinationdist_to_dest_nmdistance_to_destination🔄 Rename
Distance FlowndistanceFlowndistance_flowndist_flown_nmdistance_flown🔄 Rename
Percent CompletevATCSCC:percentCompletePCTpercent_completepct_completepercent_complete🔄 Rename
Current ARTCCcurrentAirspaceCUR_ARTCCcurrent_airspacecurrent_airspace➕ Add
Current SectorcurrentSectorSECTORcurrent_sectorcurrent_sector➕ Add
Current Airport ZonevATCSCC:currentAirportZoneZONEcurrent_airport_zonecurrent_zonecurrent_airport_zone🔄 Rename
Zone AirportvATCSCC:currentZoneAirportcurrent_zone_airportcurrent_zone_airportcurrent_zone_airport✅ OK

6. Flight Times - OOOI

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
OUT (Block Out)actualOffBlockTimeAOBTactual_off_block_timeout_utcactual_off_block_time🔄 Rename
OFF (Wheels Up)actualTimeOfDepartureATOTactual_time_of_departureoff_utcactual_time_of_departure🔄 Rename
ON (Wheels Down)actualLandingTimeALDTactual_landing_timeon_utcactual_landing_time🔄 Rename
IN (Block In)actualInBlockTimeAIBTactual_in_block_timein_utcactual_in_block_time🔄 Rename

7. Flight Times - Estimated

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Est Off-BlockestimatedOffBlockTimeEOBTestimated_off_block_timeetd_utcestimated_off_block_time🔄 Rename
Est DepartureestimatedTimeOfDepartureETDestimated_time_of_departureestimated_time_of_departure➕ Add
Est ArrivalestimatedTimeOfArrivalETAestimated_time_of_arrivaleta_utcestimated_time_of_arrival🔄 Rename
Est In-BlockestimatedInBlockTimeEIBTestimated_in_block_timeestimated_in_block_time➕ Add
ETA QualifieretaQualifierETA_PREFIXeta_qualifiereta_qualifier➕ Add
ETD QualifieretdQualifierETD_PREFIXetd_qualifieretd_qualifier➕ Add

8. Flight Times - Controlled (TMI)

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
EDCTexpectedDepartureClearanceTimeEDCTedctedct➕ Add
Original EDCToriginalEdctOEDCToriginal_edctoriginal_edct➕ Add
Controlled DeparturecontrolledTimeOfDepartureCTDcontrolled_time_of_departurecontrolled_time_of_departure➕ Add
Original CTDoriginalCtdOCTDoriginal_ctdoriginal_ctd➕ Add
Controlled ArrivalcontrolledTimeOfArrivalCTAcontrolled_time_of_arrivalcontrolled_time_of_arrival➕ Add
Slot TimeslotTimeSLOTslot_timeslot_time➕ Add

9. Flight Times - A-CDM Milestones

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
TOBTtargetOffBlockTimeTOBTtarget_off_block_timetarget_off_block_time➕ Add
TSATtargetStartupApprovalTimeTSATtarget_startup_approval_timetarget_startup_approval_time➕ Add
TTOTtargetTakeoffTimeTTOTtarget_takeoff_timetarget_takeoff_time➕ Add
TLDTtargetLandingTimeTLDTtarget_landing_timetarget_landing_time➕ Add

10. Flight Times - Zone Detection (vATCSCC Extension)

ConceptFIXM-like FieldJSON APICurrent DBNew DBMigration
Parking LeftvATCSCC:parkingLeftTimeparking_left_timeparking_left_utcparking_left_time🔄 Rename
Taxiway EnteredvATCSCC:taxiwayEnteredTimetaxiway_entered_timetaxiway_entered_utctaxiway_entered_time🔄 Rename
Hold EnteredvATCSCC:holdEnteredTimehold_entered_timehold_entered_utchold_entered_time🔄 Rename
Runway EnteredvATCSCC:runwayEnteredTimerunway_entered_timerunway_entered_utcrunway_entered_time🔄 Rename
RotationvATCSCC:rotationTimerotation_timerotation_utcrotation_time🔄 Rename
Approach StartvATCSCC:approachStartTimeapproach_start_timeapproach_start_utcapproach_start_time🔄 Rename
ThresholdvATCSCC:thresholdTimethreshold_timethreshold_utcthreshold_time🔄 Rename
TouchdownvATCSCC:touchdownTimetouchdown_timetouchdown_utctouchdown_time🔄 Rename
Rollout EndvATCSCC:rolloutEndTimerollout_end_timerollout_end_utcrollout_end_time🔄 Rename
Parking EnteredvATCSCC:parkingEnteredTimeparking_entered_timeparking_entered_utcparking_entered_time🔄 Rename

11. Flight Status & Phase

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Flight StatusflightStatusSTATUSflight_statusphaseflight_status🔄 Rename
Is ActivevATCSCC:isActiveACTIVEis_activeis_activeis_active✅ OK
Last SourcevATCSCC:lastSourceSRClast_sourcelast_sourcelast_source✅ OK

12. TMI / ATFM Control Data

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Control TypecontrolTypeCTL_TYPEcontrol_typecontrol_type➕ Add
Control ElementcontrolElementCTL_ELEMcontrol_elementcontrol_element➕ Add
Program NameprogramNameCTL_PRGMprogram_nameprogram_name➕ Add
Delay ValuedelayValueDLA_ASGNdelay_valuedelay_value➕ Add
Delay StatusdelayStatusDLY_STATUSdelay_statusdelay_status➕ Add
Ground Stop HeldgroundStopHeldGS_HELDground_stop_heldground_stop_held➕ Add
Exempt IndicatorexemptIndicatorEXEMPTexempt_indicatorexempt_indicator➕ Add
Exempt ReasonexemptReasonEXEMPT_RSNexempt_reasonexempt_reason➕ Add

12.1 External Flow Management (ECFMP, NavCanada, VATPAC)

Provider-agnostic integration for external flow management systems. FIXM-aligned field mapping for global interoperability.

Flow Providers

ConceptFIXM FieldJSON APIDB ColumnDescription
Provider CodeproviderCodeprovider.codeprovider_codeECFMP, NAVCAN, VATPAC
Provider NameproviderNameprovider.nameprovider_nameDisplay name
API Base URLapi.base_urlapi_base_urlProvider API endpoint
Region CodesflightInformationRegioncoverage.regionsregion_codes_jsonEUR, NAM, NAT, PAC
FIR CodesflightInformationRegioncoverage.firsfir_codes_jsonEGTT, CZQX, etc.

Flow Events (FIXM: /flight/specialHandling)

ConceptFIXM FieldJSON APIDB ColumnDescription
Event CodespecialHandlingCodecodeevent_codeCTP2026, FNO2026
Event NamespecialHandlingDescriptionnameevent_nameCross the Pond 2026
Event TypespecialHandlingTypetypeevent_typeSPECIAL, EXERCISE, VIP
Start TimetimeRange/starttimeRange.startstart_utcEvent start
End TimetimeRange/endtimeRange.endend_utcEvent end
GS ExemptexemptIndicatorexemptions.groundStopgs_exemptEvent flights exempt from GS
GDP PrioritypriorityIndicatorexemptions.gdpPrioritygdp_priorityEvent flights get priority
Participant CountparticipantCountparticipant_countNumber of registered pilots

Flow Event Participants (FIXM: /flight/flightIdentification)

ConceptFIXM FieldJSON APIDB ColumnDescription
Pilot CIDvATCSCC:pilotCidcidpilot_cidVATSIM CID
CallsignaircraftIdentificationcallsigncallsignPre-registered callsign
DeparturedepartureAerodromedeparturedep_aerodromeOrigin ICAO
ArrivalarrivalAerodromearrivalarr_aerodromeDestination ICAO
Flight MatchedflightMatchedflight_uidMatched to active flight

Flow Measures (FIXM: /atfm/flowElement)

ConceptFIXM FieldTFMSJSON APIDB ColumnDescription
Measure IdentflowMeasureIdentifierFM_IDidentidentEGTT22A
Measure TypeflowMeasureTypeFM_TYPEtypemeasure_typeSee table below
Measure ValueflowMeasureValueFM_VALvaluemeasure_valueNumeric value
Measure UnitflowMeasureUnitunitmeasure_unitNM, MIN, SEC, PER_HOUR
ReasonatfmReasonFM_RSNreasonreasonCTP Event Traffic
Control ElementcontrolElementCTL_ELEMcontrolElementctl_elementAirport/FIR/Fix
Element TypeelementTypeELM_TYPEelementTypeelement_typeAPT, FIR, FCA, FIX
Mandatory RouterouteConstraintMAND_RTEmandatoryRoutemandatory_route_jsonRequired route fixes

Measure Types (TFMS-aligned)

TypeFIXM EquivalentDescriptionUnit
MITmilesInTrailMiles-In-TrailNM
MINITminutesInTrailMinutes-In-TrailMIN
MDIminimumDepartureIntervalMinimum Departure IntervalSEC
RATEdepartureRateDeparture Rate CapPER_HOUR
GSgroundStopGround Stop
GDPgroundDelayProgramGround Delay ProgramMIN
AFPairspaceFlowProgramAirspace Flow ProgramMIN
REROUTErouteConstraintMandatory Reroute

Flow Measure Filters (FIXM: /atfm/flowElement/filter)

ConceptFIXM FieldJSON APIDB (filters_json)Description
Departure AirportsdepartureAerodromefilters.departureAerodromeadepOrigin filter
Arrival AirportsarrivalAerodromefilters.arrivalAerodromeadesDestination filter
Departure FIRsdepartureFirfilters.departureFiradep_firOrigin FIR filter
Arrival FIRsarrivalFirfilters.arrivalFirades_firDestination FIR filter
WaypointsroutePointfilters.waypointswaypointsRoute point filter
Airwaysairwayfilters.airwaysairwaysAirway filter
Flight LevelflightLevelfilters.flightLevellevelsMin/max altitude
Aircraft TypeaircraftTypefilters.aircraftTypeaircraft_typeType filter
Event Membershipfilters.memberEventmember_eventEvent ID filter

Flight-Level Flow Data (adl_flight_tmi extension)

ConceptFIXM FieldJSON APIDB ColumnDescription
Flow Event IDecfmp.event.idflow_event_idFK to tmi_flow_events
Flow Event CodespecialHandlingCodeecfmp.event.codeflow_event_codeCTP2026
Flow PrioritypriorityIndicatorecfmp.priorityflow_priorityEVENT, STANDARD
GS Exempt FlagexemptIndicatorecfmp.gsExemptflow_gs_exemptEvent flight exempt
Flow Measure IDecfmp.activeMeasure.idflow_measure_idFK to tmi_flow_measures
Flow Measure IdentflowMeasureIdentifierecfmp.activeMeasure.identflow_measure_identEGTT22A

13. Metering & Sequencing (TBFM)

Core TBFM Fields (FIXM 4.3)

ConceptFIXM FieldTFMSJSON APICurrent DBNew DBMigration
Meter FixmeteringPointMFmetering_pointmetering_point➕ Add
Meter TimemeteringTimeMF_TIMEmetering_timemetering_time➕ Add
STA (Runway)scheduledTimeOfArrivalSTAscheduled_time_of_arrivalscheduled_time_of_arrival➕ Add
STD (Runway)scheduledTimeOfDepartureSTDscheduled_time_of_departurescheduled_time_of_departure➕ Add
Sequence NumbersequenceNumberSEQsequence_numbersequence_number➕ Add
Delay ValuedelayValueDLA_ASGNmetering_delaymetering_delay➕ Add
Frozen IndicatorfrozenIndicatorFROZENmetering_frozenmetering_frozen➕ Add
Arrival StreamarrivalStreamGATEarrival_streamarrival_stream➕ Add

TBFM Extended Fields (vATCSCC)

ConceptFIXM-like FieldTFMSJSON APINew DBDescription
Metering StatusvATCSCC:meteringStatusMTR_STSmetering_statusmetering_statusUNMETERED/METERED/FROZEN/SUSPENDED/EXEMPT
Undelayed ETAvATCSCC:undelayedEtaUETAundelayed_etaundelayed_etaBaseline ETA without TBFM delay
ETA at VertexvATCSCC:etaVertexETA_VTeta_vertexeta_vertexETA at corner post/vertex
STA at VertexvATCSCC:staVertexSTA_VTsta_vertexsta_vertexAssigned time at vertex
Vertex PointvATCSCC:vertexPointVT_FIXvertex_pointvertex_pointVertex fix identifier
Metering SourcevATCSCC:meteringSourceMTR_SRCmetering_sourcemetering_sourcesimtraffic/vatcscc/vnas/topsky
Metering UpdatedvATCSCC:meteringUpdatedTimemetering_updated_atmetering_updated_atLast metering update timestamp

Metering Status Values

StatusDescription
UNMETEREDNot yet under TBFM control
METEREDActive TBFM metering, sequence may change
FROZENSequence frozen, no further changes
SUSPENDEDTBFM suspended (e.g., weather deviation)
EXEMPTExempt from metering (priority, emergency)

SimTraffic Integration Flow

SimTraffic  ──(POST /ingest/metering)──►  SWIM  ──(GET /metering/{airport})──►  vNAS  ──►  CRC Datablock

SimTraffic provides:

  • sequence_number - Arrival sequence (1 = next to land)
  • scheduled_time_of_arrival - STA at runway threshold
  • metering_time - STA at meter fix
  • metering_delay - Minutes of assigned delay
  • metering_frozen - Frozen flag
  • arrival_stream - Corner post assignment
  • vNAS/CRC displays:

  • Sequence number in datablock
  • STA/ETA comparison (delay indicator)
  • Frozen status

14. SimBrief Integration (vATCSCC Extension)

ConceptFIXM-like FieldJSON APICurrent DBNew DBMigration
OFP IDvATCSCC:simbriefOfpIdsimbrief_ofp_idsimbrief_ofp_id➕ Add
SimBrief RoutevATCSCC:simbriefRoutesimbrief_routesimbrief_route➕ Add
Cost IndexvATCSCC:costIndexcost_indexcost_index➕ Add
Block FuelvATCSCC:blockFuelblock_fuelblock_fuel➕ Add
ZFWvATCSCC:zeroFuelWeightzero_fuel_weightzero_fuel_weight➕ Add
TOWvATCSCC:takeoffWeighttakeoff_weighttakeoff_weight➕ Add

15. Data Source Timestamps (vATCSCC Extension)

ConceptFIXM-like FieldJSON APICurrent DBNew DBMigration
ADL UpdatedvATCSCC:adlUpdatedTimeadl_updated_atadl_updated_atadl_updated_at✅ OK
Track UpdatedvATCSCC:trackUpdatedTimetrack_updated_attrack_updated_attrack_updated_at✅ OK
SimBrief UpdatedvATCSCC:simbriefUpdatedTimesimbrief_updated_atsimbrief_updated_atsimbrief_updated_at✅ OK
Created AtrecordCreationTimecreated_atcreated_atcreated_at✅ OK
Updated AtrecordUpdateTimeupdated_atupdated_atupdated_at✅ OK

16. Migration Summary

By Action Type

ActionCountDescription
✅ OK (No change)22Already compliant or acceptable
🔄 Rename42Existing columns need renaming
➕ Add45New columns to add

17. vATCSCC Extension XSD Namespace

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:vATCSCC="http://vatcscc.org/schema/1.0"
           xmlns:fx="http://www.fixm.aero/flight/4.3"
           targetNamespace="http://vatcscc.org/schema/1.0"
           elementFormDefault="qualified">

  <!-- VATSIM Pilot Identification -->
  <xs:complexType name="VatsimIdentificationType">
    <xs:sequence>
      <xs:element name="pilotCid" type="xs:positiveInteger"/>
      <xs:element name="pilotName" type="xs:string" minOccurs="0"/>
      <xs:element name="pilotRating" type="vATCSCC:PilotRatingType" minOccurs="0"/>
      <xs:element name="homeArtcc" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <!-- Airport Zone Detection -->
  <xs:complexType name="AirportZoneType">
    <xs:sequence>
      <xs:element name="currentAirportZone" type="vATCSCC:ZoneNameType" minOccurs="0"/>
      <xs:element name="currentZoneAirport" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <!-- Zone Times -->
  <xs:complexType name="ZoneTimesType">
    <xs:sequence>
      <xs:element name="parkingLeftTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="taxiwayEnteredTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="holdEnteredTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="runwayEnteredTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="rotationTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="approachStartTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="thresholdTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="touchdownTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="rolloutEndTime" type="xs:dateTime" minOccurs="0"/>
      <xs:element name="parkingEnteredTime" type="xs:dateTime" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <!-- SimBrief integration -->
  <xs:complexType name="SimbriefDataType">
    <xs:sequence>
      <xs:element name="ofpId" type="xs:string" minOccurs="0"/>
      <xs:element name="route" type="xs:string" minOccurs="0"/>
      <xs:element name="costIndex" type="xs:integer" minOccurs="0"/>
      <xs:element name="blockFuel" type="xs:decimal" minOccurs="0"/>
      <xs:element name="zeroFuelWeight" type="xs:decimal" minOccurs="0"/>
      <xs:element name="takeoffWeight" type="xs:decimal" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <!-- Enumerations -->
  <xs:simpleType name="PilotRatingType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="NEW"/>
      <xs:enumeration value="PPL"/>
      <xs:enumeration value="IR"/>
      <xs:enumeration value="CMEL"/>
      <xs:enumeration value="ATPL"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ZoneNameType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="PARKING"/>
      <xs:enumeration value="TAXIWAY"/>
      <xs:enumeration value="HOLD"/>
      <xs:enumeration value="RUNWAY"/>
      <xs:enumeration value="AIRBORNE"/>
      <xs:enumeration value="APPROACH"/>
      <xs:enumeration value="FINAL"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>


18. API Response Example (Post-Migration)

{
  "gufi": "VAT-20260116-UAL123-KJFK-KLAX",
  "flight_key": "UAL123-KJFK-KLAX-20260116",
  "aircraft_identification": "UAL123",
  "pilot_cid": 1234567,
  "operator_icao": "UAL",
  "operator_name": "United Airlines",
  
  "aircraft_type": "B738",
  "other_aircraft_type": "B738",
  "wake_turbulence": "MEDIUM",
  "weight_class": "L",
  
  "departure_aerodrome": "KJFK",
  "arrival_aerodrome": "KLAX",
  "departure_airspace": "ZNY",
  "arrival_airspace": "ZLA",
  
  "route_text": "DEEZZ5 DEEZZ J60 PSB J584 BJARR ANJLL4",
  "cruising_level": 35000,
  "cruising_speed": 460,
  "total_flight_distance": 2475.3,
  
  "latitude": 39.8561,
  "longitude": -104.6737,
  "altitude": 35000,
  "ground_speed": 487,
  "track": 268,
  "percent_complete": 45.2,
  "current_airport_zone": null,
  
  "actual_off_block_time": "2026-01-16T14:30:00Z",
  "actual_time_of_departure": "2026-01-16T14:45:00Z",
  "estimated_time_of_arrival": "2026-01-16T19:15:00Z",
  
  "flight_status": "CRUISING",
  "is_active": true,
  "last_source": "VATSIM",
  
  "position_time": "2026-01-16T16:45:00Z",
  "updated_at": "2026-01-16T16:45:15Z"
}


11. Airport Taxi Reference Data (FAA ASPM Extension)

FIXM 4.3 does not define taxi time fields. VATSWIM extends the data model with

airport taxi-out reference times using FAA ASPM terminology and methodology.

Endpoint: GET /reference/taxi-times, GET /reference/taxi-times/{airport}

JSON API (snake_case)FIXM (camelCase)DescriptionSource
airport_icaoaerodromeIcaoICAO airport codeairport_taxi_reference.airport_icao
unimpeded_taxi_out_secunimpededTaxiOutSecondsUnimpeded taxi-out time in seconds (p5-p15 avg)airport_taxi_reference.unimpeded_taxi_sec
sample_countsampleCountObservation count in 90-day windowairport_taxi_reference.sample_count
confidenceconfidenceLevelData quality: HIGH/MEDIUM/LOW/DEFAULTairport_taxi_reference.confidence
percentile_5percentile55th percentile taxi time (seconds)airport_taxi_reference.percentile_5
percentile_15percentile1515th percentile taxi time (seconds)airport_taxi_reference.percentile_15
last_refreshed_utclastRefreshedTimeLast stored procedure refreshairport_taxi_reference.last_refreshed_utc
Dimensional breakdown (single-airport detail):

JSON APIFIXMDescription
dimensiondimensionDimension type: WEIGHT_CLASS, CARRIER, ENGINE_CONFIG, DEST_REGION
dimension_valuedimensionValueDimension value (e.g., "H", "UAL", "JET_TWIN")
unimpeded_taxi_out_secunimpededTaxiOutSecondsDimension-specific unimpeded taxi time
sample_countsampleCountDimension-specific sample count
Methodology: FAA ASPM p5-p15 average over 90-day rolling window. Airports with

fewer than 50 observations receive a default of 600 seconds (10 minutes). Data sourced

from VATSIM OOOI events (out_utc → off_utc delta). Refreshed daily at 02:00Z.


End of Field Mapping Document v1.2