Goodness

At 7:04, they got up, put their coats on and said they were leaving because it had taken too long. The server asked me what she should do (because I was in the kitchen helping them get food out) I told her to void their food, but that they needed to pay for their drinks and appetizer. it had only been a half hour and they hadn't mentioned they were in a hurry until they got their salads. Was it unreasonable of me to make them pay for their drinks and appetizers?
At this point, the man involved became irate, started yelling at the server telling her it was ridiculous it had taken so long, and proceeded to crumple up his credit card reciept and throw it in her face....literally.
How long is too long to wait for dinner at an establishment like ours? With an appetizer and two-course meal, what is unreasonable? Their ticket time for food, at 6:27 means that their salads hit the table approximately ten minutes later...which would be 6:37. They ate their salads, which takes a reasonable diner fifteen minutes, tops, and and 7:04 is when they decided they had waited too long and needed to leave.
In the meantime, three of the six entrees were plated and ready to go to the table. After he paid, (and threw the receipt), he walked into the hallway, where he continued in his tantrum.
Although half of me wants to say, forget it...after the way he acted, I don't know that I want him to come back, but I know I need to rectify this situation. When I finally got the opportunity to talk to him, he was so angry, and frustrated, I kindly asked him for his business card or a phone number so I could call him and talk to him at a better time. He gave me a business card, and I plan on writing him a letter.
Sorry for the rant, but I don't have this happen often, and when it does, it makes me a mess!
Ashley