Wait for enough confirmations where the payment becomes unlikely to reverse, which of course takes time and that's the more practical blocker for regular shops to accept Bitcoin.
If it's raw bitcoin, they couldn't even be sure that the transaction is a valid one (that the wallet has the funds in the first place, not even talking about double spending). I suspect they use some kind of third party like Coinbase, and that there aren't really using bitcoin at all (and just use Coinbase as a bank) but I'm not sure.
But even without RBF, there's nothing stopping you from spending the same coins online and in a restaurant at the same time. I'm not even sure if a restaurant would know that you and you're friend aren't actually spending the same money twice for your respective meals.
For a list of transactions trying to double spend BCH and failing at it, see this https://doublespend.cash/