User Guide
Welcome to HouR
HouR is a desktop app for managing employee records, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, HouR can get your HR management tasks done faster than traditional GUI apps.
Table of Contents
- Using this guide
- Useful Notations and Glossary
- Quick Start
- Navigating the GUI
-
Features
-
General Commands
-
Viewing Help:
help -
Clearing all employees:
clear -
Exiting the program:
exit
-
Viewing Help:
-
Employee Commands
-
Adding an employee:
add -
Deleting an employee:
delete -
Editing an employee:
edit -
Listing all employees:
list -
Finding employees:
find -
Sorting employees:
sort
-
Adding an employee:
-
Employee Metrics Commands
-
Adding a leave period:
addleave -
Deleting a leave period:
deleteleave -
Editing a leave date:
editleave -
Listing employees on leave:
listleave -
Adding remarks:
addremark -
Deleting remarks:
deleteremark -
Updating overtime hours:
overtime -
Generating an employee report:
report -
Resetting fields:
reset
-
Adding a leave period:
-
General Commands
- FAQ
- Known Issues
- Command Summary
- Parameter Information
Using this guide
- If you are new here, visit our quick start guide to onboard onto HouR smoothly!
- If you are unsure of how to use HouR, the Command Summary is a good place to start.
- If you are a developer and want to help out, do take a look at our Developer Guide.
Useful Notations and Glossary
While exploring HouR’s features with this user guide, do take note of these symbols used and what they represent.
| Symbol | Meaning |
|---|---|
| Important information | |
| Warning or caution | |
| Additional information such as tips or notes |
The following glossary table provides clarification on commonly-used terms as well as terminology that is possibly unknown to you.
| Symbol | Meaning |
|---|---|
| GUI | GUI stands for Graphical User Interface and it represents the visual display of HouR that users can see when the application is run. |
| GUI component | A subsection of the GUI. For more information on specific GUI components, refer to this section. |
| CLI | CLI stands for Command Line Interface and it represents a text-based user interface to interact with the application. |
| Command | An input from the user that tells HouR to perform an action. View HouR’s command summary. |
| Parameter | Parameters are like fields in a form you are required to fill up. They are information needed to be passed together with the command so that it can be executed. More information regarding parameters can be found here. |
| Case-sensitive | The casing of the alphabetic characters matters (e.g. “good” is different from “GOOD”). |
| Case-insensitive | The casing of the alphabetic characters does not matter (e.g. “good” is taken to be equal to “GOOD”). |
Quick Start
-
Ensure you have Java
11or above installed in your Computer. -
Download the latest
hour.jarfrom here. -
Copy the file to the folder you want to use as the home folder for your employee list.
-
Open a command terminal,
cdinto the folder you put the jar file in, and use thejava -jar hour.jarcommand to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.

1. Right-click
hour.jar > Open With > JavaLauncher.app
2. First-time users may be prompted with a warning that the file was downloaded from the Internet. Simply click Open in the prompt to continue.
-
Type a command in the command box and press Enter to execute it. e.g. typing
helpand pressing Enter will open the help window.
Some example commands you can try:-
help: Shows help window with link to user guide. -
add n/John Doe pos/Senior Software Enginner id/EID2023-7890 p/81239876 e/johndoe@test.com s/5000: Adds an employee namedJohn Doeto the employee list. -
list: Lists all employees. -
edit 1 n/Alex Yeoh: Edits the name of the 1st employee shown in the current list toAlex Yeoh. -
find Alex Manager: Lists all employees with the keywordsAlexorManager. -
delete EID2023-1234: Deletes the employee with employee id EID2023-1234 shown in the list. -
sort f/salary in/asc: Sorts the employees by their salaries in ascending order. -
addleave id/EID1234-5678 from/2023-12-26 to/2023-12-28: Adds leave dates from 26 to 28 December 2023 inclusive for employee with id EID1234-5678. -
deleteleave id/EID1234-5678 from/2023-12-27 to/2023-12-27: Deletes leave date 27 December 2023 for employee with id EID1234-5678. -
editleave id/EID1234-5678 old/2023-12-26 new/2023-12-29: Edits the old leave date on 26 December 2023 of employee with id EID1234-5678 to new leave date on 29 December 2023. -
listleave on/2023-12-28: Lists all employees on leave on 28 December 2023. -
addremark id/EID1234-5678 r/good worker: Adds the remarkgood workerto the employee with id EID1234-6788. -
deleteremark id/EID1234-5678 r/good worker: Deletes the remarkgood workerfrom the employee with id EID1234-5678. -
overtime id/EID1234-5678 o/inc a/10: Increases the overtime hours of employee with id EID1234-5678 by 10 hours. -
report EID1234-5678: Generates a report with details of the employee with id EID1234-5678. -
reset f/overtime: Resets the overtime hours field of all employees to the default value 0. -
clear: Deletes all employees. -
exit: Exits the app.
-
-
Refer to the Features below for details of each command
Navigating the GUI
HouR comes with a Graphical User Interface (GUI) to allow for nice visual feedback for our users. Here is a quick run-through of the different sections of our GUI, as well as some notes regarding the use of the GUI.
Quick Orientation

