Forum Moderators: phranque
I figure the answer is either that they are so overwhelmed with queries that the database is always playing catchup, or they are purposely doing this to make it more difficult for 3rd parties to mine data from their sites.
I found a site that says there were about 50k flights/day in 2000. Multiply that by 5 and you still only have 250,000 flights per day. That isn't much to look up and even with connections it shouldn't be an inordinate amount of lookups.
I was looking to travel this summer and trips were pricey where I wanted to go. I tried looking at nearby cities or alternative dates and it seemed to take forever.
Anyway, does anyone know why travel sites make you wait for a result?
Airfares (and availability) change constantly and I don't know of any sites that store the data on their servers. Most likely, when you go to a travel site and request an airfare, the site has to make a call through their taps into the airline reservations systems mainframes (or go through a 3rd party interface).
Also, you have to realize that the DB structure is not simple. If you do a search for flights from L.A. to New York, your query is going to return non-stop L.A.-New York flights; 1-stop flights that could go through Las Vegas, Denver, Atlanta, St. Louis, Chicago, etc...; 2-stop flights; plane changes, etc. And that's if you specify which airport to use at each end. What if you specified the flexibility of using Long Beach or John Wayne Airport instead of LAX and Newark or JFK instead of La Guardia?
So after all the possible routes have been determined, the system has to check availability and pricing for each leg along the way.
A lot of the complication of airline pricing arises from "revenue management," where airlines use restrictions on tickets (e.g. requiring a Saturday night stay or purchase of a round trip) to segregate price-insensitive passengers from price-sensitive passengers. All airlines and intercity trains and buses do this. A low-cost airline (e.g. Ryanair or Southwest) might sell seats on a plane in a dozen different price "buckets." A traditional network carrier (e.g. Delta or Qantas) might have three times that many. So all the fare rules for all those buckets need to be scanned to ensure that your request meets the restrictions applied to the fare and the fare class.
Add connections, and it becomes more complicated. United may sell you a cheap "L" fare for LAX-ORD if you buy a connection onto a more profitable flight, say ORD-LHR as a "Q" fare. But they wouldn't want to sell the "L" fare to someone who's just going to ORD, lest that passenger take a seat away from the more profitable passenger, so they'll hold out for a while and only offer a more expensive, say, "K" fare. So if you just list out the available fares, you'll see the cheapo, but you won't see inventory for it without the connection.
These buckets are changing constantly, as the pricing triggers in the mainframe fire— sell 20 "H" and 10 "W," but if you sell 10 "H" tickets at once then reduce "W" inventory to 5 and up remaining "H" inventory to "15," unless it's a holiday weekend in a month that ends in "R," etc.
And, of course, you're not just looking at one day. Flights are sold up to 330 days in advance, and especially when you're looking for the lowest-cost option, you're searching a lot of extra permutations of departure dates and times.