Routeplanning for round the world flights

Last week I visited a local travel agent. I’ve likely got to visit a couple of places in the next 6 months or so, and I know that a round the world ticket would cost the same as those two individual flights, as they’re to places without much competition on them, so I figured it would be a good opportunity for another trip to see lots of interesting places. Not really knowing where I wanted to go, other than those 2 places, I figured a travel agent must be able to sort me out with a Oneworld or Star Alliance route map. Unfortunately not, in fact the travel agent whilst being friendly was completely unhelpful, they couldn’t tell me anything, if I’d told them some places I wanted to go they’d happily tap a route into the computer and told me how much it would cost. Not really much use.

I’d already looked at the websites of the alliances, but these didn’t have routemaps, Oneworld had a flash map where the airports they flew to were marked, but only on a very gross scale, unfortunately though this included code shared flights which aren’t an option on the oneworld ROTW ticket anyway. There was also a windows application for download, unfortunately that wouldn’t install on any of my windows boxes, so not the great, there was a PDF though, so I managed to get some data, I already had very old Star Alliance data which I’d downloaded before.

With the data, I set about building a UI so I could explore it, it took about 8 or so hours work, nothing complicated, but it does a pretty good job of letting you explore the route, it’s amazing that the airlines or travel agents don’t offer this service, it would save them lots of money in agents time, as well as possibly selling more tickets. Of course, we need a few more than the 8 hours I’ve spent, some proper QA, we’d need to encode the rules of the alliances tickets in there, and probably the taxes at the airports too, but regardless it’s not much more than 2 man months of development at even the most pessmisstic, I can think of a few reasons why they don’t, but it still seems silly.

The web application

Screenshot of showing the application.

The application is a simple one, you enter a starting airport code, or name, if there’s more than one airport with that name or part of name, then all that match are shown and you can select one to start your route. Airports you can fly to are then shown on the map in yellow, mouseover of these for the name. You can zoom and drag the map as you would expect, and selecting the airports will add it to the route, the table’s under the map, that tells you the number of miles you’ve done, and which carrier the route is flown on - if you want to limit routes to just one carrier, use the checkboxes on the top right to select one. Clicking on the table at the bottom will allow you to go back in the route.

Nothing complicated in the implementation, it just makes xmlhttp requests for JSON data from a mysql database which has the airport locations and routes, the rest is simple javascript.

It’s a useful little app though, and I’d like to finish it off add some more inteligence into the route, perhaps some routefinding, or rule checking to the various oneworld/star alliance RTW tickets. Of course I’ve not yet decided on a route, or if I’m even going to go, still it was a fun little mini project.