Employee Card

Features
Below is an overview of HouR’s features.
- View list of commands:
help - Add an employee:
add - Delete an employee:
delete - Edit an employee:
edit - List all employees:
list - Find employees:
find - Sort employees by attribute:
sort - Add leave dates for an employee:
addleave - Delete leave dates of an employee:
deleteleave - Edit leave of an employee:
editleave - List employees on leave:
listleave - Add remarks for an employee:
addremark - Delete remarks of an employee:
deleteremark - Update overtime hours of an employee:
overtime - Generate an employee report:
report - Reset specified field to default number:
reset - Clear all employees:
clear - Exit the program:
exit
Notes about the command format and commands
-
Words in
UPPER_CASEare the parameters to be supplied by the user.
e.g. inadd n/NAME,NAMEis a parameter which can be used asadd n/John Doe. -
Items in square brackets are optional.
e.g.edit INDEX [n/NAME] [pos/POSITION] [id/EMPLOYEE_ID] [p/PHONE_NUMBER] [e/EMAIL] [s/SALARY] [d/DEPARTMENT]...can be used asedit 1 n/John Doeor asedit 1 pos/Software Engineer. -
Parameters with
...after them can be used multiple times (or omitted completely).
e.g.add . . . [d/DEPARTMENT]...can be used asadd . . . d/IToradd . . .(where. . .is used in place of the compulsory parameters) -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/POSITION,p/POSITION n/NAMEis also acceptable. -
All command words are case-sensitive (i.e.
addis valid andADDis invalid) -
Date parameters should be in the form of
yyyy-MM-dd.
e.g.2023-10-31is a valid date parameter -
Extraneous parameters for commands that do not take in parameters (such as
help,list,exitandclear) will be ignored.
e.g. if the command specifieshelp 123, it will be interpreted ashelp. -
For all commands except for
find,sortandlistleave, the entire employee list will be called after the command is executed successfully.
e.g. if the employee list was previously filtered through thefindorlistleavecommand, the employee list panel will change to show the entire employee list once another command (excludingfind,sortorlistleave) is run successfully. -
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
General Commands
This section contains commands that are not related to any specific feature in HouR.
Viewing help : help
Shows a window with link to access the help page.
Format: help

Clearing all entries : clear
Clears all entries from the employee book.
Format: clear

Exiting the program : exit
Exits the program.
Format: exit
Employee Commands
This section contains commands relating to the employee list and/or employees.
Adding an employee : add
Adds an employee to the employee list.
Format: add n/NAME pos/POSITION id/EMPLOYEE_ID p/PHONE_NUMBER e/EMAIL s/SALARY [d/DEPARTMENT]...
- Adds the employee with the specified details.
- The
NAME,POSITION,PHONE_NUMBER,EMAILandDEPARTMENTparameters are case-sensitive. - The
EMPLOYEE_IDrefers to each employee’s unique employee id (must not already exist) and must follow the EID format (EID[4 digits]-[4 digits]) - The
SALARYparameter only takes in positive integers.
Examples:
add n/Alex Yeoh pos/Software Engineer id/EID2023-1234 p/87428807 e/alexyeoh@example.com s/8500 d/ITadd n/Jane Doe pos/Manager id/EID2023-7891 p/81234567 e/janedoe@test.com s/5000

-
add n/Charlotte Oliveiro pos/Sales Associate id/EID2023-1234 p/98561234 e/charlotte@example.com s/7300 d/Salesis invalid becauseEMPLOYEE_IDalready exists in the records.

