What is the TFMData Service?
The TFMData Service is provided by the FAA’s Traffic Flow Management System (TFMS). It distributes TFM (Traffic Flow Management) data to users via SWIM’s (System Wide Information Management) National Airspace System (NAS) Enterprise Messaging Service (NEMS). TFMData is a pure JMS service that provides streaming data updates as well as a variety of request/reply functions.
What functions are available in the TFMData Service?
The TFMData Service provides the following Business Functions:
- Flight Data
- Flow Information
- Request/Reply
- Terminal Flight Data
- International Data
- TFMS Status
The Flight Data service provides near real-time air traffic data. It is designed to provide the same base data as the legacy ASDI (Aircraft Situation Display to Industry) feed, but is enhanced with additional data related to flights being managed by TFMS.
The Flow Information service provides all TMI (Traffic Management Initiative) data, including the definition of TMIs, changes to those definitions, and cancellations. It is the TFM SWIM replacement for the legacy TFMDI (TFM Data to Industry) feed. This Flow Information feed has a 15 minute data refresh.
The Request/Reply service provides access to all TFMS Services for data requests and for TMI creation and management. The user makes a “request” to TFMS via this service, and TFMS provides a “reply” back to the user via this service. This service also provides the mechanism for Operators to submit surface and terminal data to TFMS in support of the FAA’s TFDM (Terminal Flight Data Manager) system and future enhancements to improve departure time predictions, flight trajectories and demand predictions.
The Terminal Flight Data service provides data that TFMS receives from their partner airline systems as an aggregate feed to the FAA’s TFDM system and to Collaborative Decision Making (CDM) participants. TFDM uses this airline data, along with data from other FAA systems, to provide their Surface Collaborative Decision Making (CDM) capability. The Terminal Flight Data service also provides an interface for TFDM to submit data to TFMS. This Terminal Data interface adheres to the FIXM (Flight Information Exchange Model) standard.
The International Data service provides a mechanism for International Data Providers (IDP) to provide their flight data to TFMS via SWIM. This interface is two-way - TFMS will also provide relevant flight data back to the IDP’s. IDP users will receive flight data only for flights that intersect their airspace. This interface adheres to the FIXM (Flight Information Exchange Model) standard.
The TFMS Status service provides a periodic message that reports the status from a TFMS perspective of all incoming and outgoing message traffic that TFMS is dependent upon to maintain the flow of information, as well as the overall quality of TFMS data, to and from SWIM via TFMData.
Is TFMData a 1-way interface or a 2-way interface?
The six business functions of the TFMData service provide a combination of both 1-way and 2-way interfaces:
- Flight Data: This is a 1-way data feed from TFMS to the consumer (pub/sub).
- Flow Information: This is a 1-way data feed from TFMS to the consumer (pub/sub).
- Request/Reply: This is a 2-way interface. The user makes a “request” to TFMS via this service, and TFMS provides a “reply” back to the user via this service.
- Terminal Flight Data: This is a 1-way interface. Users can receive terminal flight data from TFMS.
- International Data: This is a 2-way interface. International Data Providers (IDPs) can submit their flight data to TFMS, and can also receive flight data back from TFMS.
- TFMS Status: This is a 1-way data feed from TFMS to the consumer (pub/sub).
How can I obtain documentation about the TFMData Service?
Please contact your SWIM POC for TFMData v4.0 JMSDD and schema. Only the redacted version (TFMData v4.0a JMSDD) is available from the NSRR.
What schema versions should I be using?
The latest version of TFMData is version 3.2, with version 4.0 expected to be deployed in TFMS Sustainment 3 Release in Oct. 2025.
(For details on the specific TFMData changes from v3.2 to v4.0, refer to the TFMData v4.0 JMSDD Appendix D.)
As part of the release of TFMData v4.0, TFMS will also provide a "mediator", which essentially translates TFMData messages from the "new" TFMData v4.0 formatted messages back to the "old" TFMData v3.2 formatted messages. This mediator provides backward compatibility and allows a seamless transition for the TFMData user with zero changes required at the time of TFMData v4.0 deployment.
TFMData’s Terminal Flight Data service and International Data service adhere to the FIXM (Flight Information Exchange Model) standard. So, in addition to the TFMData schema, TFMData users of these two services must also use the FIXM schema. The FIXM schema files (FIXM Core and FIXM US extension) are available for download from the www.FIXM.aero website. For convenience, starting with TFMData v4.0, the FIXM schemas are included in the TFMData v4.0 schema zip file, and so they do not need to be separately downloaded from www.FIXM.aero. Any FIXM schema version different from the FIXM versions listed below is NOT supported and must NOT be used.
Summarizing:
- The following TFMData schema versions should be used:
- Starting with TFMS Sustainment 3 Release: TFMData v4.0
- Starting with TFMS Release 14: TFMData v3.2
- The following FIXM versions should be used for users of TFMData’s Terminal Flight Data service and International Data service (for both TFMData v2.0.5 and TFMData v3.0):
- FIXM Core release 3.0
I downloaded the TFMData and FIXM schemas. Now what?
First, unzip the main TFMData file. This will yield the JMSDD documents, as well as a second zip file containing the TFMData schemas. Now, unzip this second zip file to unpack the multiple TFMData schema files. (Note: When extracting files from the zip file, ensure that options are set to “Extract all files” and to “Restore folders”.)
The FIXM schema is required only for TFMData users of the Terminal Flight Data service and the International Data service. If you are not a user of these two services, then you’re done! Otherwise, continue as follows to unzip the FIXM schema files.
For convenience, starting with TFMData v3.2, the FIXM schemas are included in the TFMData v3.2 and later schema zip file, and so the FIXM schema files will be automatically unpacked when the TFMData schema zip file is unpacked. If you are using TFMData v4.0 and later, then you’re done.
The TFMData JMSDD and schema seem confusing. Where do I start?
An incredible wealth of TFM (Traffic Flow Management) data is provided by TFMData, and so consequently the JMSDD and schema are quite detailed and voluminous as well. The schema is very logically arranged, and starts with the top-level schema element “tfmDataService” (which is located in the TFMData schema file “TFMData_Service.xsd”). This top-level element then contains sub-elements for each one of the six TFMData services:
- Flight Data
- Flow Information
- Request/Reply
- Terminal Flight Data
- International Data
- TFMS Status
Each of these six elements for the six TFMData services is then further subdivided as required for the below services which have 2-way interfaces:
- International Data
- Terminal Flight Data
- Request/Reply
Refer to the below figure for details of the top-level schema layout. It is highly recommended to not use a plain text editor to view the schema, but instead to use a graphical tool (such as XMLSpy, JDeveloper, etc) to navigate and explore the deep hierarchical structure of the TFMData Schema.
Can I have access to all of the data available in TFMData?
An incredible wealth of TFM (Traffic Flow Management) data is provided by TFMData. Some of that data is categorized as sensitive (for example, information on military flights) and hence would be restricted and of course not available to the general public. For specific details regarding what data in TFMData you would be granted access to, please work with your designated SWIM POC (Point of Contact) as you begin your SWIM on-ramping process to interface with TFMData.
What is a “mediator” and what do I do when the TFMData schema changes?
“Mediators” are essentially translators which can convert from one version of a schema to another version of the schema. As systems and interfaces evolve, sometimes the underlying schemas which define those interfaces must also change. For example, the TFMData interface was first deployed with TFMS Release R10. When TFMS Release R13 was deployed, the TFMData interface was enhanced and its associated schema was changed. Under normal circumstances, to prevent this schema change from breaking the interface of an existing TFMData user, the TFMData user would need to update their client software to accommodate the new TFMData schema and the user’s updated client software would need to be deployed at the exact same time that the new TFMS release was flash-cut deployed. To avoid this need for a synchronized deployment and to provide a longer time duration for the user to complete the update of their client software, TFMS deployed a mediator when TFMS Release R13 was deployed. This mediator translated the new R13-formatted TFMData into a R10-formatted TFMData feed. This provided full backward compatibility and allowed a seamless transition for the user with zero changes required at the time of R13 deployment.
An identical approach will be used with the introduction of TFMData v4.0 in TFMS Sustainment 3 Release, (scheduled for deployment Oct 2025). TFMData v4.0 will replace the previous version of TFMData (v3.2), which had been introduced with TFMS R14 (deployed Oct 2020). As part of the release of TFMData v4.0, TFMS will also provide a mediator to “translate” TFMData messages from the "new" TFMData v4.0 formatted messages back to the "old" TFMData v3.2 formatted messages. As with the R13-to-R10 mediator, this mediator provides backward compatibility and allows a seamless transition for the TFMData user with zero changes required at the time of TFMS Sustainment 3 Release.
IMPORTANT!!
The TFMData v4.0 to v3.2 mediator will remain operational until further notice.
Where can I get more information about SWIM?
Just go to the FAA’s SWIM (System Wide Information Management) website at
How do I request access to connect to the TFMData interface?
Connection to TFMS’s TFMData interface is done via SWIM (System Wide Information. Management). Instructions to request authorization to access FAA data and to “onramp” to SWIM can be found at:
https://www.faa.gov/air_traffic/technology/swim/products/get_connected
Then when you’re ready to kick-off the SWIM on-ramping process for TFMData, simply send an email request to:
A SWIM POC (Point of Contact) will be assigned to you to assist you with all of your on-ramping efforts.
Can you provide any software development support when I start to build my TFMData interface?
The following coding guidelines are recommended for TFMData:
- Validate XML messages before sending them
- Both NEMS and TFMS validate external messages. Invalid messages create unnecessary load.
- Use JAXB (Java Architecture for XML Binding) to marshal and unmarshal XML content of TFMData messages into a Java representation
- Provides means to ensure schema compliance
- Generate JAXB library from TFMData Schema, version control, and access as any other external library
- Do not version control JAXB parser generated Java source code. It opens the possibility to enhance source files. Changes would be lost with the next schema update.
- For more info, refer to https://jaxb.java.net
- Set the UUID in the Request/Reply interface to a unique value.
- TFMS rejects requests in which the JMS property UUID does not match the uniqueMsgid element in the message body
- It does not force uniqueness of the UUID per client
- The TFMS response includes the UUID set by the client, allowing end-to-end tracking of the interaction across all domains:
- End user to help match the TFMS reply to the issued request
- NEMS for tracking messages
- TFMS to debug potential processing issues
- TFMS rejects requests in which the JMS property UUID does not match the uniqueMsgid element in the message body
- Do not use a plain text editor to view the schema, but instead use a graphical tool (such as XMLSpy, JDeveloper, etc) to navigate and explore the deep hierarchical structure of the TFMData Schema.
Do you have any sample data for TFMData that I can use to help develop and test my TFMData interface?
Yes, sample data for TFMData v4.0 is available for the following TFMData publication services:
This sample data can be easily downloaded from the FAA NAS Service Registry and Repository (NSRR) website. (This is the same website where you can download the TFMData interface documents JMSDD (Java Messaging Service Description Document) and XSD (XML Schema Definition).)
How can I keep up to date on any future changes to the TFMData interface?
For the latest news and announcements on TFMData, it is very productive to attend the monthly TFMS Technical Webinar. These webinars are held the 2nd Thursday of every month at 1pm Eastern. To request an invitation, simply send email to
`tracy.coleman@faa.gov and/or Thomas.ctr.Paccione@faa.gov’
Where can I get more information on other data feeds?
For more information on available SWIM services, visit
https://www.faa.gov/air_traffic/technology/swim/products/get_connected
What if I have additional questions on TFMData?
If you have additional questions on TFMData, first search the TFMData FAQ to see if your question has already been answered.
Depending on whether your service is in development/test or Operations, please contact the appropriate parties below:
