Personally I think all private businesses and owners of private buildings in general should be allowed to have complete control over entry to their building, and power to expel from the premises anyone whom they choose for any reason. The exception to this is if they are running an essential service. For example if you run the only cafe in a small town in the Scottish highlands, it's discriminatory to make people travel to another town many miles away if they want to eat out. But otherwise, discrimination goes both ways: if business owners discriminate against certain groups, then those groups can discriminate back by giving their money to other businesses instead. That's the way it should be: businesses should survive or fail based on their ability to attract customers, they shouldn't be forced into serving customers for no good reason.