Deleting an employee : delete
Deletes an employee from the employee list.
Format: delete EMPLOYEE_ID
- Deletes the employee at the specified
EMPLOYEE_ID. - The
EMPLOYEE_IDrefers to each employee’s unique employee id and must follow the EID format (EID[4 digits]-[4 digits]).
Examples:
-
delete EID2023-1234deletes the employee with employee id EID2023-1234 in the employee list.

-
delete EID0000-0000is invalid because theEMPLOYEE_IDdoes not exist in the records.

Editing an employee : edit
Edits an existing employee in the employee list.
Format: edit INDEX [n/NAME] [pos/POSITION] [id/EMPLOYEE_ID] [p/PHONE_NUMBER] [e/EMAIL] [s/SALARY] [d/DEPARTMENT]...
- Edits the employee at the specified
INDEX. The index refers to the index number shown in the displayed employee list. - The
INDEXmust be a positive integer less than or equals to the number of employees shown in the displayed employee list 1, 2, 3, … - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Examples:
-
edit 1 pos/Senior Software Engineeredits the position of the 1st employee to beSenior Software Engineer.

-
edit 100 pos/Senior Software Engineeris invalid because the index does not exist.

Listing all employees : list
Shows a list of all employees in the employee list.
Format: list

Finding employees : find
Finds employees whose name, position, department, phone number, email, or ID contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive. e.g
hanswill matchHans - The order of the keywords does not matter. e.g.
Hans Bowill matchBo Hans - Only full words will be matched e.g.
Hanwill not matchHans - Employees matching at least one keyword will be returned (i.e.
ORsearch). e.g.Hans Bowill returnHans GruberandBo Yang.
Examples:
-
find Roy EID1234-5678returnsRoy BalakrishnanandAlex Yeoh.

-
find EID0000-0000returns an empty list of employees since no employee has that ID.

Sorting all employees : sort
Sorts employees in the employee list by a given field.
Format: sort f/FIELD in/ORDER
- Sorts the employee list by the specified
FIELDin the givenORDER. - The
FIELDhas to be non-empty and can only be one of these 4 values:name,salary,overtime, orleaves. - The
FIELDandORDERparameters are case-insensitive. (e.g.nameandNAMEare taken to be the same) - The
ORDERis either ascending (asc) or descending (desc).
Examples:
-
sort f/salary in/ascsorts the employee list such that their salaries are arranged in ascending order from top to bottom

-
sort f/blah in/descis invalid because fieldblahis not one of the 4 mentioned values.

Employee Metrics Commands
You can use the following commands to keep track of employee metrics and gauge employee performance.
Adding a leave period of an employee : addleave
Adds the dates between a specified period of time to the leaves taken by the specified employee.
Format: addleave id/EMPLOYEE_ID from/START_DATE to/END_DATE
- Add dates between
START_DATEandEND_DATEinclusive into the leaves taken by employee with idEMPLOYEE_ID. -
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]). -
START_DATEandEND_DATEmust be in the YYYY-MM-DD format. -
START_DATEmust not be afterEND_DATE. - Dates between
START_DATEandEND_DATEinclusive must not already exist in the leave list. - The total number of annual leaves used cannot exceed the maximum of 14 as per the Singapore Ministry of Manpower’s guidelines.
Examples:
-
addleave id/EID1234-5678 from/2023-12-26 to/2023-12-28adds the dates 26, 27, and 28 December 2023 to the leaves taken by employee with id EID1234-5678.

-
addleave id/EID1234-5678 from/2023-12-31 to/2023-12-28is invalid because the start date 2023-12-31 is after the end date 2023-12-28.

-
addleave id/EID1234-5678 from/2023-12-28 to/2023-12-30is invalid because the date 28 December 2023 already exists in the leave list.

Deleting a leave period of an employee : deleteleave
Deletes the specified leave dates of an employee.
Format: deleteleave id/EMPLOYEE_ID from/START_DATE to/END_DATE
- Delete any leave dates that are between
START_DATEandEND_DATEinclusive from the leaves taken by employee with idEMPLOYEE_ID. -
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]). -
START_DATEandEND_DATEmust be in the YYYY-MM-DD format. -
START_DATEmust not be afterEND_DATE. - There should be at least one existing leave taken by the employee that falls within the period between
START_DATEandEND_DATEinclusive. - If the employee does not have any leaves taken that fall anytime during the period between
START_DATEandEND_DATEinclusive, the command will output an error and will not change anything.
Examples:
-
deleteleave id/EID1234-5678 from/2023-12-26 to/2023-12-28deletes all leave dates of employee with id EID1234-5678 that fall on 26, 27, and 28 December 2023.

