Another consideration may be your accounting strategy. You could generate an address per customer in one business, while an address per transaction makes more sense in another.
I would think a restaurant could work fine with a basic QR at the register. If you do carry-out you may also want to have the address handy on the website. Using just the address like this means employees need little training to transact and are not themselves handling bitcoins. A customer pays to the provided address, the waitress checks a site blockexplorer.com to see the transaction. The wallet itself does not have to be online. It can be sitting in your safe deposit box.