I definitely have more research to do on this topic lol
I did do a decent amount of googling before posting, but most search results were simply a list of wallets that have HD capabilities, offering no explanation on how to actually work an HD wallet.
Thank you for the reply, I am off to do more Googling now
Most wallet softwares do number 1 automatically (as that's the initial design that everyone gets a new address for every new transaction).
As pooya says, you can do it with separate wallets per till and separate public/private keys too so that it is more secure.
In addition to this, you might want to wait for 1 or 2 confirmations (or treat it like an international transaction and get people to sign something when they pay with bitcoin and show proof of ID to let them have an unconfirmed transaction that you can go back and get later - this is often done with international visa debit cards for people who go to different countries within the EU if a currency conversion is needed).
You'll probably want deposits to go in in legacy addresses too, native segwit addresses might not be compatible with every wallet.
A legacy address begins with a 1.
A segwit address begins with a 3.
A native segwit address begins with a bc1.