@Animal Mother and @Safety brought up Jim Crow and businesses denying service to gay/black people on another thread.
Personally, I don't think businesses should be forced to serve people they don't want to serve. Why? Well, why would you want to patronize a business that hates you? You're not punishing them by forcing them to serve you, you're making them rich. If I walk into a business and they tell me, "We don't serve your kind here," I'm going to do this as I walk out:
And then find me a business that serves "my kind." Seriously, why would I want to give my money to a bigot? Sure, I get some revenge satisfaction in them being forced to serve me, but that's ALL I get. Meanwhile, they get my hard-earned money. They benefit from that arrangement in the end.