"First of all let me say it was never my intention to upset you"
"Now let me write down all the details so I can help you"
This showed professionalism, care and patience.
It never failed. Because let's face it.... The person wants to let off steam. Not necessarily at you, at anyone. You just happen to be close. So don't take it personally.
Now here is another important part. When they are telling you what they are upset about, nod and agree. Don't agree that your busines is at fault. Agree that it would be frustrating. Even say, "That would frustrate me".
Oh, and never ever ever interrupt. If they stop talking (or shouting) patiently ask, "Is there more?"
Your job is not to defend yourself (yet).
It may be that the parent of customer is wrong, but that is not the point right now. It is only when the person feels they have been heard that you can respond. It may be that you need time to gather more information or ask for an owner to decide on the next step. So politely assure him/her that you will get back to them.
THEN - always always follow up.
Now practice this process with staff.
1) "First of all let me say it was never my intention to upset you"
2) "Now let me write down all the details so I can help you"
4) "Is there more?"
5) Follow up
Credit to Tom Hopkins for this simple script.