If customers already have coinbase or any third party wallet they can scan it to pay. It would be easier to scan and pay from what they already have on their phone.
If they already have cash, it would be easier to pay with cash. Or if they have a credit card, it's easier to pay with their credit card. You seem to miss the point of your own topic: if you want customers to pay with Bitcoin, use your own Bitcoin wallet.
Physical wallet/ledger for storing bitcoin received from customers.
So you meant hardware wallets. That means you'll have to connect your hardware wallet to a computer (or mobile) to show them an address (or QR-code). It also means you're exposing your hardware wallet to many people, and someone may hit you on the head for it.
It's much better to use Electrum as a watch-only wallet for your hardware wallet. That allows you to create a new address for each transaction, and funds can't be moved from the system you have in your shop. It's still not perfect though: Electrum will show your total balance by default, even on the "Receive" tab.
It seems you're actually don't know what you're talking about?
Correct. OP shouldn't be advising people what to do.