-
deleteleave id/EID1234-5678 from/2023-12-31 to/2023-12-28is invalid because the start date 2023-12-31 is after the end date 2023-12-28.

-
deleteleave id/EID1234-5678 from/2023-12-28 to/2023-12-28is invalid because there is no existing leave on 28 December 2023.

Editing a leave date of an employee : editleave
Edits the old leave date to the new leave date of the specified employee.
Format: editleave id/EMPLOYEE_ID old/OLD_DATE new/NEW_DATE
- Edits leave on
OLD_DATEtoNEW_DATEof the specified employee with idEMPLOYEE_ID. -
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]). -
OLD_DATEandNEW_DATEmust be in the YYYY-MM-DD format. -
OLD_DATEmust already exist andNEW_DATEmust not already exist.
Examples:
-
editleave id/EID1234-5678 old/2023-12-26 new/2023-12-28edits the leave on 26 December 2023 to 28 December 2023 for employee with id EID1234-5678. The old leave date is replaced by the new leave date in the leave list.

-
editleave id/EID1234-5678 old/2023-12-31 new/2023-12-28is invalid because there is no existing leave on 31 December 2023.

-
editleave id/EID1234-5678 old/2023-12-27 new/2023-12-28is invalid because there is an existing leave on 28 December 2023.

Listing the employees on leave on a specified date : listleave
Lists all the employees on leave on the specified date.
Format: listleave on/DATE
- Lists all the employees who are on leave on the specified
DATE. -
DATEmust be in the YYYY-MM-DD format.
Examples:
-
listleave on/2023-12-28lists all the employees that are on leave on 28 December 2023.

-
listleave on/2023-12-29displays an empty list because there are no employees that are on leave on 29 December 2023.

Adding a remark for an employee : addremark
Adds the specified remark to the specified employee.
Format: addremark id/EMPLOYEE_ID r/REMARK
- Adds the
REMARKto the employee with the specifiedEMPLOYEE_ID. -
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]). -
REMARKmust be unique. Duplicate remarks are not allowed. -
REMARKis case-insensitive (e.g.good remarkandGOOD REMARKare taken to be equal).
Examples:
-
addremark id/EID1234-5678 r/good workeradds the remarkgood workerto employee with id EID1234-5678.

-
addremark id/EID1234-5678 r/GOOD WORKERis invalid because there is already a remarkgood workerfor the employee.

Deleting a remark of an employee : deleteremark
Deletes the specified remark from the specified employee.
Format: deleteremark id/EMPLOYEE_ID r/REMARK
- Adds the
REMARKto the employee with the specifiedEMPLOYEE_ID. -
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]). -
REMARKmust already exist in the remark list. -
REMARKis case-insensitive (e.g.good remarkandGOOD REMARKare taken to be equal).
Examples:
-
deleteremark id/EID1234-5678 r/good workerdeletes the remarkgood workerfrom employee with id EID1234-5678.

-
deleteremark id/EID1234-5678 r/team playeris invalid because the remarkteam playerdoes not exist under the employee with id EID1234-5678.

Updating overtime hours of an employee : overtime
Updates the overtime hours of an employee.
Format: overtime id/EMPLOYEE_ID o/OPERATION a/AMOUNT
- Updates the overtime hours of the employee with the specified
EMPLOYEE_IDin EID format (EID[4 digits]-[4 digits]). -
OPERATIONcan be eitherincordecto increase or decrease the overtime hours respectively. -
OPERATIONis case-sensitive (i.e.INCis invalid). -
AMOUNTis the number of hours to increase or decrease the overtime hours by. -
AMOUNTmust be a positive integer (i.e. greater than 0). - The total number of overtime hours worked in a month must not exceed the maximum of 72 as per the Singapore Ministry of Manpower’s guidelines.
Examples:
-
overtime id/EID1234-5678 o/inc a/10increases the overtime hours of employee with id EID1234-5678 by 10 hours.

