First, you are using the term "barter", which means a direct exchange of goods or services for goods or services without using money as a medium of exchange, when I think you mean "haggle", which means to engage in negotiation over price. Do I go into local businesses here in Texas and haggle over prices? Sometimes! And often I have saved a lot of money by doing so. And I have haggled over price with Hotels, both in Cozumel and in the U.S. and Europe. When I used to fly down to Coz without any reservations, I would ofter go to the small hotels downtown, ask if they had a room for 3, 4 or 5 nights, however long I was staying, and ask how much. I would then make a counteroffer and haggle until agreement was reached or I moved on to another hotel. A hotel room for a given night is what's called a perishable good - if the room isn't rented for that night, the opportunity to rent it for that night will be lost forever. So the hotelier has to make a decision - do I accept less than the asking price, but more than enough to cover my variable costs (typically, only the cost of maid service and marginal utility costs for AC for one day), and get something extra for the room, or run the risk that it sits empty and get nothing? At the old Casa Maya Hotel on Calle Cinco Sur, I could typically get 4 nights at $30 or $35 a night, provided I paid up front in cash, when the asking price was $45 a night. I learned long ago that it never hurts to ask, the worst that can happen is that someone says no. And if rejection really bothered me, I'd have NEVER gotten a date as a teenager! So, cultural or not, I don't know why locals would be bothered or offended by Americans trying to haggle. Nearly every Texan who goes agross the border to Matamoros or Nuevo Laredo is taught at an early age that haggling over price is expected. And when they find that that lovely silver bracelet or hand made wallet can be had for less than half of the original asking price from the street vendor, the lesson is learned. If a local doesn't want to haggle, he or she can simply say "No, Senor[ita], the price is _____ Pesos. I will not take less." And the American is then free to decide to pay the asking price or move on. Different strokes for different folks, I guess. But I'll continue to haggle whenever I think there's a reasonable chance to save some money. And I won't be offended if the person on the other side says "No. The price I quoted you is the price. Take it or leave it."