Flight Log Version 1.3: Distances and Annual Summaries

I’ve updated the Flight Log to version 1.3 by adding distances to flights, and by adding more statistics to the annual summary pages.


The home page now shows the total distance flown across all flights. (I’ve used the great circle distance between the airports for every flight’s distance, rather than the actual flight route flown. This is the way that most US airlines calculate mileage.)

Screen Shot 2015-02-13 at 23.12.40

At the bottom of the page, I’ve added the longest route, shortest route (for routes that actually have a distance), and shortest net distance (for routes where the origin is the same as the departure, and thus the net distance traveled is zero).

Screen Shot 2015-02-13 at 23.28.26

The total distance flown has been added for every flightrouteaircraft family, airline, operator, tail, fleet number, travel class, trip, and trip section.

The index routes page now shows the great circle distance for each route. In addition, the page can now be sorted by either distance or number of flights.

Screen Shot 2015-02-13 at 23.32.39

I’ve done the same thing on the show airport page, showing the distance to each of the direct flight airports. This table, too, is sortable.

Screen Shot 2015-02-13 at 23.51.04

Annual Summary Pages

At the top of the index flights page, there have been links to years. Clicking on one of them would bring you to an annual summary page, showing a map and table of all of the flights in that year.

I’ve now added more details to this page:

  • The year’s airports visited
  • The year’s aircraft families flown
  • The year’s airlines flown
  • The year’s classes flown
  • The year’s longest and shortest routes
Screen Shot 2015-02-13 at 23.59.50

Airports that were first visited in the year, aircraft families that were first flown in the year, and airlines that were first used in the year are noted in their respective tables.

Screen Shot 2015-02-14 at 00.02.30
Change Log

Flight Log 1.3 – released 8 February 2015

  • Added details to Index Flights by Year
  • Added flight distances
  • Minor improvements to flight entry form

Flight Log Version 1.2: Operators and Codeshares

I’ve updated the Flight Log to version 1.2 by adding codeshares, operators, and fleet numbers to flights.

Not all flights are operated by the airline that advertises it; often, airlines subcontract out flights to other airlines, particularly regional flights. In either case, whether the flight is operated by the advertising airline (i.e., United) or a different operator (i.e., ExpressJet), the Show Flight view now displays this. In addition, if the flight was a codeshare (where an airline sold a ticket on a partner’s flight), this is shown too.

Screenshot of Show Flight view
In this example, I bought a flight through American Airlines, but American Airlines didn’t offer a flight from Flagstaff to Phoenix, so they booked me a ticket on US Airways flight 2909, and American sold it to me (as a codeshare) as American Airlines flight 2669. Then, since this was a short regional flight, US Airways didn’t operate it themselves; they subcontracted out to SkyWest Airlines to actually operate the flight under the US Airways name.

Clicking on the operator brings up details on a Show Operator view:

Screenshot of the Show Operator view

In some cases, I know the fleet number the operator uses for the aircraft, so the bottom of this page contains a list of the known fleet numbers.

Screenshot of bottom of Show Operator view

Clicking on any fleet number will show details for all flights flown on that operator-fleet number combination.

Finally, all of the operators are now listed on the Index Airlines view, below the airline list:

Screenshot of the Index Airlines view

…I fly on a lot of regional jets.

Change Log

Flight Log 1.2 – released 27 October 2014

  • Added operating airlines, fleet numbers, and codeshares

Flight Log Version 1.1: Routes, Top 5 Lists, and More

Version 1.1 of the Flight Log is now live.

On the old version of the flight log, I had a rudimentary display of routes – the Show Flight page would list all sections and trips that shared the same route. There was, however, no easy way to see which routes were the most flown. Consider that solved, with my new Routes page!

Screenshot of the routes page

Clicking on any of the routes brings up details about that route:

Screen Shot 2013-10-24 at 21.43.02

Of note, the page shows the most popular airlines, aircraft, and classes flown on the route. The trip sections and trips sharing a route have been moved here from the Show Flight pages:

Screenshot of the Show Route page for DAY - ORD

The same airlines, aircraft, and class lists were added to the Show Tail, Show Airport, Show Airline, Show Aircraft, and Show Class pages as appropriate.

I also updated the home page. Instead of what was essentially a link to the Flights page, the home page now shows my primary flight maps, and my top 5 routes, airports, aircraft, airlines, and tail numbers:

Screenshot of the home page

In addition, under each of the top 5 lists, the home page shows the totals for the various statistics I track. No more extra clicks are required to see how many airports I’ve visited!

Speaking of airports, the Show Airport page also got a snazzy new listing of top destinations:

Screenshot of Show Airport

This table also links to the new Show Route pages.

Change Log

Flight Log 1.1 – released 24 October 2013

More Tail Numbers

Back in July, I wrote about how I’d only been tracking tail numbers since 2012. Last week, I found a source to help me fill in a good portion of my missing tail numbers.

