The Award Ticket calendar is somewhat close to me because I was involved with the initial project to add the functionality to Award Ticket Shopping. Passions and tensions on the topic run extremely high. The biggest complaint (outside of availability) is that the calendar shows availability that “disappears” when selecting flights. Why does that happen? Frankly, its a difference in how the data is collected. Hold on to your seats, there’s some math ahead!
At a high level, for any date pair searched, the resulting calendars show up to 961 (31×31) date combinations (such as a departure in July returning in August) per cabin combination. For comparison, if you are searching dates within the same month there are up to 496 possible date combinations (31 options on the 1st, plus 30 on the 2nd, plus 29 on the 3rd, etc). This is under the assumption there is only one possible flight option per day. What if there are more? What if there were 5 flights or more available per day?
To use a real example, if you are searching for flights from Atlanta, GA to New York-La Guardia, NY departing on Monday Dec 29th and returning Saturday January 3rd how many options are there? Well if you look at the schedule there are 17 flights to LGA on 12/29 and 9 flights back on 1/3. Using those for each day of the week results in (31×17) x (31×9) options. Oh sorry, that’s 147,033 options. That’s using just LGA. If your final destination is NYC then what if we include options to JFK and EWR? You could include HPN (White Plains) as well.
It doesn’t take long to realize that the number of options available is growing beyond control. The problem is not in retrieving all the information, its that auditing each of those options takes time. If we use 1ms as the time required to check each itinerary’s validity as an option, using the example above of 24,025 itineraries would require just under 25 SECONDS. Fortunately there are more than 5 available routes per day for most searches. It’s also rare that there is one person searching at a time. At this point you have to start looking at the computers doing all that work in a different light.
At the end of the day a decision had to be made regarding the methodology used for searching that balances accuracy, response time, and investment (both in development time and hardware costs). These are often the hardest choices because all those factors play into your experience. The end decision was to use one type of search for the calendar and a different one for the available flights. They are different, but both 100% accurate. What does that mean to YOU when you search?
Behind the scenes, the calendar builds the schedule of flights for each given day (non-stop, direct, one-stop, and multi-stop). Then each flight is reviewed to see if the number of SkySaver seats are available in the cabin you searched. Once it finds a match, it stops searching that day, and moves to the next. When you move on to look at the flight options for your selected days, its a much more intensive look that validates all the business rules. After you’ve selected your flights, the itinerary is again audited and priced. If you started the search without logging in, before you provide the passenger information, we price it again to make sure you get the lowest possible price.
To be frank, the calendar might be improved by just taking the “just throw more servers at it” methodology. The intrinsic problem with that approach is the number of servers required and the cost incurred to get them. More servers by default will only support more capacity (the number of people using the site at the same time), not necessarily more speed. To improve speed requires one or more things to happen:
- faster processors
- more efficient algorithms
- farming/distributive computing (often used in the production of 3D animation and rendering)
- less complex rules
So while there are differences between the response on the calendar, the flight results, and the final pricing, the award ticket calendar provides a much faster way to search for availability. As a developer, it both inspires and challenges me. At the end of the day, I want the end product to be a success as judged by the user. The numbers show that 75% of all Award Tickets are booked on delta.com.
So there you have it: the award ticket calendar demystified.
drew
delta.com GUI Developer





