By: Team CS2103-AY1819S1-F10-4
Since: Sep 2018
Licence: MIT
- 1. Welcome to MeNUS
- 2. Quick Start
- 3. Components
- 4. Key Features
- 5. Commands
- 5.1. General
- 5.2. Accounts Management
- 5.2.1. Logging in:
login
- 5.2.2. Logging out:
logout
- 5.2.3. Creating user account:
register
orreg
- 5.2.4. Changing user password:
change-password
orcp
- 5.2.5. Deleting user account:
deregister
ordereg
- 5.2.6. Select user account:
select-account
orsa
- 5.2.7. Locating account by username:
find-account
orfa
- 5.2.8. List user accounts:
list-accounts
orla
- 5.2.1. Logging in:
- 5.3. Ingredients Management
- 5.3.1. Adding an ingredient:
add-ingredient
oradd-ing
- 5.3.2. Listing all ingredients :
list-ingredients
orlist-ing
- 5.3.3. Listing ingredients with low stock count:
low-stock
- 5.3.4. Removing an ingredient:
delete-ingredient
ordelete-ing
- 5.3.5. Editing an ingredient:
edit-ingredient
oredit-ing
- 5.3.6. Stocking up an ingredient:
stockup
- 5.3.7. Selecting an ingredient:
select-ingredient
orselect-ing
- 5.3.1. Adding an ingredient:
- 5.4. Menu Management
- 5.4.1. Adding an item to the menu:
add-item
orai
- 5.4.2. Editing an item in the menu :
edit-item
orei
- 5.4.3. Deleting an item by index:
delete-item-index
ordii
- 5.4.4. Deleting an item by name:
delete-item-name
ordin
- 5.4.5. Listing all items in the menu :
list-items
orli
- 5.4.6. Clearing all entries :
clear-menu
orcm
- 5.4.7. Selecting an item :
select-item
orsi
- 5.4.8. Locating items by name:
find-item
orfi
- 5.4.9. Filter menu by tag:
filter-menu
orfm
- 5.4.10. Sort menu :
sort-menu
orsm
- 5.4.11. Giving a discount to an item :
discount-item
ordci
- 5.4.12. Today’s specials :
today-special
orts
- 5.4.13. Adding recipe to item :
recipe-item
orri
- 5.4.14. Adding required ingredients:
add-required-ingredients
orari
- 5.4.1. Adding an item to the menu:
- 5.5. Reservations Management
- 5.5.1. Adding a reservation:
add-reservation
orar
- 5.5.2. Listing all reservations :
list-reservations
orlr
- 5.5.3. Editing a reservation:
edit-reservation
orer
- 5.5.4. Sorting reservations list:
sort-reservations
orsortr
- 5.5.5. Deleting a reservation:
delete-reservation
ordr
- 5.5.6. Selecting a reservation :
select-reservation
orsr
- 5.5.1. Adding a reservation:
- 5.6. Sales Management
- 5.6.1. Recording sales volume of an item:
record-sales
orrs
- 5.6.2. Display sales report:
display-sales
ordis
- 5.6.3. Deleting a sales record:
delete-sales
ordes
- 5.6.4. Editing a sales record:
edit-sales
ores
- 5.6.5. Display sales chart of date and revenue:
chart-sales
orcs
- 5.6.6. Ranking dates according to total revenue:
rank-date
orrad
- 5.6.7. Ranking items according to total revenue:
rank-item
orrai
- 5.6.8. Selecting a sales record :
select-sales
orss
- 5.6.1. Recording sales volume of an item:
- 5.7. Upcoming Features
- 5.7.1. Improving registration
[coming in v2.0]
- 5.7.2. Creating user role
[coming in v2.0]
- 5.7.3. Editing user role
[coming in v2.0]
- 5.7.4. Deleting user role
[coming in v2.0]
- 5.7.5. Auto-compute sales profit
[coming in v2.0]
- 5.7.6. Checking item sales history
[coming in v2.0]
- 5.7.7. Exporting sales report
[coming in v2.0]
- 5.7.8. Exporting sales chart
[coming in v2.0]
- 5.7.9. Checking item sales history
[coming in v2.0]
- 5.7.10. Showing history of past stock ups and consumption
[coming in v2.0]
- 5.7.11. Exporting menu
[coming in v2.0]
- 5.7.12. Importing menu
[coming in v2.0]
- 5.7.13. Support for multiple menus
[coming in v2.0]
- 5.7.1. Improving registration
- 6. Frequently Asked Questions (FAQ)
- 7. Command Summary
- Appendix A: Acronyms
MeNUS empowers you to improve the management and its efficiency of your restaurants in NUS.
As long as you feel that you are using too many complex and expensive systems to manage your restaurants, MeNUS is here to help you and it is the only restaurant management system you will ever need.
Introducing MeNUS, a revolutionary restaurant management desktop application that is optimized for users who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, MeNUS allows you to manage core aspects of your restaurants — accounts (i.e. employees), menus, ingredients, sales and reservations management — all within a single application!
The following 3 callouts will be used throughout the documentation which you may wish to pay attention to as it may contain important details:
ℹ️
|
Just for your info, do not be alarmed. Be sure to read these notes as it might contain some important information. |
💡
|
Perhaps something can be done using another approach, but it is up to you to decide. Tips are often not important and can be safely ignored. |
|
Some things might go wrong if you are not careful, or did not follow the instructions correctly. You are strongly advised to read whatever is in this block. |
Follow this installation guide to get MeNUS up and running on your computer.
-
Ensure you have Java version
9
or later installed in your Computer.
ℹ️
|
-
Download the latest
menus.jar
here. -
Copy the file to the folder you want to use as the home folder.
-
Double-click the file to start the app. The GUI should appear in a few seconds.
-
Type the command in the command box and press Enter to execute it.
e.g. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
help
: Opens up the help page -
login
id/root pw/1122qq
: Logs in to the root account -
add-item
n/Apple p/2.00 t/fruit
: Creates a new item in the menu -
exit
: Exits the application
-
-
Refer to Section 5, “Commands” for details of each command.
MeNUS consists of five core components: accounts (i.e. employees), menus, ingredients, sales and reservations management.
MeNUS is an integrated application that will provide you with the utmost convenience and tools you will need to manage your restaurants. It allows you to:
-
Export data to
.xml
(default) or Excel file[coming in v2.0]
.
We understand that digital security is your biggest concern. MeNUS is capable of securing your restaurants' data by:
-
Encrypting all data using state of the art encryption scheme
[coming in v2.0]
. -
Requiring users to be authenticated before they can execute any commands.
-
Providing accountability through logging of system events.
MeNUS is jam-packed with features and it may be daunting for new users. The subsequent sections of the user guide provides a step by step walk-through of all the commands MeNUS has to offer.
Do read our short explanation about Command Format below so that the subsequent portions of this section will make sense to you.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd-item n/ITEM_NAME
,ITEM_NAME
is a parameter which can be used asadd-item n/Burger
. -
Items in square brackets are optional e.g
n/ITEM_NAME [t/TAG]
can be used asn/Burger t/beef
or asn/Burger
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/Italian
,t/Italian t/Wednesday
etc. -
Parameters can be in any order e.g. if the command specifies
n/ITEM_NAME p/ITEM_PRICE
,p/ITEM_PRICE n/ITEM_NAME
is also acceptable.
As this is a management system, only the following commands can be executed without being authenticated (i.e. as guest):
help
, login
, select-item
, find-item
, filter-menu
, list-items
, today-special
, exit
The commands in this section does not tie to any of the 5 components.
Opens up the help window. Very useful if you are a new user.
Format: help
or h
Lists all the commands that you have entered in reverse chronological order.
Format: history
or hist
ℹ️
|
Pressing the ↑ and ↓ arrows will display the previous and next input respectively in the command box |
Restores the restaurant book to the state before the previous undoable command was executed.
Format: undo
or u
ℹ️
|
Undoable commands: those commands that modify the restaurant book’s contents |
Examples:
-
register id/root pw/1122qq
n/Ang Zhi Kai
undo
(reverses theregister id/root pw/1122qq n/Ang Zhi Kai
command) -
undo
Theundo
command fails as there are no undoable commands executed previously. -
deregister id/root
clear
undo
(reverses theclear
command)
undo
(reverses thederegister id/root
command)
Reverses the most recent undo
command.
Format: redo
or r
Examples:
-
delete-item-index 1
undo
(reverses thedelete-item-index 1
command)
redo
(reapplies thedelete-item-index 1
command) -
delete-item-index 1
redo
Theredo
command fails as there are noundo
commands executed previously. -
delete-item-index 1
clear
undo
(reverses theclear
command)
undo
(reverses thedelete-item-index 1
command)
redo
(reapplies thedelete-item-index 1
command)
redo
(reapplies theclear
command)
ℹ️
|
Undo and redo commands do not refresh the detailed panel |
Clears all entries from the restaurant book.
Format: clear
or c
Restaurant book data are saved in the hard disk automatically after any command that changes the data. No manual saving is required.
Logs into an existing account.
Format: login id/USERNAME pw/PASSWORD
Examples:
-
login id/root pw/1122qq
ℹ️
|
To testers: You may access the application using the default |
Logs out of the account.
Format: logout
ℹ️
|
History will automatically be cleared upon logging out |
Creates a new user account.
Format: register id/USERNAME pw/PASSWORD n/FULL_NAME
or reg id/USERNAME pw/PASSWORD n/FULL_NAME
ℹ️
|
This command will be improved in the future to support user role (i.e. privilege system). See Section 5.7.1, “Improving registration [coming in v2.0]” for more information |
Examples:
-
register id/azhikai pw/1122qq n/Ang Zhi Kai
-
reg id/azhikai pw/1122qq n/Ang Zhi Kai
Edits the password of the current logged in user account.
Format: change-password npw/NEW_PASSWORD
or cp npw/NEW_PASSWORD
Examples:
-
change-password npw/1122qq
-
cp npw/1122qq
Deletes an existing user account.
Format: deregister id/USERNAME
or dereg id/USERNAME
ℹ️
|
This command will only be executable by a highly privileged user in the future. See Section 5.7.2, “Creating user role [coming in v2.0]” for more information |
Examples:
-
deregister id/azhikai
-
dereg id/azhikai
Selects the account identified by the index number.
Format: select-account INDEX
or sa INDEX
-
The index refers to the index number shown in the displayed item list
-
The index must be a positive integer
1, 2, 3, …
ℹ️
|
Selecting the account does not render any data on the detailed panel due to the simplicity of the data itself |
Examples:
-
list-accounts
select-account 2
Selects the 2nd account in the list. -
fa azhikai
sa 1
Selects the 1st account in the results of thefind-account
command.
Finds account whose username contains the keyword.
Format: find-account KEYWORD
or fa KEYWORD
-
The search is case insensitive. e.g
Root
will matchroot
-
Only the username is searched
-
Only one keyword is allowed since
username
does not contain spaces -
Full keyword is not necessary; e.g.
roo
androot
will matchroot
Examples:
-
find-account root
orfa root
Return any accounts whose username contains the stringroot
This section explains how you may use the commands relating to the Ingredient Management feature.
Adds a new ingredient to the ingredient list.
Format: add-ingredient n/INGREDIENT_NAME u/UNIT_TYPE p/PRICE_PER_UNIT m/MINIMUM
ℹ️
|
|
Examples:
-
add-ingredient n/cod fish u/kilogram p/20 m/1
Adds the ingredientcod fish
with a price of$20/kilogram
and minimum threshold of1 unit
.
Shows a list of all ingredients in the ingredient list.
Format: list-ingredients
Shows a list of ingredients that are low in stock count.
Format: low-stock
ℹ️
|
An ingredient is low in stock count when the number of units available is less than its minimum threshold |
Deletes the specified ingredient from the ingredient list.
Format: delete-ingredient INDEX
or delete-ingredient INGREDIENT_NAME
ℹ️
|
|
Examples:
-
list-ingredients
delete-ingredient 1
list-ingredients
Deletes the 1st ingredient in the ingredient list. -
delete-ingredient cod fish
list-ingredients
Deletes the ingredientcod fish
from the ingredient list.
Edits an ingredient in the ingredient list.
Format: edit-ingredient INDEX [n/INGREDIENT_NAME] [u/UNIT_TYPE] [p/PRICE_PER_UNIT] [m/MINIMUM]
or edit-ingredient
on/ORIGINAL_INGREDIENT_NAME [n/NEW_INGREDIENT_NAME] [u/UNIT_TYPE] [p/PRICE_PER_UNIT] [m/MINIMUM]
ℹ️
|
|
|
At least one of the optional fields must be provided! |
Examples:
-
edit-ingredient 3 n/thin fries
Edits the name of the 3rd ingredient tothin fries
. -
edit-ingredient 4 u/1.5ml bottle p/1.20
Edits the unit type and price per unit of the 4th ingredient to1.5ml bottle
and1.20
respectively. -
edit-ingredient on/ketchup n/tomato ketchup
Edits the name ofketchup
totomato ketchup
.
Increases the number of units of an ingredient or multiple ingredients.
Format: stockup n/INGREDIENT_NAME… nu/NUMBER_OF_UNITS…
|
|
Examples:
-
stockup n/cod fish nu/5
Stocks up5 units
ofcod fish
. -
stockup n/chicken thigh nu/10 n/fries nu/20 n/tomato ketchup nu/50
Stocks up10 units
ofchicken thigh
,20 units
offries
and50 units
oftomato ketchup
.
Selects the ingredient identified by the index number used in the displayed ingredient list.
Format: select-ingredient INDEX
or select-ing INDEX
ℹ️
|
|
Examples:
-
list-ingredients
select-ingredient 2
Selects the 2nd ingredient in the displayed ingredient list. -
low-stock
select-ingredient 1
Selects the 1st ingredient in the results of thelow-stock
command.
Adds an item to the menu
Format: add-item n/ITEM_NAME p/ITEM_PRICE [t/TAG]…
-
ITEM_NAME
andITEM_PRICE
must be provided -
An item can have any number of tags (including 0)
-
ITEM_NAME
should only contain alphanumeric characters and spaces, and it should not be blank -
ITEM_PRICE
should only contain numbers(no negative), at most 2 decimal place and smaller than or equals to 2,147,483,647 -
You cannot add items with the same name
Examples:
-
add-item n/Burger p/2
-
ai n/Burger Set p/4.5 t/Set
Edits an existing item in the menu.
Format: edit-item INDEX [n/ITEM_NAME] [p/ITEM_PRICE] [t/TAG]…
-
Edits the item at the specified
INDEX
. The index refers to the index number shown in the displayed item list -
The index must be a positive integer 1, 2, 3, …
-
At least one of the optional fields must be provided
-
Existing values will be updated to the input values
-
When editing tags, the existing tags of the item will be removed i.e adding of tags is not cumulative
-
You can remove all the item’s tags by typing
t/
without specifying any tags after it -
Editing item price will remove discount given by
discount-item
command
Examples:
-
edit-item 1 n/burger p/3
Edits the name and price of the 1st item to beburger
and3
respectively. -
ei 2 p/4 t/
Edits the price of the 2nd item to be4
and clears all existing tags.
Deletes the specified item from the menu.
Format: delete-item-index INDEX [ei/INDEX]
-
Deletes the item(s) specified by
INDEX
-
The index refers to the index number shown in the displayed item list
-
The index must be a positive integer 1, 2, 3, …
-
You can delete a range of items by adding the ending index
ei\INDEX
-
The ending index can not be smaller than starting index
Examples:
-
list-items
delete-item-index 2
Deletes the 2nd item in the menu. -
fi Cheese
dii 1 ei/3
Deletes 1st item, 2nd item and 3rd item in the results of thefind-item
command.
Deletes the specified item from the menu.
Format: delete-item-name ITEM_NAME
-
Deletes the item by the specified
ITEM_NAME
-
The
ITEM_NAME
must be in the menu -
ITEM_NAME
is case-insensitive. e.gburger
will matchBurger
Examples:
-
delete-item-name Apple Juice
Deletes theApple Juice
item from the menu. -
din Cheese Fries
Deletes theCheese Fries
item from the menu.
Shows a list of all items in the menu.
Format: list-items
Selects the item identified by the index number used in the menu.
Format: select-item INDEX
-
Selects the item and loads the page the item at the specified
INDEX
-
The index refers to the index number shown in the displayed item list
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
list-items
select-item 2
Selects the 2nd item in the menu. -
fi Burger
si 1
Selects the 1st item in the results of thefind-item
command.
Finds items whose names contain any of the given keywords.
Format: find-item KEYWORD [MORE_KEYWORDS]…
-
The search is case insensitive. e.g
burger
will matchBurger
-
The order of the keywords does not matter. e.g.
Cheese Burger
will matchBurger Cheese
-
Only the name is searched
-
Only full words will be matched e.g.
Bur
will not matchBurger
-
Items matching at least one keyword will be returned (i.e.
OR
search). e.g.Cheese Burger
will returnCheese Burger
,Cheese Fries
andBeef Burger
Examples:
-
find-item Burger
Returnsburger
andCheese Burger
-
fi Cheese Chocolate Fruit
Returns any item having namesCheese
,Chocolate
, orFruit
Finds items whose tags match any of the given keywords.
Format: filter-menu KEYWORD [MORE_KEYWORDS]…
-
The search is case insensitive. e.g
burger
will matchBurger
-
Only filter by tag
-
Only full words will be matched e.g.
Bur
will not matchBurger
-
Items with tags matching at least one keyword will be returned (i.e.
OR
search). e.g.drinks burger
will return items that are tagged with drinks or burger
ℹ️
|
KEYWORD for filter-menu must be alphanumeric
|
Examples:
-
filter-menu monday
Returns any item that contains tagmonday
-
fm set monday
Returns any item that contains tagset
ormonday
Sort the menu by name or price.
Format: sort-menu SORTING_METHOD
-
Sort the menu by name or price
-
SORTING_METHOD
refers the method to sort menu: name or price -
Case-insensitive, it can be:
sort-menu name
orsort-menu NAME
-
Only one of the sorting method should be provided
Examples:
-
sort-menu name
Sorts the menu by item name in lexicographical order. -
sm PRICE
Sorts the menu by item price in ascending order(lowest to highest).
Gives the item identified by the index number used in the displayed item list a discount.
Format: discount-item INDEX|ALL [ei/INDEX] dp/PERCENTAGE
-
You can remove discount by typing
0
for the percentage -
You can give a discount to all items in the displayed item list by typing
ALL
(case-insensitive) instead of a specifiedINDEX
-
You can give a discount to a range of items by adding the ending index
ei\INDEX
-
The ending index can not be smaller than starting index
-
The percentage should only contain numbers(no negative), and it should be at most 2 digits(no decimal place)
Examples:
-
list-items
discount-item 2 dp/20
Give the 2nd item in the menu a 20% discount. -
fi Cheese
dci ALL dp/0
Revert all items in the results of thefind-item
command to original price. -
li
dci 1 ei/3 dp/50
Give the 1st item to the 3rd item in the menu a 50% discount.
Lists the items that have been tagged with DAY_OF_THE_WEEK
in the menu.
Format: today-special
-
DAY_OF_THE_WEEK
refers to Monday, Tuesday, …, Sunday
Examples:
-
today-special
If today is Monday
List the items that have been tagged withMonday
in the menu.
Adds recipe to the item identified by the index number used in the menu.
Format: recipe-item INDEX r/RECIPE
-
Adds a recipe to the item at the specified
INDEX
-
If the item has a recipe already, it will overwite the existing recipe
-
The index refers to the index number shown in the displayed item list
-
The index must be a positive integer
1, 2, 3, …
-
You can remove recipe by typing
r/
without specifying any recipe after it
Examples:
-
recipe-item 1 r/Some Recipe
Add/Update the recipe of the 1st item to beSome Recipe
. -
fi Cheese
ri 1 r/Other Recipe
Add/Update the recipe of the 1st item in the results of thefind-item
command to beOther Recipe
.
Adds required ingredients to the item identified by the index number used in the menu.
Format: add-required-ingredients INDEX n/INGREDIENT_NAME… nu/NUMBER_OF_INGREDIENTS…
-
Adds required ingredients to the item at the specified
INDEX
. -
If the item has required ingredients already, it will overwrite the existing required ingredients.
-
The index refers to the index number shown in the displayed item list.
-
The index must be a positive integer
1, 2, 3, …
-
NUMBER_OF_INGREDIENTS for an ingredient must be paired with the INGREDIENT_NAME for that particular ingredient. e.g.
n/apple nu/3
ornu/3 n/apple
-
You can remove required ingredients by not including any
n/INGREDIENT_NAME… nu/NUMBER_OF_INGREDIENTS…
e.g.add-required-ingredients INDEX
Examples:
-
add-required-ingredients 1 n/Apple nu/3
Add/Update the required ingredients of the 1st item. -
fi Cheese
ari 1 n/chicken thigh u/10 n/potato u/20
Add/Update the recipe of the 1st item in the results of thefind-item
command.
Adds a new reservation to the reservations list.
Format: add-reservation n/NAME px/PAX d/DATE ti/TIME
or ar n/NAME px/PAX d/DATE ti/TIME
ℹ️
|
|
|
|
Examples:
-
add-reservation n/TAN px/4 d/21-07-2019 ti/10:00
-
ar n/ONG px/2 d/21st July ti/10am
-
ar n/LEE px/8 d/next tuesday ti/8 p.m.
Shows a list of all reservations in the reservations list.
Format: list-reservations
or lr
Edits an reservation in the reservation list.
Format: edit-reservation INDEX [n/NAME] [px/PAX] [d/DATE] [ti/TIME]
or er INDEX [n/NAME] [px/PAX] [d/DATE] [ti/TIME]
-
Edits the reservation at the specified
INDEX
. The index refers to the index number shown in the displayed reservations list. The index must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
Examples:
-
edit-reservation 2 d/31-12-2019 ti/18:00
Edits the time of the 2nd reservation in the list to31st Dec 2019, 1800
hrs. -
er 6 n/ONG px/4
Edits the name and pax of the 6th reservation toONG
and4
respectively.
Sorts the reservations list by Date/Time.
Format: sort-reservations
or sortr
Deletes the specified reservation from the reservations list.
Format: delete-reservation INDEX
or dr INDEX
-
Deletes the reservation at the specified
INDEX
. -
The index refers to the index number shown in the displayed reservations list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
list-reservations
delete-reservation 2
list-reservations
Deletes the 2nd reservation in the reservations list. -
list-reservations
dr 5
list-reservations
Deletes the 5th reservation in the reservations list.
Selects the reservation identified by the index number used in the displayed reservations list.
Format: select-reservation INDEX
or sr INDEX
-
Selects the reservation at the specified
INDEX
. -
The index refers to the index number shown in the displayed reservation list.
-
The index must be a positive integer
1, 2, 3, …
Examples:
-
list-reservations
select-reservation 2
Selects the 2nd reservation in the reservations list. -
list-reservations
select-reservation 7
Selects the 7th reservation in the reservations list.
The following are sales-related commands to help you with financial tracking and analysis. The terms "sales record" and "record list" will be used frequently under this section so it is advisable to first understand their definition in the glossary.
Records the sales volume of an item within a specific day into the record list.
Format: record-sales d/DATE n/ITEM_NAME q/QUANTITY_SOLD p/ITEM_PRICE
or rs d/DATE n/ITEM_NAME q/QUANTITY_SOLD
p/ITEM_PRICE
-
DATE
must be written in the DD-MM-YYYY format. -
DATE
must exist in the calendar. -
Both
DATE
andITEM_NAME
cannot be same as another record in the record list. -
ITEM_NAME
is case insensitive. "Cheesy Pasta" and "cheesy pasta" are regarded as the same item.
Examples:
-
record-sales d/25-09-2018 n/Fried Rice q/35 p/5.50
-
rs d/25-09-2018 n/Fried Rice q/35 p/5.50
Auto-ingredient update mechanism
record-sales
also determines all the ingredients you used and automatically deducts them from the ingredient
list, subjected to the following conditions:
1) The item exists in the menu.
See Section 5.4.1, “Adding an item to the menu" for more information.
2) The required ingredients to make one unit of ITEM_NAME
is specified.
See Section 5.4.14, “Add required ingredients" for more information.
3) All required ingredients exist in the ingredient list.
See Section 5.3.1, “Adding an ingredient" for more information.
4) There are sufficient ingredients to make QUANTITY_SOLD
units of ITEM_NAME
.
See Section 5.3.6, “Stocking up an ingredient" for more information.
ℹ️
|
Sales volume will still be recorded even if some of the above conditions are not met. However, ingredient list will not be updated |
ℹ️
|
💡
|
If you recorded a sales volume by mistake, you can use the |
Generate and display the sales report for a specific day.
Format: display-sales DATE
or dis DATE
-
DATE
must be written in the DD-MM-YYYY format. -
DATE
must exist in the calendar. -
There must be at least one sales record associated with the specified
DATE
.
Examples:
-
display-sales 30-09-2018
-
dis 30-09-2018
Displays the sales report dated 30-09-2018.
The following (Figure 5.6.2.1) is an example of what you will see if the sales report is generated and displayed correctly:
Figure 5.6.2.1: Sales Report
Deletes the sales record identified by the index.
Format: delete-sales INDEX
or des INDEX
-
Deletes the record at the specified
INDEX
. -
INDEX
refers to the index number shown in the record list. -
INDEX
must be a positive integer 1, 2, 3, …
ℹ️
|
Deleting a sales record will not undo the effect of "Auto-ingredient update" which may or may not have happened during recording |
Examples:
-
delete-sales 2
-
des 2
Deletes the 2nd record from the record list.
Edits the sales record identified by the index.
Format: edit-sales INDEX [d/DATE] [n/ITEM_NAME] [q/QUANTITY_SOLD] [p/ITEM_PRICE]
or es INDEX [d/DATE]
[n/ITEM_NAME] [q/QUANTITY_SOLD] [p/ITEM_PRICE]
-
Edits the record at the specified
INDEX
. -
INDEX
refers to the index number shown in the record list. -
INDEX
must be a positive integer 1, 2, 3, … -
At least one of the optional fields must be provided.
-
Existing values will be updated to the input values.
|
Editing a sales record will permanently delete its "Ingredient used" data |
ℹ️
|
Editing a sales record will not update the ingredient list. See Auto-ingredient update for more information |
Examples:
-
edit-sales 3 n/Fried Omelet
-
es 3 n/Fried Omelet
Edits the item name of the 3rd record to be "Fried Omelet". -
edit-sales 7 q/37 p/6.50
-
es 7 q/37 p/6.50
Edits the quantity sold and price of the 7th record to be 37 and 6.50 respectively.
Generates and displays the sales chart of revenue against date.
Format: chart-sales
or cs
-
Record list must not be empty.
-
Only existing dates in the record list are tabulated and shown.
The following (Figure 5.6.5.1) is an example of what you will see if the sales chart is generated and displayed correctly:
Figure 5.6.5.1: Sales Chart of revenue against date
Ranks and displays all existing dates in the record list based on the total revenue.
Format: rank-date
or rad
-
Record list must not be empty.
💡
|
You can generate the sales report of a specific date to get a more detailed analysis. See Section 5.6.2, “Display sales report" for more information |
The following (Figure 5.6.6.1) is an example of what you will see if the ranking is generated and displayed correctly:
Figure 5.6.6.1: Ranking of dates by revenue
Ranks and displays all items according to their total revenue accumulated in past sales records.
Format: rank-item
or rai
-
Record list must not be empty.
💡
|
You can check the sales history of a specific item to get a more detailed analysis. This feature will be available in v2.0. See Section 5.7.6, “Checking item sales history" for more information |
The following (Figure 5.6.7.1) is an example of what you will see if the ranking is generated and displayed correctly:
Figure 5.6.7.1: Ranking of items by revenue
Selects the sales record identified by the index number used in the record list.
Format: select-sales INDEX
or ss INDEX
-
Loads the record list and selects the record at the specified
INDEX
. -
INDEX
refers to the index number shown in the displayed record list. -
INDEX
must be a positive integer1, 2, 3, …
Examples:
select-sales 2
Selects the 2nd record in the record list.
ss 6
Selects the 6th record in the record list.
Improves the existing register
command by including role (i.e. privilege system).
Format: register id/USERNAME pw/PASSWORD n/FULL_NAME r/ROLE_ID
or reg id/USERNAME pw/PASSWORD n/FULL_NAME r/ROLE_ID
Examples:
-
register id/azhikai pw/1122qq n/Ang Zhi Kai r/999
-
reg id/azhikai pw/1122qq n/Ang Zhi Kai r/999
Creates a user role. User assigned with higher ranking role can execute more commands.
💡
|
When the application is in its default state, this command can only be executed by the |
Format: create-role r/RANK n/ROLE_NAME
or cr r/RANK n/ROLE_NAME
Examples:
-
create-role r/999 n/Owner
-
cr id/999 n/Owner
-
create-role r/2 n/Supervisor
-
create-role r/1 n/Employee
Edits an existing user role.
Format: edit-role r/RANK [nr/NEW_RANK] [n/ROLE_NAME]
or er r/RANK [nr/NEW_RANK] [n/ROLE_NAME]
Examples:
-
edit-role r/999 n/Administrator
-
er id/999 n/Administrator
-
edit-role r/2 nr/3 n/Manager
Deletes an existing user role.
Format: delete-role r/RANK
or dr r/RANK
Examples:
-
delete-role r/999
-
dr id/999
Automatically determines the cost incurred in each sales record and computes its profit. The concept of profit
will be extended to the following features:
1) Section 5.6.2, “Display sales report" - Include a profit column in the sales report
2) Section 5.6.5, “Display sales chart" - Display sales chart of date and profit
3) Section 5.6.6, “Ranking dates" - Rank dates by profit
4) Section 5.6.7, “Ranking items" - Rank items by profit
ℹ️
|
A negative profit denotes a loss |
Generates the item sales report that consists of all past records associated with that item.
Format: check-history n/ITEM_NAME
or ch n/ITEM_NAME
Examples:
-
check-history n/Fried Rice
-
ch n/Fried Rice
Exports the sales report of a specific date into a pdf file. The generated .pdf sales report will be more
detailed than that displayed in app.
Format: export-sales DATE
or exs DATE
Exports the sales chart into a pdf file.
Format: export-chart
or exc
Generates the item sales report that consists of all records associated with that item.
Format: check-history n/ITEM_NAME
or ch n/ITEM_NAME
-
check-history n/Fried Rice
-
ch n/Fried Rice
Shows the history of past ingredient stock ups or consumption.
Format: view-history [STOCKUP] [CONSUMPTION]
or vh [STOCKUP] [CONSUMPTION]
Examples:
-
view-history stockup
-
view-history consumption
-
vh stockup consumption
Exports the menu to a particular file path.
Format: export-menu fp/FILEPATH fn/FILENAME
Examples:
-
export-menu fp/test/ fn/menu.txt
Export the menu to test folder with the file namemenu.txt
Imports an existing menu from specified file path to replace current menu.
Format: import-menu fp/FILEPATH fn/FILENAME
Examples:
-
import-menu fp/test/ fn/menu.txt
Import the menu.txt from test folder to replace current menu.
Q: How do I transfer my data to another Computer?
A: Install the application in the other computer and overwrite the empty data file it creates with the file that
contains the data of your previous MeNUS folder.
Q: Where do I find the latest release of the application?
A: You can find all releases here.
COMMAND | FORMAT | EXAMPLE |
---|---|---|
Help |
|
|
Clear |
|
|
History |
|
|
Undo |
|
|
Redo |
|
|
Login |
|
|
Logout |
|
|
Create account |
|
|
Change password |
|
|
Delete account |
|
|
Find account |
|
|
Select account |
|
|
List accounts |
|
|
Add ingredient |
|
|
List ingredients |
|
|
List ingredients with low stock count |
|
|
Edit ingredient |
|
|
Delete ingredient |
|
|
Stock up |
|
|
Select ingredient |
|
|
Add item |
|
|
List items |
|
|
Edit item |
|
|
Delete item by index |
|
|
Delete item by name |
|
|
Select item |
|
|
Find item |
|
|
List items |
|
|
Clear menu |
|
|
Filter menu |
|
|
Sort menu |
|
|
Discount item |
|
|
Today’s special |
|
|
Add recipe to item |
|
|
Add required ingredients to item |
|
|
Add reservation |
|
|
Edit reservation |
|
|
Delete reservation |
|
|
Select reservation |
|
|
List reservation |
|
|
Sort reservation |
|
|
Record sales volume |
|
|
Display sales report |
|
|
Edit sales record |
|
|
Delete sales record |
|
|
Display sales chart |
|
|
Rank items by total revenue |
|
|
Rank dates by total revenue |
|
|
Select sales record |
|
|
- Sales record
-
A sales record is created whenever you record the sales volume of an item. It is represented by a single entry in the record list. It comprises 6 different attributes, namely
1)Date
of which the item was sold
2)Name
of the item
3)Quantity
of the item sold
4)Price
per item
5)Total revenue
earned
6)Ingredient used
to make the amount of item as specified by the quantity sold. - Record list
-
The record list contains all the sales records you have recorded till date. It is shown under the
List of data
section of the sales component in MeNUS’s user interface.