1. Requirements Gathering - rere252/tarkvteh14r6 GitHub Wiki
-
User roles: Waiters, head waiter, manager, administration, marketing manager, kitchen staff, warehouse employees.
-
What different user group activities must your software support?
Waiters:
-
Must the clients pay for the order immediately after its entered to the system or can the bill be left open?
A: We should be able to leave bills open. -
Must an open bill have a limit? If so, will it depend on the client? Can the limit be increased if client is using an accepted credit card?
A: The method of payment doesn’t matter. There should be an option to set the open bill limit for new customers, regulars should not have an open bill limit. -
Can the bill be divided into several bills later?
A: Yes. -
Relatedly, should it be possible to combine open bills?
A: It should be possible to combine open bills. -
Should you be able to hand the bill over to other waiters?
A: No. -
In which methods have the customers requested to pay for the order (keeping out the silly stuff)?
A: Cash, debit cards, credit cards, vouchers/gift certificates. -
Should the POS enable giving some bills a discount? If so, then what kind of and to whom (what are the requirements: client card, isic, club one, partnerkaart, säästukaart+,... )?
A: The POS should enable giving some bills a discount (one discount option per bill). It would be nice if we could choose the discount method from a list. The manager should be able to edit the discount methods. -
Should the waiters be able to change the price of any products in the POS?
A: Yes, but the manager should be able to see the modifications committed by the employees. -
Should a waiter be able to revoke a bill?
A: Yes, it is sometimes necessary to revoke a bill. However, to avoid misunderstandings, revoking a bill should leave behind information on who did it, when, and why (a comment box, perhaps). -
Should every waiter have a separate user account (to see who sold the most products each day and maybe give bonuses based on that)?
A: Yes we should, that way each of us is responsible for our own transactions. -
Should the POS calculate the return money if the client pays in cash?
A: Yes. -
If bills can be left open, then should there be a limit to the total number of open bills?
A: No. -
If multiple bills can be left open at the same time, then should there be an easy way to distinguish them (short attribute)?
A: Yes, there should be a function to give a bill an attribute (for example: the customer's name, colour of clothing etc.) -
Should the POS send the food orders directly to the kitchen?
A: Yes. -
Should it be possible to add some comments/special requests to the order (cooked medium rare, without sauce, ...)?
A: Yes. -
How should the products be categorized? (Foods, drinks, alcohol, soft drinks, main courses, desserts, ...) How specifically?
A: The manager should be able to create his/her own product categories and add/remove products as they deem necessary. -
Should there be a general search engine for product info?
A: Yes there should. Looking up products is a feature we have to use often, especially when taking orders, so it would be nice if the function was easily accessible from anywhere. -
Should there be quick access for the most ordered items?
A: Yes, that would be nice. Perhaps the most commonly ordered products could just be listed first. -
Do you need to be able to set the priority of an order?
A: We should have the option to assign orders into three different priority categories. -
Are there any conditions in which case the system should automatically adjust an order’s priority?
A: When the order has not been fulfilled in a certain amount of time, in more than half an hour, perhaps, it should receive a higher priority. -
Should there be a separate option for the customer to add a desired delivery time for each item (dessert 30min after the main course etc.) or will the regular comment box suffice?
A: It’s not a request we get often so the regular comment box should suffice. -
What do you usually do in a situation where customer leaves without paying the bill?
A: The waiter of that table pays it out of their tips.
Head waiter:
-
Should you be able to revoke a bill?
A: Yes, there should be a function for that, but it must also record of who revoked the bill and for what reason. -
Do you need to be able to change the price of products in the POS?
A: Yes, I do. -
Should the POS keep track of how much cash there is/should be in the cash register?
A: Yes, it should. -
Would you like to have the possibility of receiving a notification if a waiter doesn’t clock in on time?
A: Yes, I would. -
Do you need to have an overview of the waiters who are currently clocked in?
A: Yes, I do, it’s actually quite necessary. -
Should you be able to add products into the POS?
A: There have been some occurrences when I’ve had to do it. -
Would you like to be able to send messages (e-mails) to waiters through the POS?
A: I imagine it would come in handy in some situations. -
Do you need to have an overview of the cash registers’ states over a longer period of time or are just one day's initial and end states necessary?
A: It would be good to have an overview of cash registers’ states at the end of my shift. (3 day overview). -
If someone buys alcohol, should there be a notification to ask if the person who is buying it is over 18 (to show some identification)?
A: Well, it is illegal to sell alcohol to the underaged, and we are a beer restaurant… I suppose there could be a notification, as long as it isn’t too overwhelming. -
If someone breaks something (glass, plate), should POS keep a track of it?
A: No, it would take too much time and is unnecessary. -
Should waiters be able to use POS for reservations?
A: _No, booking reservations is something only the manager has authority to do. _ -
Who has the authority to make new user accounts?
A: The manager has that authority. -
Do you need to be able to assign waiters to sections of the restaurant, or sets of tables?
A: Yes, but I can just tell the waiters that. So this function isn’t necessary. -
Do you need to know what tables are served by which waiters?
A: Yes, that would be nice, but also not necessary to have that function in the POS. -
What do customers use as their client cards? Do they have special cards for them or can they use their ID card?
A: We only have custom magnet cards for our clients (so we can process the cards more easily and quicker). -
Is there a set amount of money in the cash register every morning or does the amount change? If it does then who changes it?
A: There is a set amount every morning. -
If customers use their client cards, do they also collect some bonus points?
A: No, not bonus points exactly. But we do have a loyalty program, so when the client uses their card to buy beer, it should be automatically counted and register when the client should get the 50% discount on their 10th beer. -
If an employee wants to buy something, then should it be possible to take the amount out of their paycheck?
A: Yes. -
Should there be a function in the POS to enable you to send a bill to the clients e-mail?
A: Yes, that would come in handy with the regular patrons. -
Should POS allow to change discount percentages?
A: Yes, but only the manager should be able to do it.
Manager:
-
Are you going to be accepting any special orders, or do you only take orders for items from the menu?
A: We only provide the possibility of ordering from the menu. -
Should the POS keep track of the quantities of beer/products in stock?
A: Yes, there should be an overview of the number of items in stock. -
What kind of info do you need to be able store about a product (name, ingredients, expiry dates etc.)?
A: Product info should contain it’s name, stock amount, expiry dates (for products that don’t expire quickly - not for milk, for example), ingredient info (if available). -
Should the POS provide notifications about product expiration or maybe even automatically lower the price of products that are about to expire?
A: If the product is about to expire, it should alert me and give me the option to set a new price for the item. -
Does the system need to provide access to the stock info of nearby restaurants (in case you are in short supply of something, but the other restaurant has a huge supply of it, so instead of ordering from the supplier, you could get the items from the other restaurant)?
A: Yes, it would be helpful if we could see the stock info of other restaurants. -
Should the POS keep track of the employees (clock in, sales stats etc)?
A: Yes, it should keep track of actions committed by the employees like changing prices, adding new products, sale stats and clock-in info. Clock-in/out info should also be made available for the head waiter. -
Should the POS provide warnings when stock is running low?
A: Yes, it should give out a notification about it - it would make things easier. -
Should the POS have the functionality to automatically order certain supplies (user specified) when they are running low?
A: It would be a nice feature to have, but it is not a necessity. -
Should the POS provide sales reports? If yes, what kind of info should they provide?
A: The sales report should give a quick overview of the sales in general (if I need to see detailed info about a transaction I should be able to check it from the sales database (the same info you would see on a receipt)). The overview should contain info about the total amounts of sold products in the timeframe set by the user. -
What forms of payment should the POS accept? Cash, debit, credit, checks?
A: _We are accepting cash, debit and credit cards and also gift certificates and vouchers. _ -
Are there different customer groups?
A: There are three different customer groups: standard customers, customers who have our client card, and our employees. -
Should the POS be able to provide different prices for different customer groups? Which groups are there?
A: Yes, the groups I mentioned before. I need to be able to change the discount percentages for the groups myself. -
What kind of info does the POS need to register when a sale is made?
A: Receipt’s number, the names, amounts, prices (and totals for products of the same kind); the method of payment, number of the register, the date and time, the person’s name who is responsible for the sale, customer’s name if provided (employee, client card owner), beer count (for the loyalty program). -
How long should this info remain available / be stored for? (For as long as it takes to print a check? A month? A year? Indefinitely?)
A: As long as physically possible. -
Does the POS need to provide pricing info of other restaurants in the chain?
A: Yes, for the restaurants in the same country as ours. We should also be able to change the prices in the mentioned restaurants if the permission is granted, but the system should keep track of who changed the prices. -
Are the employees bound to one restaurant or are they interchangeable (ie. if you are short on staff you could ask for some help from other nearby restaurants)?
A: The employees are typically bound to a specific restaurant, but there may be occasions where they need to help out at another restaurant and therefore be able to log in there. Being able to send an e-mail to other restaurants’ managers and head waiters regarding the subject of short staff should suffice our needs. -
What about temporary staff? Does the system have to support part-time staff hired for the summer/holiday season/big events?
A: Temporary staff should be treated the same way as regular staff, except for the waiters. Temporary waiters should not have the ability to change any information about the products or cancel the bills. -
What kind functions regarding taxes should be implemented (what sort of taxes, or maybe the possibility of adding/removing different tax types by the user, adjusting rates etc.)?
A: We need to be able to manage the taxes ourselves (add, modify and remove them). -
What kind of info should the employee records hold (same question about customers)? (Contact info for any possible loyalty program member customers, or regular patrons presumed due to the advertisement protocol mentioned in original demands.)
A: For employees: forename and surname, identification code, starting (and ending for former employees) date of work relationship, info on their bonuses and schedule, home address, phone number, e-mail (if it exists). Customers’ info is only stored if they have client cards (name, birth date, contact e-mail). -
Are there any differences in the mentioned operations between different countries?
A: No. -
Does there exist some kind of loyalty program that needs to record individual customers’ dedication to buying the drinks?
A: Yes, every 10th beer should give a 50% discount and also the client should get a 20% discount on their birthday. It would be great if I could manage the discount percentages myself in case we change our policy. -
Do drinks have to be paid for upfront, or can those be paid for upon departing?
A: The customer doesn’t need to pay for the drinks upfront. -
Can the customer have a bill on their name and pay later?
A: Yes, but only the regular patrons who have our client card, so we have their contact information. -
On what kind of hardware is the POS going to be running on?
A: It should run on any PC that is able to run Windows 7. Some of them have touchscreens. We are also considering the possibility of using tablets for the waiters, but currently we don’t need to support them. -
How do you order supplies from the warehouse?
A: Currently I just send an e-mail and request the products I need. If possible, I'd like to have way to keep track of my requests in a convenient way, it's quite frustrating to keep going through my sent mail.
Marketing manager:
-
Who constitutes for a regular patron?
A: Someone who has the client card. -
Where are you going to send the advertisements (home, e-mail,...)?
A: E-mail. -
Is there any difference between prices in different countries? If so, then what is the cause of it?
A: Yes. Taxes, differences in wages, varying prices of local products, varying product delivery costs. Why are you asking me about it? -
Should the POS provide reports on the sales? (What people buy most often and what they don’t buy very often) If so then how often should it be given out?(After every week/month/3 months/6 months/year?)
A: Yes, that would be nice. Every 3 months should be fine. -
Should the POS give out recommendations on what products should be ordered less?
A: I’d say it needs to give out a recommendation that it should be promoted more. -
Should POS recommend that something should be removed from the product list if it brings in very little profit?
A: It would be good if it would do it, but it is not really necessary because we will have reports on the consumption of the products and would acquire the necessary information from there. But it might be helpful if it would give me a notification about products that haven’t been sold for a while, that way I could maybe turn the tides with a promotion. -
If there are discounts in one country, are they in the other countries as well at the same time?
A: Sometimes, but not too often. -
If the expiration date is approaching on some products should you be notified about it?
A: Yes, that way I can offer a “today’s specials” idea to the manager. -
Are there any particular restrictions regarding privacy of our clients (eg sending ads to their address might be illegal in some countries).
A: When a client makes a client card, he/she signs an agreement for receiving ads from us. -
Does the POS need to provide the option of creating different promotions based on the customer’s earlier purchases?
A: No. -
Should the system send out automatic promotions on some occasions/events (eg a special discount on the customers birthday).
A: Yes, that would be nice. -
What methods should there exist for delivering the promotion info (e-mail, regular mail, sms etc)?
A: Regular e-mail should suffice. -
Can customers use their client cards in all the restaurants that are owned by this company? Are there different client cards in different countries or are they the same?
A: The client card is the same for all our restaurants, and a client can use it in every country. -
Do you think it would be better if we would use images in our POS to visualize products?
A: I don’t think that that is necessary because a lot of products could look alike. -
Should POS contain information about the companies you order your goods from?
A: I’d only need the contact information of the companies' promotions manager. -
Describe the process of starting an advertising campaign.
A: I have a meeting with the manager and we talk about the different promotions that our suppliers have going on. Often the suppliers run advertising campaigns, so I give my input if there's a great campaign going on that which we could join in and benefit from. Sometimes there is a huge surplus of some items and we need to work out a strategy to sell the product to our customers. I often analyse different strategies that we’ve used for the same or similar product and if I stumble upon something great we use that strategy as a guideline for our new strategies. Sometimes a marketing strategy comes from the higher ups and I’ll just be responsible for making sure that our restaurant can adhere to the requirements set by the campaign. -
Do you need to be able to see the products' sales stats before and after the start of the campaigns?
A: Yes, it’d really help me on deciding which marketing strategies worked out the best. It would be especially great if sales graphs could be provided and a label on which campaigns were active at the time. -
Are there any general promotion networks where suppliers post their ongoing promotions?
A: There are a couple of mailing lists but that’s as far as it gets. -
Have you used any promotion codes in your previous campaigns?
A: Yes we have. We sometimes include promotion codes in our ad campaigns. -
Where can customers make their client cards - can they register online on the Internet or can they fill the forms out in the restaurant? Do they need to pay for the client card?
A: Customers can only make their client cards in the restaurant, where they will fill out the forms and pay a small fee for the client card. After they have done it, they will get their card and they can start using it right away.
Requirements
Functional
- Waiters shall be able to enter and track orders.
- Waiters shall be able to perform billing and accept payments.
- Waiters shall be able to give different discounts (categories set by the management). One discount per bill.
- Waiter shall be able to divide one bill into several bills later.
- Waiter shall be able to enter and track orders.
- Head waiter shall be able to record cash registers' initial and end states.
- Head waiter and waiters shall be able to revoke a bill.
- Marketing manager shall be able to send advertisements to the client card owners.
- Restaurant manager shall be able to calculate bonuses for waiters based on the monthly income of the restaurant (and the waiters' sales).
- Restaurant manager shall be able to order goods from a warehouse.
- There should be general search engine for products available on all pages.
- It should be possible to leave bills open.
- It should be possible to combine open bills.
- All employees must have their own user accounts.
- Waiters must be able to assign orders into three different priority groups: low, regular, high. Within the same priority group, the orders will be listed according to the first-in, first-out principle.
- A non-high priority order which has not been filled within a certain amount of time (~35 minutes, adjustable) and hasn’t been cancelled will automatically rise by a priority group.
- There should be a comment box for each bill/order.
- There should be an overview of number of items in stock.
- There must a be quick access for the most ordered items.
- It should be possible to change the price of products, but if a waiter or head waiter does this, it should send a notification to the manager.
- Product info should contain its name, stock amount, expiry dates (for products that don’t expire quickly - not for milk for example), ingredient info (if available).
- If the product is about to expire, the POS should alert the manager and give him/her the option to set a new price for the item. It must also alert the manager if a product that’s in stock has expired. Marketing manager should also be notified.
- POS should keep track of actions committed by the employees - such as changing prices, adding new products, sale stats and clock-in info.
- Clock-in/out info should be made available for the head waiter.
- POS should give out a notification if something in stock is running low.
- When a sale is made the POS should register: receipt’s number; the names, amounts and prices for sold products (and totals for products with the same name); the method of payment, number of the register, the date and time, the person’s name who is responsible for the sale, customer’s name if provided (employee, client card owner), beer count (for the loyalty program).
- There is a loyalty program: every 10th beer should give a 50% discount and also the client should get a 20% discount on their birthday. Therefor the POS should include these discounts. The manager must be able to modify the discount percentages.
- A receipt should be immediately printed after making a sale.
- All the restaurants in the country share a general database.
- There is a local backup database to ensure that a restaurant can continue functioning even in case of loss of connection (synchronization will occur when connection returns, but must not hinder processing orders).
- Possibility of getting promotional info from other countries should be available.
- POS must be able to provide e-mail addresses (singular and lists) to mailing applications.
- The POS must support accepting payments in the form of cash, debit/credit cards and gift certificates/vouchers.
- The POS must keep track of employees' purchases so the sum could be subtracted from their pay.
- There must a simple view for the kitchen staff that displays incoming orders.
- Orders must be removable from the list by the kitchen staff (removing an order when completed).
- Orders with high priority should rise to the top of the list.
- Manager must be able to create and edit different product categories.
- Employee record should hold: forename and surname, identification code, starting (and ending for former employees) date of work relationship, info about their bonuses and schedules, home address, phone number, e-mail (if it exists).
- Customer records: Customers’ info is only stored if they have client cards (name, birth date, contacts).
- Stock info of other restaurants in the country must be accessible to the restaurants in the same country.
- There must be different permission levels for regular and temporary staff.
- The POS should have the functionality to automatically order certain supplies (user specified) when they are running low.
- Manager has to be able to create new user accounts.
- The POS should send out automatic promotions on some occasions/events (eg. a special discount on the customer’s birthday).
- Manager must be able to book events in the POS.
- The POS should recognize this establishment’s client cards and then give an automatic discount.
- Manager must be able to edit the taxation info (add and remove taxes, edit the rates).
- Information about sales must be kept for as long as physically possible.
- If a customer pays in cash, the POS must calculate the amount returned to customer.
- General sales stats (amounts of products sold etc) must be provided to the manager about their restaurant. The timeframe for the stats should be set by the user.
- Stats about total income made and total amount of money paid to employees should be available to the manager.
- There should be a little reminder to ask for ID when the customer orders alcohol.
- Manager must have a view of notifications about cancelled bills, price changes and other POS modifications committed by the employees.
- The POS should keep track of client card owners' beers and give an automatic discount on a client card owners' every 10th beer.
- There should be a function in the POS to enable the head waiter sending a bill directly to the client’s e-mail.
- The database must keep track of different marketing campaigns: campaign's description, time period and name are necessities.
- If there’s currently a promotion going on that includes promotion codes, then the POS should provide an input box for the code.
- An option for globally managing promotional discounts must be implemented.
- Members of the administration must have complete access of the POS.
- Company administration shall be able to get different reports for each particular restaurant and arbitrary groups of restaurants.
- Waiter should get a notification if an order is ready to be served.
Usability:
- Search box needs to be available in every view.
- There needs to be a way to provide quick access for the most ordered products when making the sale.
- Marketing manager must be able to easily compare different marketing strategies.
- The interface should be designed by keeping in mind the possibility of migrating the POS onto the tablets in the future (touch friendly interface, some of their PC-s already use touchscreens).
- The manager needs to have an overview about the orders sent to the warehouse and the progress of those orders.
Performance:
- Product search shouldn't take more than 2 seconds to return a result.
- Orders should arrive in the kitchen and the waiters should receive notifications from the kitchen in less than 5 seconds.
- Clock-in/out records should be updated once in every minute.
- Managers view of notifications should update itself once in every 2 minutes.
- Login/logout confirmation shouldn't take more than a second.
- Synchronization between local database and the general (regional) database should not slow down the local systems. The local system is always prioritized and does not require confirmations from the general database to continue functioning.