Understanding FlightXML Results
How far back is data available? (Back to top)
FlightXML is intended for current flight activity; generally only 48-72 hours of data is available, although it varies with different functions (see the documentation of each function for specifics). Further history can be purchased on a per-identification basis on the flightaware.com website. For other projects, contact FlightAware commercial services
Does FlightAware consider duplicate requests to be separate transactions? (Back to top)
Yes. For example, if you request the airport name of KSMO a half dozen times a minute, they are all accounted for as independent requests. Your application should cache static results to avoid making unnecessary queries to FlightXML.
The overhead of FlightAware's FlightXML servers accounting for duplicate transactions and serving a cached result would exceed the amount of time than processing the request normally. Additionally, there is no guarantee that your client will be connecting to the same FlightXML server for subsequent duplicate requests.
What are the plans for FlightXML 1 now that FlightXML 2 is available? (Back to top)
When possible, it is strongly recommended that newly developed applications be designed against FlightXML 2.0 instead of 1.0, although FlightAware will continue to maintain the FlightXML 1.0 infrastructure for the foreseeable future.
In general, FlightXML 2.0 offers all of the functionality previously offered by FlightXML 1.0, in addition to providing a number of exciting new functions. FlightXML 2.0 has also been updated to comply with a modern version of the WSDL standard, making it easier to integrate in current development environments. The pricing of FlightXML 2.0 is also roughly 30% less expensive than FlightXML 1.0 per function call.
I have a great idea for a FlightXML query. Can I suggest it? (Back to top)
Understanding FlightXML Results
What is UNIX epoch time? (Back to top)
UNIX epoch time is a standard way of specifying a time/date as the number of seconds since January 1, 1970 00:00:00 UTC (an integer). Most programming languages allow a developer to easily manipulate epoch time to and from any display format and time zone.
This code in Tcl:
set time [clock seconds]
puts "The current time in UNIX epoch seconds is: $time"
set env(TZ) EST5EDT
puts "The current time in New York is [clock format $time]"
. . . can be excuted to demonstrate manipulating epoch time:
The current time in UNIX epoch seconds is: 1160967053
The current time in New York is Sun Oct 15 22:50:53 EDT 2006
In some cases, FlightAware is not able to emit a null value for an epoch time integer and will emit 0 to indicate that data for that field is unreliable. FlightXML implementations should regard 0 as null/na and not January 1, 1970.
What is the resolution of lat/lon values? (Back to top)
In most cases, the resolution is one minute or approximately 0.88 miles. Some positions are now being reported with a resolution of one second, or approximately 0.015 miles.
Why is my FlightXML struct including NULL results? (Back to top)
Your application will have to be robust and support null results in virtually every field. For example, actualarrivaltime will be null if the aircraft has not arrived. Additionally, filed_airspeed_mach will be null if the airspeed was filed in kts (filed_airspeed_kts) and vice versa.
How do I interpret the "diverted" field? (Back to top)
The diverted field is a boolean; it can be true, false, or null. If it is true, the actualarrivaltime field will indicate the diverted time. To determine the diversion airport and arrival time (if aircraft has arrived), your application will have to find the flight for that aircraft with the same origin and departure time.
Why are some of my departure times the same time as the arrival times? (Back to top)
This is an indication that the result of the flight is unknown, but we suspect that the flight has already ended.
How can I determine the flight status? (Back to top)
Generally, the preferred method is to use the FlightInfoEx function with the ident of the flight you are interested in. Be sure not to specify a howMany argument of 1 (the default value of 15 is usually fine). Look through the returned results for the flight occurring on the date and with an origin of the airport you are expecting.
Here are some general rules for interpreting the structure fields from FlightInfoEx and some of the other FlightXML functions:
If (actualdeparturetime == 0), then the flight has not departed yet.
If (actualdeparturetime != 0 && actualarrivaltime == 0), then the flight is currently enroute.
If (actualdeparturetime != 0 && actualarrivaltime != 0 && actualdeparturetime != actualarrivaltime), then the flight has arrived.
If (actualdeparturetime != 0 && actualarrivaltime != 0 && actualdeparturetime == actualarrivaltime), then the flight result is unknown and has probably arrived but we don't have an arrival confirmation.
Other common things that you might want to compute based on multiple fields, assuming that the referenced fields in each line are non-zero at the time:
Filed arrival time = (filed_departuretime + filed_ete).
Estimated departure time = (estimatedarrivaltime - filed_ete).
Actual elapsed time enroute = (actualarrivaltime - actualdeparturetime).
How late the departure was = (actualdeparturetime - filed_departuretime).
How late the arrival was = (actualarrivaltime - (filed_departuretime + filed_ete)).
Where can I go to see my billing activity? (Back to top)
How often am I charged? (Back to top)
Your credit card will be charged, at most, every month. FlightAware's billing system uses dynamic billing cycles based on the day you joined; your billing cycle will start and end once a month starting on the day you first submitted a FlightXML transaction. For low volume users, FlightAware may "hold" the amount on your card at the end of your billing cycle rather than charge your account balance monthly.
Can I prepay for usage charges? (Back to top)
Most of our FlightXML customers use our standard method of using a credit card on file that is automatically billed monthly for the accumulated charges. However, we recognize that some customers may have invoice or accounting systems that make this inconvenient. For these cases we can also offer the ability to prepay for usage in advance. Your FlightXML usages are totaled on a monthly basis and used to decide the pricing tier, and then the total amount will be deducted from your remaining balance. If this billing option is appealing to you, please contact us to discuss the details of this method
Where can I update my billing information? (Back to top)