Just a side note about the rude guest at dinner...
It may be a generational thing, but people are no longer standing idle while they watch a guest berate an employee. Interject. Just be firm and calm. “Sir, you're being inappropriate.” If he snaps back, you can say, “I’m sorry you got the wrong drink. I’m sure you would agree we’d all like to move on and enjoy our dinner.”
It's the same as my elementary school-aged kids. If they see someone bullying another kid, they're supposed to speak up.