1. Let them speak their mind first
It's pretty much useless trying to debate your client mid-point, and talking over them would obviously be quite rude. People tend to get way more receptive when they really feel like you're listening to what they're trying to say, and your response is actually more than an excuse.
2. Empathy is key
If you make an effort to accept the client's point of view, and verbally express the fact that, no matter who's in the wrong, you understand their frustration, and feel sorry that the situation has occurred, making your customer uncomfortable.
You'd be able to get to the logical conclusion way easier, when their feelings are accepted as legitimate, and you're not defensive.
3. Pretend you're not alone
Imagine that this interaction is watched by the audience of all of your clientele at once. Would you be saying the things you're gravitating towards at the moment? More likely not - since this conversation will directly reflect on the opinions of your other customers. It's a very useful tactic to prevent you from saying something that could hurt your reputation in the long run.
4. It's not personal
Try and not take whatever is being said to heart - the client doesn't actually know you personally, and every insult is not directly aimed at you. They're probably just venting, since they've had a difficult week, and this situation pushed them over the edge. Stay calm and collected, and steer back to business, avoiding getting personal.
5. Address the situation
Even if it's something petty, and you really can't do that much about the situation, try to come up with a way to soften the impact - either a free service, an inside investigation or a follow-up of how you're trying to solve it. The client will appreciate the fact that you're at least putting your best into the problem.
Wishing you much patience! And contact our VIP 24/7 customer service in case of any related issues.