-
overtime id/EID1234-5678 o/inc a/0is invalid because the given amount is not a positive integer.

-
overtime id/EID1234-5678 o/dec a/20is invalid because it will result in negative overtime hours.

Generating a report : report
Generates a report with details on leaves, overtime hours, overtime pay, and remarks for an employee.
Format: report EMPLOYEE_ID
- Generates and downloads a report for the employee with the specified
EMPLOYEE_ID. - The
EMPLOYEE_IDmust follow the EID format (EID[4 digits]-[4 digits]) - The report is downloaded in a
.txtfile, located in thereportsfolder in the location ofhour.jar.- The
.txtfile follows the naming conventionDATE_NAMEwhereDATEis the date the report is created, andNAMEis the name of the corresponding employee.
Tip:
Note that unlike the hour.json file in the data folder, making changes in the .txt file in the reports folder does not change the data seen in the HouR app.
- The
- The overtime pay is calculated based on the overtime hours and the salary of the employee.
-
The following Singaporean Ministry of Manpower’s prescribed formula is used to calculate overtime pay.
-
Examples:
-
report EID1234-5678generates and downloads a report for the employee with employee id EID1234-5678.


-
report EID0000-0000is invalid because the id does not exist.

Resetting fields : reset
Resets the specified field to its default value.
Format: reset f/FIELD
- Resets the specified
FIELDof all employees in the employee book. - The
FIELDhas to be non-empty and can only be eitherovertimeorleaves. - The
FIELDparameter is case-insensitive. (e.g.overtimeandOVERTIMEare taken to be the same)
Examples:
-
reset f/overtimeresets the overtime hours of all employees in the list to the default value 0.

-
reset f/leavesresets the number of leaves taken by all employees in the list to the default value 0.

-
reset f/nameis an invalid field and cannot be reset.

