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

July 31st, 2008 at 4:37 pm
Just read today about DL changing the award levels and as a platinum flyer for many years now, I am really unhappy with the changes.
The award calendar is a nice feature, but frankly to me it just hides the fact that Delta is making it more and more difficult, and expensive, for anyone to be able to get award tickets. As someone who flies a lot every year, I am really disenchanted with Delta. The only change in the air is that customer service is out the window and frequent flyers are not getting much perks to stick with Delta.
July 31st, 2008 at 6:23 pm
This is incredibly fascinating, than you very much for posting it.
I think you’ve made some good decisions in the way you’ve done this. Comparing your award searches, you all used to trail Continental in terms of functionality, but are now much better.
Of course, like anyone who uses it often, I have a few suggestions. Those are:
1) The GUI doesn’t work on a FF / Mac combo. It’s picky, but the screen gets twice as wide as the calendar is to the right of the main body of the page
2) Often times I have luck finding routes by searching individual legs that I would have found otherwise. I think this is because you don’t consider three-legged flights for your searching? That would be good to have as an option.
3) It would be cool to have this sort of searching functionality for Skybonus tickets.
4) Any chance in demystifying how availability is selected for flights? I feel as if there’s a reverse bell curve or something on availability compared to dates..
Thanks,
-B
July 31st, 2008 at 7:32 pm
Interesting view behind the curtain; still, when I go to book a simple award itin, for a specific city pair it shows skysaver availability, and then when I continue on to view the flights I see 8 skygouger options and no skysaver options, it leaves me ticked off… it gives us a lot of frustration and a feeling of having been “bait and switched”.
It happened multiple times in searches this past week.
July 31st, 2008 at 9:10 pm
@billnobill - agreed, 100%. The speed of the application isn’t as much of an issue as the inavailability of flights. To be accurate, I should say the inflation of SkyMiles required for free flights. Case in point - I was searching for SkySaver seats from BOS - ICN. Can you guess the date of the first available seat at 60,000?
April 21, 2009.
But there are plenty of seats available for 120,000 or more. That’s where the speed of the calendar does come into play - it would take an incredibly long time for me to run that search on the web, whereas an agent at the Platinum desk was able to get the results for me after a few minutes.
August 1st, 2008 at 9:17 am
Drew - quit honestly while your math is fascinating all your doing is justifying why it doesn’t work - and believe me it doesn’t work!
The problems are many and are documented in many places (flyertalk.com for example) but let me give an example of something that happens all the time.
You search for award flights - say a skysaver award, the calendar shows those awards available and you try to book, then you get a message saying its not available “just sold out” - you return to the calendar and the same skysaver award shows up for the the same day and same flight, you try to book it you and you can’t - get the same “just sold out” message. Not a math problem
Another example - you find skysaver availablility but when you try to book the award it shows up as sky choice. Repeat and the same issue happens.
These problems can’t be solved by increasing response time or “throwing more hardware at it” - these are BUGS and need to be fixed. Explanations like your “math” one don’t address the problems, they just make it look like you are trying to side step it!.
I would suggest that you and your team try a novel approach. Accept that the current design does NOT work - throw it away and start all over.
August 1st, 2008 at 4:06 pm
billnobill and peterkim - The items that you are expressing as frustrating seem to be more related to the program than the actual calendar. The calendar provides a lot of exposure into the availability of flights so I would hope that having it as a tool reduces the difficulty. I do know that having the ability to see both cabins combined with the pricing has removed the number of times SkyChoice Coach is used when there are SkySaver First available. That was a complaint that we wanted to make sure we resolved.
ben - The FF / Mac combo isn’t just specific to that combination. We spotted the issue as computer monitors started to support much wider displays across much of the site. We are actively correcting that as we go. The three-legged route item, are you using the multi-city to force a round-trip to go through a specific airport or something else?
dmahon (and others) - That’s the exact issue that inspired me to write. My desire was not to justify, but provide a straight forward answer on that experience and why it happens. The math part was to explain the number of possible options when viewing the calendar. It’s the process of validating all those options against the rules that takes time (hence the last bullet point).
I do have a question. When you say that the calendar does not work, its the “disappearing” availability that is the problem and not the calendar itself. Is that correct?
August 2nd, 2008 at 12:08 am
I understand the explanation, but I still feel that the web site is misleading and doesn’t meet basic expectations. Example, a few weeks ago I searched for a business class award ticket from CVG to MUC or FCO in July. Initially, I was very pleased by the calendar results - it showed that SkySaver awards were available on multiple dates, including my desired outbound and return dates. However, when you clicked on the details, the “price” of the round trips was significantly higher than the 90,000 miles expected. As you know, a flight from CVG to Europe in business class that is more than 90,000 miles somehow involves a SkyChoice ticket in the routing.
Maybe my example is what the previous poster meant by “disappearing” availability.
In my opinion, the web site worked more accurately in the past, even if some of the other carriers weren’t included. I would like to see it further improved. If you can’t fix it, then an alternative suggestion would be to allow the user to enter a maximum “price” in miles and have the web site display only those results that match that “price”.
August 2nd, 2008 at 10:57 pm
I personally have experienced ALL of the problems people have mentioned previously, and those on flyertalk.com. I think a basic criteria of acceptance testing would be that the calendar is ACCURATE. It ticks me off to no end to be shown Skysaver options on the calendar then open the details and nothing appears.
We also need a way to specify the CABIN for each leg. For example, if I’m going TATL, I could easily live with coach for the domestic portion but really need business over the water. Right now there’s no easy way to combine the two cabins, other than searching on individual legs which is quite time consuming.
I would MUCH rather stare at a screen that says “please wait 90 seconds for results” IF the results are 99% accurate. Giving us half-baked results that are quite misleading should not be remotely acceptable.
The award calendar also needs to have added functionality that will more easily locate Skysaver awards. For example, I’d like to specify that I want to travel from SAN to Europe, approximately two week duration, with open jaws allowed. I’d then like to see a list of possible outbound and return flights. Currently I have to use ExpertFlyer or do individual searches to find this information and can take a matter of hours.
I realize this type of request would be processor intensive, but I’d gladly watch a 5 minute countdown timer to get ACCURATE results and also limit the number of searches over a period, say an hour, if your back-end hardware is reaching pre-determined performance thresholds.
It would also be nice to know the number of seats available when the results are returned, like they are on some travel sites or ExpertFlyer for the various award buckets.
August 3rd, 2008 at 4:17 pm
Sounds like someone needs to slap the word Beta onto the program
August 5th, 2008 at 9:37 pm
Drew, as others have stated….thanks for the post about the math behind the calendar. But to be frank with you, I think everyone would agree that the calendar is their most hated thing about the Delta website. Why don’t you just go over to aa.com and steal theirs? Much more easy to use.
Also, the functionality of the calendar (or lack thereof) makes it nearly impossible to customize your search. It’d be much easier to just call an agent.
As dmahon said, throw it away and start over. It sucks.
August 7th, 2008 at 8:10 am
I appreciate all the feedback. I am making sure to share it with as many as I can in the office. From reading all the comments you’ve also given me some ideas in regards to looking at the calendar differently.
The mention of beta is interesting as its something that we are actually working through the logistics to make a reality. Provided all the issues we know about are solvable, I’ll be able to do full post about it. Stay tuned.
August 15th, 2008 at 1:42 pm
Drew,
As someone who deals with similar computing issues for my company strategy, I respect and appreciate your analysis and explanation.
Aside from solution of throwing more money at equipment (which certainly might be wise, pending financial constraints), what about considering limiting the date range by default, clearly marking this to the user, and then providing an *option* to extend the range for those who explicitly request it. If 80% of your users are fine with the limited date range (I’m guessing that most travel is within a limited day span anyway) and only 20% choose the longer one, you could allocate more computing power just to handle those 20%.
Keep up the solid work!
August 15th, 2008 at 3:43 pm
The reduction of the date range was something that we investigated in regards to the design (though my memory is failing to recall what the reason was we went with the side by side). I’ve thrown some ideas around that are somewhat similar to what you are suggesting. One of those is to treat the calendar as a high level tool to select up to x number of date pairs and then search on those and only return back those date pairs that were successful in locating SkySaver pairs.
I think the biggest concern that would be raised is when you provide something and then take it away (or reduce it’s abilities) it upsets people. I’d feel the same way if someone took something away from me honestly.
August 15th, 2008 at 4:15 pm
What you described would be a superb option, and I agree with your sentiment about taking something away. A solution to that could be, similar to what I suggested earlier, providing a default search for most and an option for either a more powerful one or customized one (like you described) for those who choose it. Best of both worlds, and if done well, less total computig power needed.
August 20th, 2008 at 2:26 pm
Drew - sorry its taken me so long to get back (I was traveling alot and just now remembered to check the blog) - yes I’d agree the issue for me is the availability disappearing - the UI is OK, could use some design center work but fundamentally its sound.
I’m with yngdiego - I’d rather wait and get accurate results than get bad results fast. So if you code needs to be more complex, so be it.
BTW - why don’t you guys put some ideas in beta, get users to test them (maybe you do) I for one would be glad to test.
September 1st, 2008 at 6:18 pm
Drew - i just read all the posts. I recently made an international booking using the award calendar
First the pluses (few of which were being tossed out by users
1) The monthly view around the date of travel is awesome!!! It really lets a system be transparent as otherwise it will take lots of time with an operator on phone to figure out those dates!!!
2) The ability to switch between coach and business on same page without doing a whole new search is also fantastic!!
Now some suggestions/comments/problems
1) I agree with all of them that the search has a flow… shows skysaver awards with none being available that day when there are none. If what you say is true, it should not show up in repeat searches. It does - telling me something is wrong with algorithm
2) When you try to switch between award classes - it does get stuck (at times) in trying to retreive information and never finishes it
3) Multi city award travel - Shouldnt an option be to do multi city with class specification for each leg?
4) Multi airports in same city (such as Chicago, Houston - shouldnt there be an airport code that shows all options for airports in same city e.g. Hou = All airports in houston - some airlines do this) - this is different that searching nearby airports….
Finally here is a lengthy explaination for one bug I had to kind of bypass the system. I was flying from Houston (IAH or Hou) to Mumbai. This requires a connection from Houston to Atl to Mumbai. In addition to problems above, it did not show me all flight options for available award type. To further explain when I searched only for Hou-Atl - it did show me skysaver availability and ATL to BOM too.. but when i tried to do the entire booking as one shot - it was not an option. Sadly - it was not the optimal route and required longer layovers. I booked and had to call the skymiles number. Guess what - i was rite - it was available and they asked me to pony up $100 to reissue ticket with no change in miles as skysaver was available on a better connection. On one leg the work around was booking it as multi city travel. In fact i had to do multicity as Delta codes IAH and HOU as two different airpots and I really think that having one code that combines the two can really help travellers as it throws so many more options. More options for travellers can only mean more business for delta I would think as it probably gives them options for timing more in line with what they may be looking for.
I have rambled a bit here so please let me know if i can further explain any of this. Frankly, the fact that you have this and the actual team is interacting with customers is huge!!! Keep it up!!
September 8th, 2008 at 10:32 am
Thanks for the comment bomaab. That’s interesting in regards to a multi-city approach would work instead of the roundtrip. All this information is being looking at quite heavily right now so it is all very valuable input.
September 15th, 2008 at 8:52 pm
Drew - I do have one suggestion.
The award calendar does not let you go past 331 days. It makes it difficult/impossible to book long term travel due to that (if you are really trying to get ahead in line early). Would it be possible, say, to allow for the return flight to be booked per fare rules (I think most international flights are 4 months max?) or at least 45 days from start date of journey (which can be max of 331 days from today).
I can only see excellent customer benefits for this without any downside/loss for Delta and hope you would consider this.
I still did some random checking of award calendar availability today and it seems to have the same issues mentioned as above. So hopefully if the team is still looking in all this, perhaps they can consider the suggestion above.
Thanks
September 20th, 2008 at 10:45 am
One more question and also a suggestion. This is because I was checking ATL - IAH Award Fares in Jan 09. It showed the entire month as skysaver availability on First/Business Class.
Here is the problem with that. On a flgiht with zero first class seats booked, it still showed a higher level of skysaver miles!! Can you please explain this? Why is it demanding a higher tier of skymiles instead of the lowest skysaver?
Also with your introduction of 3 tier pricing just showing sky saver and skychoice has no meaning. Why not show the availability in 3 tiers, however you call it - For e.g. skysaver1, skysaver2, skychoice. Or even better drop the skysaver and ksychoice and call it Tier I, II and III.
This would save us a lot of time and grief, to be honest as it is really frustrating to pull up dates (and lots of them) only to see either no skysavers when it says there is or a much higher tier.
October 21st, 2008 at 12:43 pm
Can someone please tell me how to access the Award Calendar? Every time I try to book an award ticket for next August I get the same 3 flights with no options for low, med or high days even though I check the block that I am flexible and show me more dates. I am a Silver Medallion member and even check the block that I am one of the passengers, but still cannot get the calendar to work. All efforts to get Delta.com to respond have been fruitless.
Please HELP!!!!!
December 8th, 2008 at 3:02 pm
I tried using the new calendar yesterday - it doesn’t ‘match up’ with the award program. When searching for roundtrip business class flights from Atlanta to Europe, the ‘low’ level on the calendars calls for 100,000 sky miles each way; yet ‘low’ level on the program guidelines calls for 50,000 sky miles each way. I would assume that ‘low’ on the award calendar should correspond with ‘low’ for the program, etc.
December 11th, 2008 at 2:37 am
Delta’s new redemption plan is a cheap attempt to go back on its original promise that a customer can travel anywhere is the US for 25000 miles. I can still use 25000 miles on American Airlines for LAX-JFK round trips, but not so on Delta. I’m disappointed. I’m less likely to use Delta in the future as your miles are worth less than on other airlines.
January 24th, 2009 at 5:52 pm
Aloha
I got to this thread late =) But I was wondering why there’s not a more manual option for searching for flights, if the easy way isn’t providing the most accurate information. I’m a Delta junkie I guess you can say, and I could easily route myself anywhere in the network- just give the the schedule book and I can figure it out (I should be a travel agent… but alas, the internet makes that impossible).
It would be nice to be able to research each leg, on each flight, to see which ones have the cheapest seats or best timing… since award availability is always going to take the higher tier, you could split travel dates by a day or two to save some 30k to 40k miles!
You did mention the amount of processing power required to provide instantaneous accurate results. A suggestion: allow for results to be emailed at a later date. Say if you are searching a little bit farther ahead, say 6 months or more, you can present the system a query for a trip with date ranges and mileage you’d be willing to part with for that, if you need more specific routing, you could add that… the computer will the process that request more more touroughly and email the user back a more comprehensive list of possible trips. You select one, it checks back to make sure its still available (maybe medallion members can have their most relevant search result held for 24hrs?) and you can book it. But then the computer would be searching every combination and reporting them back to the user in an email- so if one’s no longer useable, just click the second link.
Just an idea. I’m sure there’s times your servers aren’t working overtime, so you can just use that time.