A recent complaint from a small hotel operator which was posted on hacker news made me decide to talk about the whole process of reserving a room in a hotel.
I work for an OTA (which stands for online travel aggregator) which provides flight, hotel and car and cruise reservations. The major players are Priceline, Expedia, Orbitz and Travelocity. These own many other familiar brands (like lastminute.com is owned by Travelocity, and booking.com is owned by Priceline); plus there are many smaller brands which target niche markets and sometimes provide booking through a major player. Other companies like Kayak and Tripadvisor provide information but handle booking through others as well.
In the U.S. alone there are around 400,000 hotels, motels, lodges and bed&breakfasts alone. Worldwide I have no idea but I am sure there are millions of places to stay. All of them want customers to fill their rooms. Many of them have access to computerized reservation systems but many still operate on phone calls and fax machines. The challenge as an OTA is how to make this all work. It's pretty crazy.
The average hotel in the U.S. is around 200 rooms. These are available for 365 days a year, so the total room-nights is around 73,000 per year. Each one is a potential reservation. Hotels generally average around 70% occupancy for tonight, which is the only night that really matters, the one where someone is occupying a room. Unlike people selling widgets, who can make fewer widgets or more depending on demand, hotels have a fixed supply. An empty room brings in nothing. A room with guests paying anything is better than an empty room. So the challenge is getting people to sleep in your beds. Over a years' time you need a lot of those people to make it work (that "average" hotel needs 50,000).
The difficulty with making this work from an OTA's perspective is how to allow people to make reservations at, for example, 200,000 properties over the next year. That is 14 billion potential room nights. Now the properties may be part of a large chain, like Marriot, that has a massive reservation system, or a mom and pop motor court operating with a fax machine. Each hotel has a certain number of rooms of different types (queen, king, etc) and these types may be broken down into different rates based on any number of parameters (free breakfast, mobile special rates, multi-night discounts, etc.). Somehow the details have to wind up at the OTA so it can provide them to potential customers. This is where ugly happens.
Note that even with fancy reservations systems, ultimately an individual hotel manager is responsible for all the data and even the rates. So each one of those properties has someone who decides what rates there will be, and how often they can change. Even at the large chains, individual managers may ignore or trump the chain's rules in order to maximize their potential sales. Now OTA's have what are generally called market managers (either employees or contractors), whose job it is to deal with the hotels, usually directly, to negotiate special rates or deals or simply sign them up. Some hotels and chains are exclusive to one OTA but many make deals with all of them. Sometimes the deals are complicated. OTA's can either negotiate a discount and sell the rooms themselves and collect the money, then pay the hotel or chain; sometimes they negotiate a commission and get paid later when the guest pays their bill after their stay; sometimes they will reserve actual rooms at a discount and hope to sell them all. The later is more risky for the OTA since you can get stuck with the rooms but you have the most flexibility on pricing.
In any case the hotel is either paid immediately on the guest making the reservation (which is often preferable) or they have to wait until the end of the stay and then send the commission later (usually much later). Both have advantages but hotels generally like to get money as soon as possible, as does the OTA. But like all contracted things the reality might be complicated.
Now if you decide you would rather avoid the OTA (as many of the comments to that posting seems to indicate) you have to realize that is not so cut and dried either. Often a direct hotel reservation number may not go to the individual hotel but to a chain reservation line, which is unlikely to give you any special pricing. Often hotels are franchises and are restricted in what they can offer, usually to avoid having related franchises try to kill each other in a local market. Hotels know people hope to get better deals direct and might sell you a room at what you imagine is a discount, except it isn't. Comparing rates between OTA's, chains and comparison sites is always a good idea for hotels (but rarely for flights, that's a much uglier can of worms for another post).
So how does a hotel search work? Firstly, OTAs have to get the hotel descriptions and room type information and prices from the hotels. This can range from a real-time connection to a full reservation system which is used by all the chain's properties all the way to a fax machine and a daily or even weekly update. Availability, which is what we call what rooms are available for a particular date or date range, is always based on cached data. If we had to query external systems to get information for searches we would never return anything. Like any cached system, this creates the possibility for stale data. The staleness can be both availability (we say the hotel has a room) and price (we tell you it's $100). For searching to work we have to ask the hotel's system periodically for updates or even wait on a weekly fax, and then update the caches. Once you have done a search and have chosen a potential hotel you are shown the available room types and rates, which can range from one type/rate to dozens at some properties. You then pick a room and express a desire to possibly book it. At this point the OTA system will query the realtime hotel system if available, or the "fax cache" and see if the room is actually available and what the current rate is. Now we will either tell you the room is not really available or note the real price. Sometimes if the room is not available you can choose a different room; sometimes there are no rooms available at all. It's also possible the hotel has rooms but is not making them available to the OTA.
Now you go ahead and either pay for the reservation or at least hold it (depending on the three types I mentioned above). At this point, assuming the payment is approved if we are collecting the money, we call the realtime system again and request an actual reservation, or at least mark the "fax cache" to fax the data. At this point it can still fail as perhaps the last room was reserved while you were filling out the form. The hotel system can also fail, or data connections fail, and you might not get the room either. We generally don't consider the reservation assured unless the hotel system tells us. Of course with the mom and pop hotel the reservation might get lost or they had no rooms available or any number of problems might greet you when you show up. Always a good idea to call ahead and confirm.
Once you have your reservation you assume everything will be smooth and it usually is. Booking a hotel via an OTA usually means there is a hotel reservation number that you will receive in the confirmation or perhaps in a later email. Still, even if a major hotel chain gives you one it's still possible for the local hotel to lose things or perhaps their local system crashed or their inventory is not exactly up to date. Hotels can also have fires and other issues which might make a reservation become unavailable.
Now the price you pay is clearly a highly variable thing. We try to negotiate with hotels for special rates; sometimes they might favor one OTA over another. Of course hotels are competing with each other. Even franchise or chain hotels will often ignore their franchise or chain rules and price things themselves. It's a complicated game of trying to get more people in their beds. Remember a paying customer at any rate is better than an empty room. Managers will do almost anything to improve their bookings.
Hotels are the only thing (maybe cruises) where an OTA makes real money. Cars and flights pay very little and the price differences there are fairly minimal. Billions of room nights make for an appealing marketplace but also a challenging one to manage. Even a small hotel can make a lot of money if it can attract enough customers, since the supply is fixed and their cost is basically fixed as well the difference is filling the rooms. OTA's can make a lot of money as well but at the cost of a complicated mass of connected systems of various levels of quality. Now add in multiple countries with all sorts of different rules, mix in contracted market managers who may have their own agendas (which is what it sounds like in Cancun) and hotels desperate to fill their rooms plus all the competing interests like OTA's trying to book your reservations and you have a volatile mix of players.
I work on the customer end (mobile) so some of this is way out of my area but I've learned enough about the back end to understand how complicated it can be.
This is nothing at all compared to flights, which is mighty ugly stuff. But that's another post.