Miscellaneous Features
The following are miscellaneous features available to users.
Saving the data
HouR data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
HouR data are saved automatically as a JSON file [JAR file location]/data/hour.json. Advanced users are welcome to update data directly by editing that data file.
FAQ
Launching HouR
Q: How can I launch HouR if clicking on the JAR file does not work?
A: There are two possible methods to launch HouR.
Method 1: For users familiar with the Command Prompt
- Open the Command Prompt
- Navigate to the directory where the JAR file is located using
cd [JAR file location] - Type
java -jar hour.jarand press Enter - HouR should launch
Method 2: For users that wish to create a script to launch HouR (Recommended)
- Create a new text file
- Copy and paste the following into the text file:
java -jar [JAR file location]/hour.jar - Save the text file as
hour.bat(Windows) orhour.sh(macOS/Linux) - Change the admin settings of the script to allow it to run as program:
- Windows: Right-click on the script and select Properties. Under General, check the box that says
Allow this file to run as a program. - macOS/Linux: Open the Terminal and navigate to the directory where the script is located. Type
chmod +x [script name]and press Enter.
Note: (chmod +xchanges permissions of the script to allow it to be executed)
- Windows: Right-click on the script and select Properties. Under General, check the box that says
- Double-click on the script to launch HouR
- HouR should launch
If you have any further issues, please raise an issue on our Github page. We will attend to you as soon as we can.
Checking Java Version
Q: How can I check my Java version?
A: Open a Command Prompt and type java -version. If you do not have Java installed, you can install Java 11 using the Oracle guide here. Alternatively, you can install the OpenJDK version.
For macOS users, you may wish to follow the instructions listed here.
Loading Data from Another Computer
Q: How do I transfer my data to another Computer?
A: Install HouR in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous HouR home folder.
Q: How can I load data from one computer into HouR installed on another computer?
A: This can be done by following the three steps below.
- Delete the
hour.jsonfile (stored at[hour.jar file location]/data/hour.json) from the computer that you wish to use HouR on. - Copy over the
hour.jsonfile from the computer which you no longer wish to use HouR on. - Boot up HouR to check whether your employee information is properly loaded into the new computer
Using HouR
Q: What are the available commands?
A: Refer to the Command Summary for the list of available commands. Alternatively, from the main application window, you can type help to view the list of available commands.
Q: Do I need an internet connection to use HouR?
A: All of HouR’s functionality can be used offline! No internet connection is required.
Q: How do I save my data?
A: Data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Q: How do I view the leave dates taken by a specific employee?
A: Unfortunately, HouR does not currently have a command to allow the users to view the leaves taken by an employee. To overcome this, we recommend that you add a “dummy” leave with addleave, before deleting the added “dummy” leave deleteleave. You should be able to view the list of leaves taken by the employee in the Result Display.
Q: How do I find out the number of leaves an employee has remaining?
A: To do so, simply type in the report command using the ID of the employee you are interested in. From there, HouR’s result display will show you the number of leaves already taken by the employee.
Since an employee can take a maximum number of 14 leaves, to calculate the number of leaves remaining:
number of leaves remaining = 14 - number of leaves used
Q: How do I view the number of overtime hours worked by a specific employee?
A: To do so, simply type in the report command using the ID of the employee you are interested in. From there, HouR’s result display will show you the number of overtime hours worked by the employee.
Q: Can I reset fields for specific employees rather than all employees?
A: Unfortunately, HouR only allows fields like leaves taken and overtime hours worked to be reset for all employees using the reset command.
If you would like to reset the number of leaves or overtime hours for a specific employee, you can follow the steps below.
- Resetting the number of leaves
- View the leave dates taken by the specified employee by adding a “dummy” leave, before deleting the added “dummy” leave.
- From the list of leaves taken by the employee, identify the earliest and latest leave date taken.
e.g. If an employee with employee ID “EID1234-5678” has a total of 3 leaves taken, 14-16 November 2023, 14 November 2023 and 16 November 2023 are the earliest and latest leave dates taken respectively. - Use the
deleteleavecommand to delete all the leave dates under the employee.
e.g. As per the above example, we would typedeleteleave id/EID1234-5678 from/2023-11-14 to/2023-11-16into the command box. - All the leaves will be deleted from the employee, and the employee’s number of leaves taken will be successfully reset to 0.
- Resetting overtime hours
- View the number of overtime hours taken by the specified employee using the
reportcommand. - Using the
overtimecommand, subtract the overtime hours of the specified employee by the number of overtime hours already worked.
e.g. If the employee with employee ID “EID1234-5678” has worked 12 overtime hours,overtime id/EID1234-5678 o/dec a/12will successfully reset the employee’s overtime hours to 0.
- View the number of overtime hours taken by the specified employee using the
Known issues
-
When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the
preferences.jsonfile created by the application before running the application again.
Command summary
| Action | Format, Examples |
|---|---|
| Add |
add n/NAME pos/POSITION id/EMPLOYEE_ID p/PHONE_NUMBER e/EMAIL s/SALARY [d/DEPARTMENT]... e.g., add n/James Ho pos/Auditor id/EID2023-0928 p/87651234 e/jamesho@example.com s/8000
|
| Delete |
delete EMPLOYEE-IDe.g., delete EID1234-5678
|
| Edit |
edit INDEX [n/NAME] [p/POSITION] [id/EMPLOYEE_ID] [p/PHONE_NUMBER] [e/EMAIL] [s/SALARY] [d/DEPARTMENT]...e.g., edit 2 n/James Lee pos/Head Auditor
|
| List | list |
| Find |
find KEYWORD [MORE_KEYWORDS]e.g., find James Manager
|
| Sort | sort f/FIELD in/ORDER |
| AddLeave |
addleave id/EMPLOYEE_ID from/START_DATE to/END_DATE e.g., addleave id/EID1234-5678 from/2023-12-26 to/2023-12-28
|
| DeleteLeave |
deleteleave id/EMPLOYEE_ID from/START_DATE to/END_DATE e.g., deleteleave id/EID1234-5678 from/2023-12-26 to/2023-12-28
|
| EditLeave |
editleave id/EMPLOYEE_ID old/OLD DATE new/NEW DATE e.g., editleave id/EID1234-5678 old/2023-12-26 new/2023-12-28
|
| ListLeave |
listleave on/DATE e.g., listleave on/2023-11-30
|
| Overtime |
overtime id/EMPLOYEE_ID o/OPERATION a/AMOUNT e.g., overtime id/EID1234-5678 o/inc a/10
|
| AddRemark |
addremark id/EMPLOYEE_ID r/REMARK e.g., addremark id/EID1234-5678 r/Good worker
|
| DeleteRemark |
deleteremark id/EMPLOYEE_ID r/REMARK e.g., deleteremark id/EID1234-5678 r/Good worker
|
| Report |
report EMPLOYEE_ID e.g., report EID1234-5678
|
| Reset |
reset f/FIELD e.g., reset f/overtime
|
| Help | help |
| Clear | clear |
| Exit | exit |
Parameter information
The table below provides information on the usage of the allowed parameters in HouR. Do note that the examples given are not exhaustive.
| Parameter, Description | Case sensitive | Constraints | Valid Examples | Invalid Examples |
|---|---|---|---|---|
|
n/NAME Name of the employee |
Yes | Alphanumeric characters (a to z, A to Z, 0 to 9) |
John Doe, Elizabeth 2
|
A.P.J. Abdul Kalam, Jane Doe-Smith
|
|
pos/POSITION Position of the employee |
Yes | Alphanumeric characters (a to z, A to Z, 0 to 9) |
Senior Manager, CEO
|
Chief Financial Officer (CFO) |
|
id/EMPLOYEE_ID ID of the employee |
Yes | Prefix EID followed by 4 digits separated by a hyphen followed by 4 more digits |
EID1234-5678, EID2023-1010
|
1234-5678, eid1234-5678, EID12345678
|
|
p/PHONE Phone number of the employee |
NA | 8 numeric characters (0 to 9), begins with 8 or 9, following IMDA’s National Numbering Plan |
90005000, 85852023
|
12345678, 999, 6001567a
|
|
e/EMAIL Email of the employee |
Yes | Emails should be of the format local-part@domain-name and adhere to the following: 1. The local-part should only contain alphanumeric characters and +, _, ., -. It may not start or end with any special characters.2. The domain name is made up of domain labels separated by either hyphens or periods. The domain name must: - end with a domain label at least 2 characters long - have each domain label start and end with alphanumeric characters |
john@gmail.com, eliz2@mit.edu, john-doe@nus-edu.sg
|
johndoe@, eliz2, _janedoe@nus.edu, johndoe@nus+edu
|
|
s/SALARY Salary of the employee |
NA | Numeric characters (0 to 9) Non-negative integer |
0, 1000, 10000, 850
|
$1000, -1, 8500.00
|
|
d/DEPARTMENT Department of the employee (optional) |
Yes | Alphanumeric characters (a to z, A to Z, 0 to 9) |
IT, Finance
|
I/T |
|
f/FIELD Field of the employee |
No | Alphabetic characters (a to z, A to Z) | For sort: name, salary, overtime, leaves For reset: overtime, leaves
|
employee, age
|
|
in/ORDER Order that the employee is to be sorted in |
No | Alphabetic characters (a to z, A to Z) |
asc, desc or ASC, DESC
|
ascending, descending
|
|
o/OPERATION Operation to be applied |
Yes | Alphanumeric characters (a to z, A to Z, 0 to 9) |
inc, dec
|
INC, DEC, increase, decrease
|
|
a/AMOUNT Amount to be changed by |
NA | Positive integer |
1, 12
|
0, -3, 1.5
|
|
r/REMARK Remark for an employee |
No | No constraints |
Good worker, efficient worker!, :)
|
NA |
|
from/START_DATE Start date of the leave |
NA | yyyy-MM-dd format START_DATE cannot be after END_DATE
|
2023-12-11, 2023-12-21
|
2023-13-11, 1 Dec 2023, 01/12/2023
|
|
to/END_DATE End date of the leave |
NA | yyyy-MM-dd format START_DATE cannot be after END_DATE
|
2023-12-11, 2023-12-21
|
2023-13-11, 1 Dec 2023, 01/12/2023
|
|
old/OLD_DATE Old date of the leave |
NA | yyyy-MM-dd format NEW_DATE cannot be the same as OLD_DATE
|
2023-12-11, 2023-12-21
|
2023-13-11, 1 Dec 2023, 01/12/2023
|
|
new/NEW_DATE New date of the leave |
NA | yyyy-MM-dd format NEW_DATE cannot be the same as OLD_DATE
|
2023-12-11, 2023-12-21
|
2023-13-11, 1 Dec 2023, 01/12/2023
|
|
INDEX Index in the employee list |
NA | Positive integer less than or equals the number of employees |
1, 3
|
0, -3, 1.5
|
|
KEYWORD Keyword to be searched |
No | No constraints |
royb@example.com, EID1234-5678, IT, engineer
|
NA |