Friday, December 21, 2012

FlightStats reflects on a busy 2012 and prepares to really take off in 2013



2012 was a busy year at FlightStats. We will conclude this year with 40% year-over-year growth in our data services business, we've grown our staff by 25% (we're currently hiring), and our plans to better serve the travel marketplace with data services and direct-to-consumer services have significantly evolved. 

Laying foundations for the future
Much of this year was spent on laying the foundation for future growth and services. We created a new developer center on the 3Scale Platform to make it easier for customers to use, offer more granularity in pricing, provide better tracking of services, and better documentation for developers. 

Upgraded Core APIs that offer the most complete data 
This year, in addition to providing the most complete international flight data, FlightStats completely revised the suite of APIs with the goal of making them easier to use. FlightStats incorporated features such as more robust positional information in the Flight Status and Track API, enhanced the data responses with UTC times, and upline/downline flights. We also embraced a RESTful interface by providing API responses in JSON and JSONP. In June we launched the beta and after getting great feedback, in August we released the production version of the FlightStats Flex APIs.

Partnerships to offer best available service
FlightStats has partnered with industry leaders to provide customers with the best in travel information and services. We've partnered with Innovata to provide global schedules data for the new FlightStats Flex Schedules/Connections API,  we've partnered with AirNav to supplement our global positional data used in our FlightStatus and Track API and we've partnered with masFlight to offer the best historical data and analytics.

Continuing Innovation
FlightStats is continually adding innovative features and APIs to its suite of web services. This year we've added the Weather API, packaging weather data in structured easy-to-use formatted versions of the standard METAR and TAF raw data formats. FlightStats has also added multilingual support for API responses, to support companies who support international travelers. Most recently, we've launched the beta for the Alerts API.

On the Horizon
In 2013 look for FlightStats to add to its suite of APIs with a new FIDS API and a configurable widget. Additionally, we will be adding more languages to our API responses, and we will be developing new data feeds among other data services. In 2013, FlightStats will also significantly enhance its direct-to-consumer offerings with new apps and new functionality. Stay tuned....

Thursday, December 13, 2012

GE's Flight Quest Challenge - Who will change the future of flight?

GE in partnership with Alaska Airlines has developed a challenge to make flights more efficient. Advancement in real-time big data analysis is changing the course of flight already.

Take the challenge and make the future of flying better. Watch the video and visit the Flight Quest site to learn more about how to participate.

FlightStats data is one of the sources being used to provide sample data sets for the challenge.

Wednesday, December 12, 2012

FlightStats New APIs now speak German and Japanese

Close on the announcement of incorporating Simplified Chinese in the FlightStats® Flex API responses. FlightStats has now added German and Japanese to its repertoire. The new Flex APIs can now deliver query results in any of four languages using the "extended options" feature - English, German, Japanese, and Simplified Chinese.

 FlightStats® Flex APIs deliver translated flight status responses and flight schedules data, along with airport names, countries, cities, and street addresses. Developers will be able to specify the language they prefer by simply appending a optional parameter to the query and will receive the translated response in their choice of XML or JSON.

All of FlightStats services follow the same pattern, so to request localization simply add the following optional parameter to the query: (no special parameters required for English)

German
&extendedOptions=languageCode:de






Japanese
&extendedOptions=languageCode:ja





Simplified Chinese
&extendedOptions=languageCode:zh








APIS SUPPORTING LOCALIZATION

APILocalized information
Airportsairport names, city names, street addresses, countries, districts, regions
Alertsairport names, city names, street addresses, countries, districts, regions, airline names, equipment names
Delay Indexairport names, city names, street addresses, countries, districts, regions
FlightStatusairport names, city names, street addresses, countries, districts, regions, airline names, equipment names
Ratingsairport names, city names, street addresses, countries, districts, regions, airline names
Schedules and Connectionsairport names, city names, street addresses, countries, districts, regions, airline names, equipment names
Weatherairport names, city names, street addresses, countries, districts, regions


Combining FlighStats superior flight coverage with the multilingual capabilities will give developers worldwide the tools to support global travelers. Developers can incorporate these services in their applications at the FlightStats Developer Center.

Monday, December 10, 2012

Announcing Beta of New Flight Segment Alerting APIs


Introducing FlightStats® Flex Flight Alerts Beta

FlightStats and Pathfinder-XML API customers have long used our Flight Monitor system to keep travelers abreast of travel turbulence. This December, we're delighted to announce that this popular product will get a significant makeover and join the FlightStats® Flex API family as FlightStats® Flex Flight Alerts. Visit the FlightStats Developer Center to test out new Alerts Beta.

If you are familiar with our existing Flight Segment Monitoring products, you'll find familiar functionality in the Flex version, but with a much improved interface that is consistent with the rest of the Flex APIs, including:

  • Easy-to-use REST services for creating and managing monitoring rules
  • Alert messages in JSON & XML flavors
  • Interactive API documentation for browsing and testing the APIs
  • Flex FlightStatus information with improvements that include:
    • Local & UTC times
    • Improved representation of status updates that are well-structured and programmatically accessible
    • Your choice of languages for the message (English, Simplified Chinese, German and Japanese currently supported)
    • Tight integration and compatibility with rest of the FlightStats® Flex product family
    • Comprehensive rule validation -we'll tell you whether or not we can detect the events you specify for a given flight
We have released a beta version of the FlightStats® Flex Flight Alerts API for you to use and evaluate without charge in reasonable quantities. A few weeks after we announce the production-ready version, we'll remove usage restrictions and begin charging. Pricing will be announced during the beta period.

Please have a look at the interactive documentation for the API and if you have a POST-able URL, feel free to create a few Alerting Rules.

