The same way its done in countries like mine under Hyperinflation: The prices changes all the time and has a limit, which could be a week, a day, or some hours. We live in the digital age, your menu could show price fluctuations of everything you sell in your shop all the time.
But some people are nice and are willing to keep their word longer, ie, that whole day no matter what.
Bitpay actually gives you just 15 minutes, that is a bit rude and extreme, but its a valid example.
I hope the cafe owner puts a big sign explaining he can't accept bitcoin payments until its legalized. Because this question is going to come non-stop.