If you are looking for a software architecture tutorial, you are reading a wrong blog.

Here we will discuss the original face-to-face interaction between the Client, which is a restaurant visitor, and the Server, which is a restaurant wait staff.

Client’s specifications

-         Hungry

-         Thirsty

-         Lazy (does not like cooking, serving and cleaning dishes)

-         Rich (options: poor, cheap)

-         Service consumer

Server’s specifications

-         Human element behind the food-tray

-         Shuttle connection between the kitchen and sitting area

-         Underpaid and overworked

-         Good-looking and welcoming

-         Tour guide (inside the restaurant)

-         Interpreter (decodes the menu into native/human language)

-         Stenographer (writes orders in shorthand)

-         Problem solver

-         Adviser

-         Bill-giver/money receiver

-         Tip recipient

-         Stripper (strips client out of money)

-         Food server

-         Service provider

Client’s message: I'm hungry and thirsty! Bread, water, and menus - NOW! Aggravation increases with hunger and accordingly tip decreases. Don't bring bread, then water 10 minutes later, then menus 10 minutes after that. Happy customer = bread + water + menu NOW! If you refill my drink before the appetizer arrives, I leave. If two drinks are finished before the entree, I leave.

Server’s message: I am here for your most enjoyable eating experience. I’ll do my best to make you drunk and fat. I’ll watch you with the tenderest emotion while you are stuffing yourself with the free bread. I’ll talk to you with a big cheesy smile and enthusiast inflection. I will start you off with our signature drink. I’ll wait until you come over the sticker shock and get ready to order. Still not ready? I’ll wait more (I am a waiter after all). Just don’t complain to me about the menu prices – I don’t set them. No, sir, there is no extra zeros. No, Madam, it is not a gold fish, as in made of gold. Yes, folks, the economy is tough. I feel your pain. Just don’t be rude to me. Remember: a nice person, who is rude to the waiter, is not a nice person. If you plan on coming back there, it's in your best interests to treat the people who work there well. You don't crap where you eat.

Client’s message: I really appreciate when you are taking good care of me. Just don’t go too far. You can annoy the hell out of me while I am trying to eat. If I am not asking for you, just leave me alone. Don't interrupt me. I really appreciate you asking how the food is and is everything all right. Just don't butt in with the question when I'm in the middle of a sentence, talking to my co-diners. Believe it or not, my conversation may be more important than your question.

Don't ask me how I am doing. At least - not every five minutes. Would you like me to call you to my table just to ask how you are? Every five minutes? Relax, I am fine. Otherwise, I would’ve let you know.

Stop asking "Are you still working on that?"  It's not some pile I'm trying to remove! If I am not eating it, I may be enjoying the smell or the view.

Let’s say, I eat fast, while my girlfriend/boyfriend/agent/boss is masticating each bite for half an hour. Don’t grab my plate from under me and offer her/him/them a box while they are still chomping the third bite and holding the fourth on the fork.

Admit that you can make a mistake. I told you I am a vegetarian – you brought me meat. I warned you that peanuts can kill me – you served me a dish with peanuts. If I survive, I’ll complain/scream/sue you. Don’t give me an “Ooohhhkkkaaay” look. Apologize. If I survive, I may forgive you.

Just apologize. Don't blame the kitchen staff, the management or the Government. I'm not tipping them, I'm tipping you. To me, you ARE the restaurant, and so the problem is yours: deal with it.

Server’s message: I am trying to stick to the ‘Customer is always right’ guideline. But sometimes it is so wrong. It is wrong for the client to blame me for not-waiter-related issues. Food is cooked not up to your liking – I am not a chef, taxes on your bill are indecently high - do I look like the governor? Why are you mad at me?

I can also get mad. When I am standing and waiting for your order, and you are on the phone. When you ask me to come and take your order, and can’t make up your mind for hours. You would not believe, but I can have some other things to do. Yes, I am a waiter, but I wait ON you, not FOR you.

I can get really mad when you are rude and treat me like crap. You don’t want me to be mad. You’ve heard the horror stories of angry waiter peeing in your soup. Subconsciously, you feel safer with waitresses due to their anatomical limitations. But nothing can stop an angry waitress from adding other poisonous stuff to your meal.

You better not be rude. Or just apologize. And I may forgive you.

Client’s message: Some like it hot. Both the food and the server. A bunch of hot waiters lined up on a stage in nothing but aprons and ties, a bouquet of  hot waitresses in skirts up-to-there and tight tops (go Hooters!) can make my dining experience way more enjoyable. Though it can take my mind off the food consumption.

Server’s message: Client can’t: flirt with me inappropriately, call me ‘Babe’ or ‘Sweet Buns’ or ‘Stud Muffin’, grab my body parts or demand my phone number. I can lose my job, and your tip will hardly make up for a severance pay.

Client can: build a decent business relationship with server. “Check, please” will be a good start. That’s my favorite part of your meal. I know, that’s the part, most clients could do without. But that’s when I get paid. Plates cleared, dessert and coffee gone, twenty customers waiting by the front door for the table. “Check, please”. It’s my pleasure to serve you with the bill. You know what to do. Tip me. Fifteen percent and up – could be a good start. Come again. We can develop good client-server relationship. Or friendship. Or more.