The Bureau of Transportation Statistics keeps records of airline on-time statistics for United States domestic flights. In particular, their detailed statistics for departures, arrivals, and airborne time have flight number and tail number data. Incidentally, with a date, origin or destination airport, and flight number, I could find the tail number of many of my past flights.

There are a few caveats:

  • Many flights (particularly to smaller markets) are operated by feeder airlines operating under the name of a major airline. For example, my United flight 4255 on 7 December 2012 from CHS to EWR was actually operated by ExpressJet, so searching for United flights departing CHS on 7 December 2012 would turn up no results for flight 4255. Instead, I’d have to search for ExpressJet flights.
  • Only airlines with at least 1% of domestic passenger revenue are required to report on-time data. Therefore, not every feeder airline reports data, and I was unable to get tail numbers for those flights.
  • International flights are not in this database.
  • 2013 data are not yet available.
  • The reported tail number was not always the actual tail number; in some cases, it appeared to use the airline’s fleet number instead. In particular, this seemed to happen more often than not on American Airlines and American Eagle flights.
    • American Airlines flights seemed to be reported in the form N[fleet number]AA, such as N493AA or N3FHAA. For American Airlines flights, then, I had to look up the aircraft in the fleet data for American Airlines on Planespotters.net, finding the fleet number in the Fleet Number column and retrieving the tail number from the Reg column. In the case of fleet number 493, the registration was N493AA, so the BTS on-time data tail number was correct. However, with 3FH, the tail number was actually N831NN.
    • American Eagle flights were similarly reported as N[fleet number]MQ, forcing me to do the same thing with the American Eagle fleet data. In this case, though, the fleet number often isn’t listed. When this happens, if there was a single registration number that contained the fleet number (N939AE for #939, N933JN for #933, etc.), and the aircraft family was the same as the one I already had on record, I used that.

Even with the above, the BTS website was still a great source of data, and I now have tail number data for 91% of my flights. This data helped me find out that there were quite a few more tails I’d flown on more than once, including three additional tails I’d flown on three times (beyond N909EV, which I already knew about).

One of the three-flight tails was N691AE, of which I already had a photo.
One of the three-flight tails was N691AE, of which I already had a photo.

Classes and Tails

The final two sections of my flight log are classes and tail numbers.


Screenshot of the flight log class listing

The class listing is one of the simplest; it’s just a table of the travel classes (first, etc.) that I’ve flown and how many flights I’ve flown on each.As of the time of this writing, the vast majority of my flights have been domestic, so I’ve rarely ever been on three-class planes. Thus, I have not yet had any flights in business class.

As always, clicking on one of the classes shows a table and Great Circle Mapper map of my flights in that class:

Screenshot of the first class details page
Tail Numbers

Every aircraft has a unique number painted on or near its tail – think of it like a license plate for an airplane.

Photo of several regional jets with the tail numbers highlighted

Because the number is unique, if I keep track of it, I can tell whether I’ve been on a particular plane before. And, of course, this also allows me to track which particular aircraft I’ve flown on most often:

Screenshot of the flight log tail number listing

My tail number data is more sparse than a lot of my other categories. I didn’t begin tracking tail numbers before 2012, and even once I did, it’s not always possible to see the tail number (for example, at night, or when the airport terminal layout blocks the view of my aircraft’s tail). Still, the above listing shows me all of the aircraft that I know I’ve flown on at least once.

Clicking on one of the tail numbers shows a list of my flights on that plane and a corresponding map:

Screenshot of the flight details for tail N909EV

And with that, I’ve fully described the basic functionality of my flight log. Go forth and explore!

Airlines and Aircraft

The airlines and aircraft pages behave in similar ways.


The airlines page shows a list of airlines I’ve flown and the number of flights on each, sorted by number of flights.

Screenshot of airlines index15 SEPTEMBER 2013 UPDATE: I have since found an error in my data, and the two flights that I had listed as Continental Airlines were actually flown on American Airlines. This screenshot is now slightly incorrect, but the flight log has incorporated the correction.

When codeshares are involved, I use the airline and flight number of the operator of the flight.

Regional subsidiary airlines are listed as the parent airline. For example, all American Eagle flights are listed as American Airlines, and all flights branded as United Express are listed as United flights, regardless of which subsidiary airline actually operates it.

Airlines which have gone through a merger since my last flight are still listed as the airline they were on the date I took the flight. Thus, my flights on Continental and Northwest are not now considered United and Delta flights.

Clicking on any airline brings up a Great Circle Mapper map and list of all flights I’ve taken on that airline:

Screenshot of the United Airlines details pageAircraft Families

The aircraft families page shows a listing of all aircraft families I’ve flown.

Screenshot of the aircraft families page

A large portion of my flights are on regional jets; a hazard, I suppose, of living near Dayton, Ohio.

Note that I do not know the aircraft for every flight I’ve taken (particularly older flights), so those flights are not included in this listing.

As expected, clicking on an aircraft family brings up a map and list of the flights using it:

Screenshot of the details page for Boeing 737The next entry will discuss the final two sections – classes and tail numbers.


While flights are the most visible aspect of the Flight Log, airports are equally important.

On my airports listing, I start out with some maps showing all airports I’ve been to, but the heart of the page is the list of airports.

Screenshot of a table listing all airports I've visitedThis lists each airport I’ve been to, and the number of times I’ve visited it. The number of visits is automatically determined from the flight data in the database; every flight has an airport visit at either end of it.

My code also has to look at trip sections to determine if a flight arriving at an airport and the next flight departing from the same airport is a layover or not. If both flights are in separate sections (for example, I land in Dallas/Fort Worth, do some business there, and then depart from DFW later) it is not a layover and counts as two visits. However, if they’re in the same section, it’s a layover, and only counts as a single visit.

This visit calculation is how I determined when my 100th airside visit to the Dayton airport, allowing me to celebrate accordingly.

Paul at the Dayton airport wearing a party hat with "100" written on it.Clicking on any airport brings up its details, starting with a list of all flights involving the airport:

Screen Shot 2013-06-16 at 12.25.52As always, the flight log’s code generates a list of flights and passes it on to the Great Circle Mapper to draw the maps.

The page also figures out which trip sections and trips involve the airport in question, and generates maps for those, too:

Screen Shot 2013-06-16 at 12.33.19Finally, the page shows a listing of the frequency of all the airlines and aircraft families I’ve used at this airport:Screenshot of airlines and aircraft listing

Clicking on any airline or aircraft family will bring up details about each, which will be discussed in the next entry.

Flights and Trips

The Flight Log has a number of ways to show information, but understandably, the core component is a list of flights.


The most prominent item on the flights listing is a pair of maps showing every flight I’ve taken since age 18.

Screen Shot 2013-06-10 at 20.13.42

I have a database of all the flights I’ve taken, and I wrote some code to take all of this flight route data and transform it into a format that the the Great Circle Mapper understands, and the Great Circle Mapper generates me a map like the one above. This means that when I add a new flight to the database, my maps are updated automatically.

(As an aside, when I add a flight to the database, it’s hidden at first – only I can see it. This allows me to enter my flights without having the general public aware that I’m traveling until I return home and unhide those flights.)

Of course, while maps are useful, sometimes more details are needed, and for that I’ve included a listing of all of my flights.

Screenshot of a list of flights

Clicking on any flight in the list brings up a flight details page:

Screen Shot 2013-06-10 at 20.20.18

This page shows a map of the flight and a number of details. Many of these details are links – so clicking on First Class, for example, brings you to a page listing all of my first class flights. (The various details will be covered in future posts.) The page also shows some maps of trips (and parts of trips) which have a flight involving these two cities, so this is as good of a time as any to describe how trips work.


At its core, a trip is a complete set of flights, from an origin airport, with a stop at one or more destinations.  Often, but not always, the final destination is the same as the origin, which in everyday speech is a “round trip.”

For the purpose of my flight log, a trip can be divided into one or more sections.  A section is simply all the flights between the origin and the first destination, or between any two consecutive destinations.  So, let’s say that I have a round trip from my home in the Dayton, Ohio area to Los Angeles, with a layover at Dallas/Fort Worth both ways.  This trip would then have two sections – the first containing all of my flights to Los Angeles (the DAY to DFW flight and the DFW to LAX flight) and the second containing all of my flights home (the LAX to DFW flight and the DFW to DAY flight).

If I had a multi-city trip from Dayton to Los Angeles to Seattle to Dayton, there would be three sections – All flights between DAY and LAX, all flights between LAX and SEA, and all flights between SEA and DAY.

All that said, clicking on the Trips link at the top of any Flight Log page will show a list of trips:

Screenshot of a list of trips

Clicking on any of those will show a trip details page:

Screenshot of a trip details page

This particular trip was a multi-city trip, starting and ending in Dayton with stops in Oklahoma City and Rapid City.  As you can see, the map highlights destinations with a ring around a dot, while airports that are simply layovers are just shown as a black dot.

Below the map, all the flights for this trip are shown, grouped by trip section. Clicking any of the airlines and flight numbers will bring up the flight details page as described above.  If you’d like to just see one particular section of the trip, clicking the section number to the left of the flights will do so:

Screenshot of section details

Between the flights and trips pages, my travels are well-described.  However, there are still more in-depth flight details included in the Flight Log, which will be covered in my next entry.

Introduction to the Flight Log

I travel reasonably often, and I consider myself a bit of a transportation nerd. It’s only logical that I would keep track of where I’ve flown.

For a while, I used a giant text file, and later an Excel spreadsheet, to track all of my flights; I created maps manually using the Great Circle Mapper. But by the time my flights began numbering in the hundreds, I needed a more automated solution, so I created Paul Bogard’s Flight Log.Screenshot of Paul Bogard's Flight LogOver the next several weeks, I’ll go into detail about the Flight Log’s features.