How it works:

  1. Your software uses our API to create "Flight Alert Rule", specifying the flight segment (Ex. "American Airlines 100 from JFK to LHR on December 12th), the events you want us to monitor (Ex. 30 minutes before departure, departure, arrival, cancellation), and the URL where you want the flight alert delivered.
  2. FlightStats monitors the flight segment on your behalf, detecting timeline events and changes to the flight schedule.
  3. As events occur, FlightStats posts an alert message over HTTP to a URL of your choice. The message includes a description of the event that occurred and the current flight status data for the flight.
  4. Your system accepts the message and delivers an update to your traveler, keeping them prepared and informed for their journey.


What causes an Alert Message to be sent?

When you create an alerting rule, you can choose what events you want us to monitor. We monitor most of the status and time fields in our flight status data for changes. Some of the events for field changes can be parameterized so you will only be alerted of significant changes. For example, we can alert when the flight is more than 10 minutes late, but not less.

We also monitor for timeline events. Timeline events occur at times relative to real events and times during the life of the flight.

Examples of timeline events include:
  • 30 Minutes Before Departure
  • Departed Late
  • Departure Delay
Timeline events allow you to assist your travelers when they the need it most: the times before, in between, or after significant flight events.


What does the Alert Message look like?

We will post  the Alert Message over HTTP to any URL of your choosing. You can see the specifications and examples of the XML and JSON version in our documentation.


Rule Creation Examples


For any field change (the default), post a JSON message to http://mytravelapp.biz:

https://api.flightstats.com/flex/alerts/rest/v1/json/create/AS/534/from/SEA/departing/2012/10/22?deliverTo=http://mytravelapp.biz&type=json

For any field change as well as 50 minutes before departure and if the flight arrives more than 30 minutes late,  post a JSON message to http://mytravelapp.biz:

https://api.flightstats.com/flex/alerts/rest/v1/json/create/AS/534/from/SEA/departing/2012/10/22?deliverTo=http://mytravelapp.biz&type=json&events=all,preDep60,arrLate30

Wednesday, November 28, 2012

Using the Connections API

Plane with Schedules in background
FlightStats offers flight information solutions in three time windows, operational, historical and forward. The flight info web services are the backbone of the operational period where current status and positional information is assembled. Operational data older than seven days is moved to our historical storage and services. The last, forward, stretches from three days to one year in the future.

 To serve information requests in the future range, FlightStats partnered with Innovata to jointly develop the Connections API.

Innovata

Connections API is sourced via an Innovata dataset and includes non-stop, direct and one-stop connecting flights.  Connections are constructed with a set of rational rules including:
    Innovata logo
  • Connections are created favoring airline alliance and codesharing agreements.
  • Connections respect circuitry rules omitting those that are unreasonably long or far from their destination.
  • All schedules and connections properly reflect dates when crossing international date lines.
  • All connections respect published Minimum Connection Time rules. 

FlightStats

Access to the Innovata data set is provided by FlightStats and constructed using MongoDB, Tomcat, and Amazon EC2. The Connections API delivers responses in Simplified Chinese with a roadmap to include, Japanese, German, French, Spanish, Russian and Brazilian Portuguese. The web service exposes a number of date range search vectors and returns results in JSON, JSONP, XML, or SOAP:
  • Departure Airport
  • Arrival Airport
  • Route
  • Airline + Flight Number 
To tailor results for your specific needs we implemented a number of helpful filters. The following list shows several frequently used options:
  • Flight Type - non-stop, direct, connection 
  • Service Type - passenger, cargo 
  • Connection Type - interline, online
  • Codeshare - operating marketing relationships
  • Carriers - filtered list of carriers
  • Connection Points - allowable and excluded connecting airports 

Take a Look

The web service can be found in the FlightStats developer center and an AJAX implementation can be found on FlightStats.com's flight schedules search page.

Thursday, November 15, 2012

FlightStats is hiring!

FlightStats is looking for some exceptional talent in the Portland area to support the rapid growth and development of its products and services.  Making the day-of-travel experience better is what we're all about. We've got big goals in supporting mobile travel and we're looking for additions to the team that will help us make the vision a reality. If you are interested in a captivating challenge in building great products and the underlying services, please take a look at the opportunities below. 

Currently FlightStats is on the hunt for the following roles:

About FlightStats
FlightStats is a leading provider of day-of-travel data services and applications to the travel industry and traveling public. The company delivers real-time global flight tracking and airport data services that power many of the world's most popular travel applications. The company also provides web and mobile applications to the FlightStats community, helping travelers to better manage their travel day. FlightStats' data is viewed by millions of people each month, and the company is constantly evolving to offer the best worldwide alerting and tracking services to travelers, including the agencies and developers who serve them. For more information visit http://www.flightstats-inc.com or follow us on Twitter @flightstats.

Wednesday, November 14, 2012

FlightStats Offers API Responses in Multiple Languages

New FlightStats® Flex APIs will deliver translated flight status, flight schedule and airport information.

Developers using the new FlightStats® Flex APIs can receive replies to their API requests in Simplified Chinese. FlightStats is starting with Simplified Chinese and will offer German and Japanese language support by mid-December. Also on the roadmap are French, Spanish, Russian, and Brazilian Portuguese.

FlightStats® Flex APIs deliver translated flight status responses and flight schedules data, along with airport names, countries, cities, and street addresses. Developers will be able to specify the language they prefer by simply appending a optional parameter to the query and will receive the translated response in their choice of XML or JSON. All of FlightStats services follow the same pattern, so to request localization simply add the following optional parameter to the query:

&extendedOptions=languageCode:zh

“We have many customers with a global user base and are supplying data to customers in over 120 different countries.” said FlightStats CEO, Jeff Kennedy. "Translating the data responses makes the applications powered by our global flight data more user-friendly and gives our customers the tools to expand their addressable market and to better support travelers worldwide.”

Mobile applications, automotive telematics, website applications, and digital signage in airports and hotels are some use cases where having localized data responses will be very powerful.

Developers can test this functionality at the FlightStats Developer Center.

Wednesday, October 31, 2012

Hurricane Sandy Flight Disruption Heat Map - Cool way to use FlightStats Data

Hurricane Sandy has clearly packed a serious punch on air travel in the US. Thus far it has grounded 19,574 flights and counting since Saturday, October 27th.

Capturing and reporting real-time flight cancellation and delays information is a key service that FlightStats data can help companies serving travelers provide. The heat map is an example of what an animation of Hurricane Sandy's impact on airports in the US and is a creative way to use FlightStats data.

 This animated map shows -- in red -- flight delays and cancelations at US airports due to Hurricane Sandy. The delay data is provided by Flightstats.com and the weather is from US NWS ground radar. This video includes Friday evening through Tuesday midnight.

FlightStats Weather API Transitions to Production November 1

Changes are afoot for the FlightStats Weather API.  As of  November 1, 2012, the Weather API will move to production status. Production status means three things to those who have been using the Weather API Beta:

  1. The API is considered stable for development. No compatibility-breaking changes will be introduced from this point forward.
  2. FlightStats is offering the Weather API for free during the month of November.
  3. Requests against the Weather API will incur fees starting on December 1, 2012, according to your pricing plan with FlightStats. Standard pricing (Commercial and Limited Plans) will be as follows:


Number of requests (per month): 1–1,000,000 1,000,001–3,000,000 >3,000,000
Price per request ($USD): 0.0030 0.0025 0.0020

Read about the FlightStats Flex Weather API to learn more details about the API or visit the FlightStats developer center.

Tuesday, October 16, 2012

Q3 2012 Data Enhancements

FlightStats strives to deliver the most timely, accurate, and contextually relevant travel information available to our customers.

In Q3 2012, the FlightStats data operations team worked on 71 customer requests related to fixing bugs and making various coverage improvements.

Improved Airline Coverage

  • Air India (AI), AirAsia (JW), Avanti (ATV), Cayman (KX), Cimber AS (QI), Delta (DL), easyJet (U2), El Al (LY), estelar (E4), Etihad (EY), Germanwings (4U), Hainan (HU), Hamburg Airways (HK), Hawaiian (HA), Helitt (H9), Jet Airways (9W), JetBlue (B6), JetStar (JQ), Lufthansa (LH), Mongolian (MR), Northern (NC), Philippine (PR), Polska (3Z), Spirit (NK), Swiss (LX), Syphax (FS), Tarco (TRQ), Thai (TG), Thomson (TOM), Turkish (TK), VietJet (VJ), WestJet (WS)

Improved Airport Coverage

  • Almaty (ALA), Bollon (BSL), Brisbane (BNE), Brussels (BRU), Cagliari (CAG), Christchurch (CHC), Ciampino (CIA), Geneva (GVA), Grand Forks (GFK), Ibiza (IBZ), Jakarta (CGK), La Guardia (LGA), Las Vegas (LAS), Lisbon (LIS), Olbia (OLB), Pori (POR), Shenandoah (SHD), Youngstown (YNG)

If you have other data enhancement requests, please submit them to the FlightStats Help Desk.

Thursday, October 11, 2012

FlightStats gives its Mobile Website a Facelift

The team at FlightStats released a new mobile website interface. It offers a much richer user experience on smartphones.  The new site provides  improved navigation and access to the essential flight and airport information you need most - including the next flight out feature.

Check out the new FlightStats mobile site.


FlightStats and masFlight Partner to Integrate Real-time Flight Status Data into Aviation Analysis Tools

Combining FlightStats' global coverage and masFlight's
analytic solutions will help airlines and
airports to reduce delays and improve performance.

Airlines and airports gain access to global, real-time flight data to understand real-time performance of their operations.

FlightStats, Inc. the industry-leading publisher of global flight tracking and airport information services, has partnered with masFlight, a pioneer in aviation operations analysis, to integrate FlightStats’ real-time, global operational flight and airport data into masFlight’s analysis platform for airlines and airports worldwide.

This partnership will expand the breadth and depth of real-time flight status data in masFlight’s aviation data platform. masFlight’s solutions enable airlines and airports to visualize, measure and improve their own operational performance and benchmark against competitors. This information is critical for improving operations, managing flight disruptions, increasing schedule reliability, reducing delays and finding new cost efficiencies. Airlines and airports using masFlight will also gain access to FlightStats’ extensive archive of airline and airport data.

"FlightStats’ multi-source data is the most complete real-time operational flight information available, and we are delighted to partner with masFlight," said FlightStats CEO, Jeff Kennedy. "Together, our global coverage and analytic solutions will help airlines and airports to reduce delays, improve performance, and to better serve the public.”

Airlines and airports use the masFlight platform to identify the root causes of operational issues, benchmark their performance against competitors, analyze performance by marketing partners, alliances, and operating carriers, and conduct analysis of weather conditions, airport terminal facilities and runway operations. masFlight and FlightStats provide global solutions with coverage and capability across all six continents.

“The masFlight platform is a revolutionary tool for airlines and airports. We depend on the best and most accurate data partners,” said Josh Marks, masFlight CEO. “FlightStats has incredible capability to collect real-time flight information around the world. Our partnership with FlightStats will significantly enhance our coverage and help airlines and airports worldwide address operational challenges.”


Wednesday, October 3, 2012

Using maps in your apps. FlightStats' Wm Leler presents at SotM and NACIS conference

Maps are quintessential tools in travel apps, especially mobile ones. If you happen to be in Portland, come listen to FlightStats developer Wm Leler deliver presentations about finding alternatives to Google Maps and developing powerful mapping applications with open source tools. Wm will also be demonstrating the new FlightStats airport tracker map at the NACIS conference.


Saturday, October 13th - Open Street Map State of the Map

When Google Maps Gives you Lemons, Make Lemonade. 

Register for State of the Map

Google Maps has long been the choice for embedding maps on your website or building map mashups. But Google Maps is a closed, proprietary solution, and Google's announcement that they will start charging for maps (or including ads on maps) has people looking at other options.

This talk surveys the leading open source and free alternatives to Google Maps, and finds that many of them provide significant advantages. It will also cover various sources of free maps, including dozens based on OSM data. It will discuss how a major user of Google Maps switched over to open source alternatives.



Thursday, October 18th - NACIS 

When Google Maps Gives you Lemons, Make Lemonade



This presentation will be similar to the talk of the same name delivered at the State of the Map conference, but will be oriented toward a more general audience and will serve as an introduction to the longer course that will also be delivered at NACIS.



Saturday, Oct 20th - NACIS

Powerful Mapping Web Applications with Open Source Tools

Register for the North American Cartographic Information Society Conference

This half day course runs from 1:00 pm – 5:00 pm and is instructed by Wm Leler of FlightStats, Inc. and Mele Sax-Barnett of TriMet. Attendees will need to bring their own laptop and the course is limited to 30 participants. 


Attendees will receive an overview of Mapping APIs and instruction on open source solutions. In this course, you'll build a map in Leaflet and add data layers. Participants will learn how to edit OpenStreetMap (OSM) with Potlatch. OSM data downloading using QGIS, tiling, and data handling instruction will also be covered. 

Prerequisites: 
Comfort with writing HTML. JavaScript and jQuery familiarity will be helpful. A list of recommended applications to be installed before attending the workshop will be provided.

Friday, September 28, 2012

FlightStats Flex Weather API now Available in Beta


FlightStats Flex Weather API
Hot on the heels of the recent release of the FlightStats Flex Web Services APIs, the FlightStats team has added the Flex Weather API in beta for developers to explore. This product provides a rich perspective on current and future weather conditions affecting airports and flights, enabling developers' apps to provide maximum insight and utility.


FlightStats packages weather data in formats that are easy to use 

Standard international formats such as METAR and TAF provide these data in raw form, but were never designed to be convenient for machine processing. High variability, frequent irregularities, data entry errors, and lack of explicit structure pose significant barriers to data utilization. FlightStats has solved these challenges!  The Flex Weather API provides all the same data (and more), in a friendly and unambiguous structure.  FlightStats' standard complement of JSON, JSONP, XML, and SOAP are available as options for the developer to specify the preferred  format. With the Flex Weather API, developers can spend less time thinking about interpreting arcane formats and more time focusing on their users' needs.


FlightStats Weather API includes: METAR, TAF (Terminal Aerodrome/Area Forecast), and Zone Forecasts

  • METAR reports provide up-to-date information on current weather conditions at an airport; we enrich these reports with tag annotations identifying prevailing conditions and notable hazards that may impact aviation. 
 Our two forecast products, TAF and Zone Forecasts, are complementary in scope.
  • TAF provides a detailed forecast for the immediate vicinity of an airport, generally covering a 9 to 12 hour window (sometimes greater). 
  • Zone Forecasts provide longer-term and more geographically broad outlook via day-by-day forecasts generally stretching up to about a week in the future. 
The combined perspective of these three products, available with unprecedented ease-of-use, provide an information advantage you can use to stand out from the competition.

FlightStats wants your feedback:

As part of FlightStats' ongoing commitment to shape our products to developers needs, we will be keeping the Flex Weather API in a "beta" status for now, to afford you the opportunity to experiment with them and provide feedback. The Flex Weather API currently provides US-only weather data.  Please check out the interactive documentation  to see the details of this API, and share with us any feedback or suggestions on how the team at FlightStats can serve your needs even better.


Comparison to standard format:

Below you can see an example of a standard METAR response, compared against the JSON-formatted version of our structured response for the same report. Whereas the terse and ambiguous form of the original is suitable for trained human operators, our structured response removes all ambiguity and enables you to quickly consume the data with standard tools.


METAR:
KPDX 072253Z 10009KT 10SM CLR 34/06 A2999 RMK AO2 SLP154 T03440061

vs. our structured version of the same:

  "metar": {
    "report": "KPDX 072253Z 10009KT 10SM CLR 34/06 A2999 RMK AO2 SLP154 T03440061",
    "reportTime": "2012-09-07T22:53:00.000Z",
    "weatherStationIcao": "KPDX",
    "tags": [
      {
        "key": "Prevailing Conditions",
        "value": "Clear"
      },
      {
        "key": "Instrumentation",
        "value": "VFR"
      }
    ],
    "conditions": {
      "wind": {
        "direction": 100,
        "directionIsVariable": false,
        "speedKnots": "9.00"
      },
      "visibility": {
        "miles": "10.00",
        "lessThan": false,
        "cavok": false
      },
      "weatherConditions": [
        
      ],
      "skyConditions": [
        {
          "coverage": "Clear"
        }
      ],
      "pressureInchesHg": "29.99"
    },
    "temperatureCelsius": "34.40",
    "dewPointCelsius": "6.10",
    "runwayVisualRanges": [
      
    ],
    "obscurations": [
      
    ],
    "noSignificantChange": false
  }

Thursday, September 6, 2012

What's New & How to use FlightStats Flex APIs


New!



Register for your evaluation account to try FlightStats Flex APIs.

What's New 

FlightStats recently launched its next generation Flex APIs. This suite of APIs incorporates the following enhancements:
  • Positional data. The FlightStats Flex APIs features new ways to query, deeper tracking, and a richer data model, all at a reasonable price.
  • Improved data. Flight status information is enhanced and extended.
  • RESTful interface. We now give customers the choice to use JSON and JSONP making it easier to develop AJAX style applications while continuing to offer XML and SOAP.
  • Flexible usage model. We give customers access to premium APIs without a written contract.
  • Documentation. The documentation includes easy-to-use test clients.
  • Analytics. The new API management system gives customers a better way to track their usage.
We believe developers will find the new Flex APIs easy to use in their applications and the multi-sourced data we aggregate more complete, timely and accurate than any other available in the industry. 
In addition to launching the new APIs, FlightStats has also launched a new developer center to make the process easier. Following are some handy reference links to help developers get started.

Read a more complete blog post from FlightStats CTO, Steve Wilson, What's new with FlightStats Flex APIs.

How to use FlightStats Flex APIs 

  1. How to Use the Flex APIs outlines conventions common to all the Flex APIs. We recommend you review this document before delving into the documentation for individual APIs.
  2. How to use the Documentation outlines how to use both the Interactive Documentation and the Flex API Quick Reference.
  3. Flex API Quick Reference, provides a brief overview of all the Flex APIs, with links into the API-specific documentation. 
  4. Release Notes are also available for periodic updates.

How to use the FlightStats Developer Center  

The Developer Center serves two purposes.  First, it delivers product information and provides interactive access to FlightStats Flex APIs.  Second, the Developer Center allows our customers to manage their accounts (users, subscriptions, authentication, billing, and so on).  To learn more about how to use the FlightStats Developer Center, review the Developer Center Guide.

Friday, August 31, 2012

FlightStats is hiring!

Ever fly anywhere and have a disruption? Our guess is that you have, and you know just how frustrating it is. 
FlightStats aims to provide data to travelers and the industries that serve them so that the inevitable travel disruptions can be fixed on the fly.


FlightStats, the leading provider of day-of-travel data services and applications to the travel industry is looking to recruit some fine people to its amazing team.  We have two positions available:

Data Services Unit: Software Developer
The Data Services Unit of the company delivers real-time global flight and airport data services that powers many of the world's most popular travel applications.

We're looking for a high-performing Software Developer to join the Data Services team. This individual should be someone who can contribute in many areas ranging from improving legacy code to conceiving new ways to solve challenging data problems. Outstanding candidates will possess a multi-disciplinary background and excel in problem solving.

View complete job description: FlightStats Data Software Developer 


Traveler Services Unit: User Experience Designer - Portland, OR

The company's Traveler Services Unit provides web and mobile applications to the FlightStats community, helping travelers to better manage their travel day. FlightStats' data is seen by millions of people each month, and the company is constantly evolving to offer the best worldwide alerting and tracking services to travelers, and the agencies and developers who serve them.Tr

We're looking for an experienced User Experience Designer to join the FlightStats Traveler Services team. This individual will be our User Experience expert, with responsibility for the design of user experience structures. This includes participating in defining functional interaction requirements, developing prototypes and working closely with the development team to implement designs.

View complete job description: FlightStats User Experience Designer 


Thursday, August 30, 2012

FlightStats Releases New Flex APIs and puts positional data in developers' hands



FlightStats,Inc. the industry-leading publisher of global flight and airport information services, is pleased to announce its next generation of Web Services: FlightStats Flex Web Services APIs. This new suite of APIs unlocks FlightStats' outstanding flight data covering approximately 99.5% of U.S. flights, and better than 80% of commercial flights worldwide. FlightStats powers the world's most popular mobile travel applications such as Kayak, TripIt, and Mobiata; flight search on the major search engines; flight boards at major airports and hotels; and supplies flight alerts on behalf of airlines, corporate travel agencies, and app developers.

FlightStats' New Developer Center
FlightStats new developer center. 

The FlightStats Flex APIs enable companies and app developers to track flight status in near real-time, follow flights in progress, build map-based trackers, query flight schedules and availability, and supplement these data with detailed airport information. Developers use these building blocks to create applications that make modern air travel better for passengers. The Flex APIs were developed in response to customer feedback from the developers of leading travel applications. The new RESTful APIs provide data in XML, JSON, and JSONP formats. The SOAP protocol is also supported.

FlightStats is also launching a new developer center leveraging the 3scale API Management platform, making it easier for developers to explore the APIs and develop their applications. The new FlightStats Developer Center has easy-to-use interactive documentation and robust monitoring capabilities with customer-facing analytics.

"Travelers generate more than 5 million queries to FlightStats each day to help deal with the complicated logistics of air travel. FlightStats leads the pack with the best and most complete data available worldwide. Our APIs help developers leverage that data to create compelling and useful travel applications," said FlightStats, Inc. CEO, Jeff Kennedy. "With the new Flex APIs and the 3scale API Management platform, we are making our customers' development process easier and helping to get their applications up and running quickly."

The FlightStats Flex APIs will serve mobile developers, airports, airlines, travel agencies, and ground transportation companies. API details can be found in the new FlightStats Developer Center.
Read the full release.

Tuesday, August 21, 2012

FlightStats makes Inc's 5000 Fastest Growing Private Companies list

Portland based FlightStats makes Inc's 5000 Fastest Growing Private companies. The company earned the sixth spot of the top private travel companies on the list and fifteenth of Portland companies.


America’s fastest growing private companies span 25 industries in all 50 states. New York City had the most honorees, with 350--three more than runner-up Washington, D.C. Nearly half the winners had revenues between $2 million and $10 million, more than 50 took in over $1 billion. See the complete Inc's 5000 Fastest Growing Private Companies list.

Tuesday, July 31, 2012

FlightStats Names Tech Industry Veteran Clent Richardson to Board

FlightStats is growing and has appointed Clent Richardson to the Board of Directors. The company plans to leverage Clent's vast experience in consumer, publishing and mobile technology companies to support its rapid push for growth in mobile consumer travel.
Clent Richardson

Clent Richardson is Managing Director of Huntington Hill Ventures and brings more than 25 years of C-level executive experience developing winning strategies and delivering flawless execution with companies such as Apple, AOL, AVG, Immersion, TiVo and T-Mobile where he drove organizational and operational transformations by building high performance teams and creating vision to deepen customer loyalty, drive efficiencies, focus, and deliver key business metrics.
“FlightStats is a hidden gem, powering countless real-time flight updates and airline stats for carriers and airports globally, and I look forward to working with Jeff and the board to help bring FlightStats into the forefront of direct-to-consumer usage and to help grow their global footprint.” ~ Clent Richardson
Clent joins the FlightStats Board at a time when the company is making a significant push in the consumer-focused mobile travel market while maintaining the 40% year over year growth in the business-to-business sector. FlightStats has 41 employees, up from 35 a year ago.

Monday, July 23, 2012

Wm Leler talks about moving away from Google Maps into the world of Open Source



Filmed at Open Source Bridge 2012 (http://www.opensourcebridge.org)

Wm Leler is a Principal Engineer at Flightstats (http://www.flightstats.com). In this interview, he talks about the advantages of moving away from Google Maps and what open source maps can offer in terms for flexibility and customization.

You may also want to see Wm's slides for his presentation "When Google Maps Gives you Lemons, Make Lemonade" at  Open Source Bridge 2012.


Friday, July 20, 2012

Switching Mapping APIs

Like many companies who do a lot of mapping, FlightStats had a bit of a shock in October 2011 when Google announced that they would start charging top users of the Google Maps API. We were very heavy users of Google Maps and the cost would have been a considerable amount of money for us. So we started looking at alternatives.

I don't begrudge Google for charging for their maps, but our needs were actually fairly modest. We didn't need any of the fancier features like driving directions, traffic, streetview, or 3D buildings; we mainly needed to show the location of airplanes. At the same time, we had spent a lot of time modifying and extending the Google Map API to add our own layers for things like weather and airplane routes. We had even developed our own basemap for some of our apps. But like many companies, we had started using Google Maps when it was the only game in town and had never looked around later to see if there was something else that would fit our needs.

The Top Seven Alternative to the Google Maps API
Luckily for us, there was. Not only that, but many of the alternatives were not just free, but had significant advantages for us. To help other people who are looking to replace Google Maps, we recently published an article  reviewing all the major alternatives, both proprietary and open source.





 You can read this article at:

http://www.netmagazine.com/features/top-seven-alternatives-google-maps-api

In the end, we picked the Leaflet map API, built by people at CloudMade but open source. Leaflet is a fairly new library, but it has become very popular. It had all the features we needed and is very easy to extend and customize. This made it much easier to build things like dynamic maps, where airplanes move around in real time, or with animations of weather radar. It also works well on mobile devices.

For basemaps, we had one that we had built ourselves, but we also found that there are a wealth of free maps out there. The Google basemaps are mainly designed for automobiles, but we found maps that were better for displaying our information (mostly by having less detail in the basemap itself, making it easier to see flight positions or weather overlays).

I knew we had done the right thing when Google announced that they were lowering their price by 88%. I asked around if anyone regretted the effort we spent moving to a new API and maps. The answer was no.

I really want to thank Google for inventing the technology that allowed people and companies like us to create interactive map applications. But now I'm really happy that there is some competition and variety, so we can pick the API and maps that are most suitable for what we are trying to do.

Monday, July 16, 2012

FlightStats Data Sources


FlightStats aggregates schedules, airline, airport, and positional data from over 300 sources to produce its industry leading Flight Status information services.  From these numerous sources, we handle over 20 million pieces of flight data each day.  Using our internal processes we validate, normalize and apply changes to our Flight Status database resulting in millions of flight status and positional updates.

Published Schedule Data

Published Airline Schedules is the first ingredient in building flight status.  We ingest a daily schedule file produced by Innovata and normalize the data.  Data elements include routing, scheduled block times, codeshares, equipment type, flight type (cargo / passenger), and traffic restrictions.  Using this data we create upcoming flights in our database to which we update with operational data.

Airline and Airport Data

Through direct connections, feeds and reservation systems, FlightStats receives the operational data reported by airlines on their flights.  Data elements obtained include estimated and actual block times, status, and gate assignments. We process information from numerous protocols and formats including HTTP, FTP, Web Services, and MQ Series.   

Positional Data

We rely on two information streams to obtain positional / tracking data.  We process the FAA Aircraft Situation Display to Industry (ASDI) and integrate Automatic Dependent Surveillance-Broadcast (ADS-B).  Collectively, the data from these providers allow us to track the flight plan, latitude, longitude, altitude, and speed of many of the world’s flights.   

Reference Data

We maintain reference tables of airlines, airports, timezones, and equipment.  Each incoming piece of information is checked against these tables.  Where necessary we maintain distinct mapping / translation rules for a given data source.

The end result of our efforts is a comprehensive database of Flight Status information. FlightStats consistently obtains arrival times on over 77.5% of the world’s published flights, and we’re actively pursuing relationships to increase coverage. Flight Status records exist for each flight containing the published data, current airline reported information and positional data.  We make these records available in a variety of products including APIs, Alerting Services, Data Feeds and FlightStats.com.

Tuesday, July 10, 2012

You Ask, FlightStats Answers - Announcing Improvements to the Beta APIs

Thanks to everybody who has taken the Flex APIs for a test drive and given excellent feedback and suggestions. We took your suggestions to heart and refined the APIs to better serve your needs. The services are greatly improved and we think you'll be pleased. We intend to make the modified API available on the beta site within the week.

In the meantime, we'd like to give you an overview of the upcoming changes. After the overview we'll include some example data for our fellow propeller-heads.

Your suggestions included:

  1. Reduce the response sizes
  2. Include summarized delay calculations in Flight Track
  3. Decorate responses with contextual request data
  4. Include airport geographical coordinates in Flight Track, always
  5. Return friendly and flexible error responses

1. Reduce the Response Sizes

Users making mobile and other interactive applications noticed that our default responses were rather bulky, contributing to slower applications and unnecessary bandwidth consumption. We're adding two features to help reduce response sizes.

First, we are normalizing repetitive data into a Data Appendix that contains the ancillary data exactly once, keyed by our unique FlightStats code.  All flights contain common data such as airports, airlines, and equipment. Instead of every flight repeating identical data, the flight structure will now reference the data in the appendix. To obtain the complete details (for example, the airline), you will match the FlightStats Code in the flight to the appendix entry with the same FlightStats code.

We will continue to offer the data in original repetitive "inline" format, enabled by a request parameter.



Second, we'll offer an option to filter out the Flight Status Updates portion of the flight data, which contain a change history of every update we've made to the flight data and are unnecessary in many applications. This data is frequently the largest portion of the flight data structure and removing it will reduce the response size significantly.



2. Include summarized delay calculations in Flight Track

Some of our customers asked for simple delay information in the Flight Track responses, so they could display the delay information in their maps. We think this is a clever idea, so we will include a single "delay" measurement for each flight in the Flight Track response.


The flight data in the FlightStatus response will still contain the detailed delay calculations (gate, runway, etc...).

Don't forget that all the Flight Track responses contain flightIds that can be used with the Flight Status services to look up in-depth Flight Status data.




3. Decorate responses with contextual request data

Our APIs have several optional parameters, each with a default values.  Some required parameters require interpretation on our part, such as to distinguish ICAO, IATA, and FlightStats codes. As we were responding to customer feedback, support requests, and bug reports, we realized that it would be helpful if the response contained information summarizing the request, removing ambiguity about our interpretation of the request parameters, and returning additional information about entities in the request.

We will return information about the request, including:
  • The requested URL
  • The request parameters, including default parameter values
  • How we interpreted or normalized the values, particularly codes
  • For error responses, we will include any information about parameter validation failures
As we introduce the next two changes, you'll see how we use this feature to create a more usable API.
See an example of the response with contextual request information



4. Include airport geographical coordinates in Flight Track

Users drawing maps based on the Flight Track APIs encountered a problem:  When a Flight Track request for an airport returned zero flights, they didn't receive the airport data they need to render the airport on the map (lat/lon, name, address, etc...).

Thanks to the changes we've already described, we have an elegant solution. The request data section of the response will contain the requested airport and all the information we have for it. Regardless of whether flights were returned, the user will have the airport information they need to render the airport on the map.

The airport details will be in the Data Appendix or directly in the request data structure, depending on the format style you request.
 
See an example of a Flight Track response with no flights and airport information




5. Friendly and flexible error reporting

In the initial beta release, we only returned application error responses (parameter validation failed, authentication failed, data not found, bogomip parallax error, etc...)  using traditional HTTP error codes with plain text messages. While some users were satisfied with this approach, other users found it difficult to weave the error responses into their applications. In particular, AJAX developers using our JSONP services found that error handling with non-200 HTTP codes is nearly impossible. In addition to solving these woes, we wanted the ability to return validation errors for multiple parameters in a way that JSON/XML mapping APIs would automatically parse the response into local data structures.

To satisfy everybody's needs, we will offer two error formats in our APIs, controlled using a request parameter.

First, we will continue to offer the same application error responses as in the initial beta release: the error will be reported with a 400-level HTTP code and a simple plain-text error message. Transport errors will be reported with 500-level HTTP responses. To continue receiving this error response format, you will need to provide a specific input parameter.

The new error response format will now be the default. Application errors will result in a 200 response code, but the response will contain an error structure. The published XSD will contain the error structures, so your mapping software should automatically read and parse the errors.

In both formats, we will use the previously mentioned request data to return per-parameter validation errors.

Note that these response formats only address errors that we return from our application. Your API or intermediate HTTP proxy servers will always return HTTP 500 errors if a error occurs during transit.

See examples of the new error format




Data Examples


Appendix vs Inline Ancillary data

Note how in the inline format, there are full airport and carrier structures, but in the appendix format there are only FsCode references, but the appendix contains the fully structures.


Appendix format Inline format
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
  <flightStatuses>
    <flightStatus>
      <flightId>268195273</flightId>
      <carrierFsCode>UA</carrierFsCode>
      <flightNumber>416</flightNumber>
      <departureAirportFsCode>LAX</departureAirportFsCode>
      <arrivalAirportFsCode>JFK</arrivalAirportFsCode>
      <departureDate>
        <dateLocal>2012-07-09T11:27:00.000</dateLocal>
        <dateUtc>2012-07-09T18:27:00.000Z</dateUtc>
      </departureDate>
      <arrivalDate>
        <dateLocal>2012-07-09T20:01:00.000</dateLocal>
        <dateUtc>2012-07-10T00:01:00.000Z</dateUtc>
      </arrivalDate>
      <status>L</status>

      ...........

   </flightStatus>
  </flightStatuses>

  <appendix>
    <airlines>
      <airline>
        <fs>UA</fs>
        <iata>UA</iata>
        <icao>UAL</icao>
        <name>United Airlines</name>
        <phoneNumber>1-800-864-8331</phoneNumber>
        <active>true</active>
      </airline>

      ...........
      
    </airlines>

    <airports>
      <airport>
        <fs>LAX</fs>
        <iata>LAX</iata>
        <icao>KLAX</icao>
        <faa>LAX</faa>
        <name>Los Angeles International Airport</name>
        <street1>One World Way</street1>
        <street2/>
        <city>Los Angeles</city>
        <cityCode>LAX</cityCode>
        <stateCode>CA</stateCode>
        <postalCode>90045-5803</postalCode>
        <countryCode>US</countryCode>
        <timeZoneRegionName>America/Los_Angeles</timeZoneRegionName>
        <localTime>2012-07-10T13:36:14.982</localTime>
        <utcOffsetHours>-7</utcOffsetHours>
        <latitude>33.943399</latitude>
        <longitude>-118.408279</longitude>
        <elevationFeet>126</elevationFeet>
        <classification>1</classification>
        <active>true</active>
      </airport>

      ...........

   </airports>
 </appendix>

    
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
  <appendix/>
  <flightStatuses>
    <flightStatus>
      <flightId>268195273</flightId>
      <carrier>
        <fs>UA</fs>
        <iata>UA</iata>
        <icao>UAL</icao>
        <name>United Airlines</name>
        <phoneNumber>1-800-864-8331</phoneNumber>
        <active>true</active>
      </carrier>
      <flightNumber>416</flightNumber>
      <departureAirport>
        <fs>LAX</fs>
        <iata>LAX</iata>
        <icao>KLAX</icao>
        <faa>LAX</faa>
        <name>Los Angeles International Airport</name>
        <street1>One World Way</street1>
        <street2/>
        <city>Los Angeles</city>
        <cityCode>LAX</cityCode>
        <stateCode>CA</stateCode>
        <postalCode>90045-5803</postalCode>
        <countryCode>US</countryCode>
        <timeZoneRegionName>America/Los_Angeles</timeZoneRegionName>
        <localTime>2012-07-10T13:36:47.938</localTime>
        <utcOffsetHours>-7</utcOffsetHours>
        <latitude>33.943399</latitude>
        <longitude>-118.408279</longitude>
        <elevationFeet>126</elevationFeet>
        <classification>1</classification>
        <active>true</active>
      </departureAirport>

      ..........

    </flightStatus>
  </flightStatuses>
 </response>


    
back to examples





Response with contextual request information


See how the response contains a request section with explicit details on each parameter that influenced the response.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
  <request>
    <url>https://api.flightstats.com/flex/flightstatus/rest/v2/xml/airport/status/JFK/arr/2012/7/9/20</url>
    <airport>
      <requestedCode>JFK</requestedCode>
      <fsCode>JFK</fsCode>
    </airport>
    <date>
      <year>2012</year>
      <month>7</month>
      <day>9</day>
      <interpreted>2012-07-09</interpreted>
    </date>
    <hourOfDay>
      <requested>20</requested>
      <interpreted>20</interpreted>
    </hourOfDay>
    <numHours>
      <requested>1</requested>
      <interpreted>1</interpreted>
    </numHours>
    <utc>
      <requested>false</requested>
      <interpreted>false</interpreted>
    </utc>
    <codeType/>
    <maxFlights>
      <requested>5</requested>
      <interpreted>5</interpreted>
    </maxFlights>
    <extendedOptions/>
  </request>
  <appendix>
    <airports>
      <airport>
        <fs>JFK</fs>
        <iata>JFK</iata>
        <icao>KJFK</icao>

        .............

      </airport>
    </airports>
 </appendix>
 <flightStatuses>
  <flightStatus>
      <flightId>268195273</flightId>
      <carrierFsCode>UA</carrierFsCode>
      <flightNumber>416</flightNumber>
      <departureAirportFsCode>LAX</departureAirportFsCode>

      .............

    </flightStatus>
  </flightStatuses>
</response>

back to examples

Track response with no flights and airport information


Note that there are no current flights in the air from Glasgow, but the request contains the validated airport code with the "fsCode" key. The appendix contains the fully-populated airport structure.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>

  <request>
    <url>https://api.flightstats.com/flex/flightstatus/rest/v2/xml/airport/tracks/GLA/dep</url>
    <airport>
      <requestedCode>GLA</requestedCode>
      <fsCode>GLA</fsCode>
    </airport>
    <includeFlightPlan>
      <requested>false</requested>
      <interpreted>false</interpreted>
    </includeFlightPlan>
    <maxPositions>
      <requested>2</requested>
      <interpreted>2</interpreted>
    </maxPositions>
    <maxPositionAgeMinutes/>
    <codeType/>
    <maxFlights>
      <requested>5</requested>
      <interpreted>5</interpreted>
    </maxFlights>
    <extendedOptions/>
  </request>

  <appendix>
    <airports>
      <airport>
        <fs>GLA</fs>
        <iata>GLA</iata>
        <icao>EGPF</icao>
        <name>Glasgow International Airport</name>
        <city>Glasgow</city>
        <cityCode>GLA</cityCode>
        <stateCode>SC</stateCode>
        <countryCode>GB</countryCode>
        <timeZoneRegionName>Europe/London</timeZoneRegionName>
        <localTime>2012-07-11T01:57:55.008</localTime>
        <utcOffsetHours>1</utcOffsetHours>
        <latitude>55.864213</latitude>
        <longitude>-4.431782</longitude>
        <elevationFeet>26</elevationFeet>
        <classification>2</classification>
        <active>true</active>
      </airport>
    </airports>
  </appendix>
  <flightTracks/>

</response>


back to examples

The new error reporting format


In this example, we've made a request with an airport code that doesn't exist. The HTTP response is 200, but the application response contains:
  • An error structure, including a numeric code, a message, and an error GUID
  • The request is detailed, include an error code attached to the parameter that failed validation
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response>
  <error>
    <httpStatusCode>400</httpStatusCode>
    <errorCode>BAD_AIRPORT_CODE</errorCode>
    <errorId>a68cf1ba-1d64-4080-a3c4-848177fab36e</errorId>
    <errorMessage>The Airport code given did not match a known airport. Invalid airport code: 'XXX'</errorMessage>
  </error>
  <appendix/>
  <flightTracks/>
  <request>
    <url>https://api.flightstats.com/flex/flightstatus/rest/v2/xml/airport/tracks/XXX/dep</url>
    <airport>
      <requestedCode>XXX</requestedCode>
      <error>BAD_AIRPORT_CODE</error>
    </airport>
    <includeFlightPlan/>
    <maxPositions/>
    <maxPositionAgeMinutes/>
    <codeType/>
    <maxFlights/>
    <extendedOptions/>
  </request>
</response>



back to examples

Tuesday, July 3, 2012

What’s New with FlightStats Flex APIs

In response to your evolving needs, we’re introducing new Web services APIs. They
are code named Flex, reflecting our commitment to flexibility and innovation in the
flight status and tracking market.

For customers on our current platform, we’ll continue to support your integrations
into the future.


Some key differences:

First, positional data plays a prominent role in our new web services API offering.
We feature new ways to query, deeper tracking, and a richer data model. The
following table compares and contrasts positional improvements made over the
FlightHistory API.


Feature FlightHistory API Flex API
Lookup Vector Airline Code & Flight Number Airline Code & Flight Number
Airport Code
Airline Fleet
Lat / Long Bounding Box
Flight Plans No Yes
Number of Positions Last 200 Positions All Positions
International Flights Limited, US Airspace ADS-B

Second, flight status information is enhanced and extended. We’ve included many
of the commonly requested features in this redesign. The table below calls out a
number of the key improvements:

Feature FlightHistory API Flex API
Times Local Times
Offset to UTC
Local Times
UTC Times
Flight Type No Yes - Allows for identification of cargo flights
Linked Flights No Yes - Published Upline and Downline Flights
Delay Computations No Yes

Third, we’ve embraced a RESTful interface to our API while continuing to offer
XML and SOAP We now support JSON and JSONP responses making it easier to
develop AJAX style applications. In addition, we’ve simplified the requests, opting to
provide more endpoints while removing seldom used parameters.

Finally, we have implemented a new development center. After an analysis of the
work required to bring our API management consoles up to level we desire, we
decided to enlist the help of an SAAS API infrastructure vendor, 3Scale. Our focus is
on integrating and disseminating high quality flight information. 3Scale strengths
are the authentication, authorization, accounting and reporting infrastructure
required to run an API business. We’re proud of the partnership, new interface
and features for our development community. We’re anxious to bring our entire
offering to their platform.

We aren’t finished just yet. The Flex web services API is in beta and available to
you to explore and integrate. Our commitment to innovation will continue over
the coming months as we bring weather, on-time performance, flight alerts, data
feeds, and syndicated content on-line. We also have a rich roadmap of upcoming
enhancements to our core flight data product including irregular operation details,
predictive estimates, chance of delay and the ability to query flight status one year
in advance of the flight. To explore Flex … visit the new FlightStats developer center.