Shared Itinerary

I’ve been to a lot of conferences, conventions, and trips where a group of people are coming on several different flights, yet trying to share cars from the airport. Traditionally, this has been a bit of an organizational challenge, usually involving having everyone post their flights to a shared spreadsheet. I created Shared Itinerary to show everyone’s flights visually, so you can easily see who’s arriving and departing at similar times.

Event flight chart on Shared Itinerary. The X-axis shows time, and the Y axis is a list of travelers. Horizontal bars are plotted for each traveler showing their flight times, so that it's easy to compare when people are arriving or departing at similar times.

Chart showing what time everyone is returning from a fictional sample event.

Flight charts are the primary purpose of the Shared Itinerary. These charts show flights and layovers on each day for each attendee. For arrivals, the attendees are sorted by arrival airport and arrival time. For departures, the attendees are sorted by departure airport and departure time. The flight bars are also color-coded by the event arrival or departure airport. This makes it easy for any given attendee to see if they’re arriving at or departing from the event at the same airport and a similar time.1

Below the charts are tables showing details for all of the travelers’ flights, with the event arrival and departure airports color-coded to match the charts.

Home page of Flight Historian.

Traveler itinerary details for the same sample event.

Travelers’ flight information is kept private. The creator of an event must give out a share link to allow anybody else access.

The application is fully time-zone aware.2 The itinerary details table shows each flight’s times in the local time of each airport. Itinerary charts are shown with all flight times converted to the time zone of the event. The chart can handle flights that occur during a shift to or from daylight saving time (summer time) by showing fewer or extra hours on the time axis as appropriate.

Technical Details

I wrote Shared Itinerary in Ruby on Rails, using a PostgreSQL database to store itinerary data.

The attendee flight charts are inline Scalable Vector Graphics (SVG) images, generated using methods in a Chart class I wrote.

Shared Itinerary uses FlightAware’s AeroAPI 2 to search for flights and to look up information about airports and airlines.

My GitHub repository for Shared Itinerary is at bogardpd/shared_itinerary.


  1. The inspiration for my chart design was the time bar layout of ITA Matrix Airfare Search; instead of showing a lot of itinerary options for one traveler, I’d be a single itinerary each for a number of travelers. ↩︎

  2. All flight times are stored in UTC, and converted to whatever offset is appropriate for display. ↩︎

Tags: