Page is a not externally linkable
choster - 9:00 pm on Jan 12, 2010 (gmt 0)
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.
A "flight" in the business sense is something different from a "flight" in the operational sense, so the number of the latter (i.e. a plane going from point A to point B) is almost meaningless.