The hotel prices quoted in my Oaxaca guide [1] on this website are rack rates: the maximum tariff, exclusive of packages and promotions, that you would pay if you walked in off the street and rented an unreserved room for one day. Savvy travelers seldom pay the maximum. Since most hotel clerks will tell you that their hotel doesn’t give discounts (discuentos), it’s best not to use that forbidden word.
Instead, always inquire if there are any promotions or packages (promociones o paquetes, proh-moh-see-OH-nays oh pah-KAY-tays). At any time other than the high seasons, you can generally bargain for a lowered price. Don’t be shy; if the hotel asking price is $60, offer $40. At best, you’ll get what you want; at worst, you can always take your business elsewhere.
Often discounts (Shh!) come as one or two free days for a one-week stay. Promotional packages available during slack seasons sometimes include free extras, such as breakfast, a car rental, a boat tour, or a sports rental. A travel agent and/or Internet travel site can be of great help in shopping around for such bargains.
You will virtually always save money if you deal in pesos only. Insist on booking your lodging for an agreed price in pesos and paying the resulting hotel bill in pesos, rather than dollars. The reason is that dollar rates quoted by hotels are often based on the hotel desk exchange rate, which is sometimes as much as 10 percent less favorable than the bank exchange rate. For example, if the desk clerk tells you your hotel bill is $1,000, instead of handing over the dollars, ask him or her how much it is in pesos. Using the desk conversion rate, the clerk might say something like 10,000 pesos (considerably less than the 11,000 pesos that the bank might give for your $1,000). Pay the 10,000 pesos or have the clerk mark 10,000 pesos on your credit card slip, and save yourself $90.
Links:
[1] http://www.moon.com/destinations/oaxaca/discover-oaxaca