User Guide
- Introduction
- Quick start
- SunRez User Interface (UI)
- Features
- FAQ
- Command summary
Introduction
SunRez is a desktop app designed for college residential staff to efficiently manage student housing services. It features a Graphical User Interface (GUI) but is optimized for use via a Command Line Interface (CLI).
SunRez has the following features:
- Keeps track of maintenance issues
- Keeps track of student records
- Keeps track of room records
Quick start
-
Ensure you have Java
11or above installed in your Computer. -
Download the latest
sunrez.jarfrom here. -
Copy the file to the folder you want to use as the home folder for your SunRez.
-
Double-click the file to start the app. A GUI like the one pictured below should appear in a few seconds. Note how the app contains some sample data.

-
Type a command in the command box and press
ENTERto execute it. e.g. typinghelpand pressingENTERwill open the help window.Some example commands you can try:
-
rlist: Lists all residents. -
radd n/Joseph Tan p/84666774 e/e0103994@u.nus.edu y/2: Adds a resident namedJoseph Tanwith phone number84666774, emaile0103994@u.nus.edu, a 2nd year student. -
rdel 3: Deletes the 3rd resident shown in the current resident list. -
exit: Exits the app.
-
-
Refer to the Features below for details of each command.
SunRez User Interface (UI)
The following image shows the different parts of the SunRez application window:

Using the UI
SunRez is optimized for fast typists, so most input to SunRez takes the form of commands. To execute a command,
simply type it into the Command Box then press ENTER on the keyboard. The result (or an error message) will be
displayed in the Result Box following a command execution. Details about specific commands can be found in the
features section.
An error message may be shown for various reasons. Most commonly, one is shown if a command cannot be parsed (that is, if SunRez cannot understand the format of your command) or if a command has been given parameters which are out of the acceptable range. In the following sections, more information is given about acceptable command formats, command parameters, and the command parsing process.
Command Format
Commands in this user guide follow this format:
-
Words in
UPPER_CASEare the parameters to be supplied by the user.
e.g. inradd n/NAME p/PHONE_NUMBER e/EMAIL y/YEAR, the paramters areNAME,PHONE_NUMBER,EMAIL, andYEAR. The command can be used asradd n/Joseph Tan p/84666774 e/e0103994@u.nus.edu y/2. -
Items in square brackets are optional.
e.g.d/DESCRIPTION [t/TIMESTAMP]can be used asd/Broken chair t/2020/3/23 11:59pmor asd/Broken chair. -
Items with
...after them can be used multiple times including zero times.
e.g.[t/TAG]...can be used as(i.e. 0 times),t/SHN,t/SHNt/Renovatingetc. -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable. -
If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyn/John Doe n/Jane Doe, onlyn/Jane Doewill be taken. -
Extraneous parameters for commands that do not take in parameters (such as
help,ilist,exitandclear) will be ignored.
e.g. if the command specifieshelp 123, it will be interpreted ashelp.
Command Parsing
Repeated parameters
All commands in SunRez default to taking the latest occurrence of a duplicate parameter except tags. For example, if you key in this command:
radd n/John Doe n/Timmy Tan p/91234567 e/e0123456@u.nus.edu y/3
The resident’s name will take the later occurrence of name and create a resident named “Timmy Tan”.
On the other hand, all tags specified will be taken.
For instance, radd n/John Doe n/Timmy Tan p/91234567 e/e0123456@u.nus.edu y/3 g/tag_one g/tag_two g/tag_three will
create a resident with tags tag_one, tag_two and tag_three.
Interpreting parameter values
Commands in SunRez have a pre-set parameter list they accept. The value for the parameter will be all characters until the next occurrence of a parameter prefix for the command. For example, if you key in this command:
radd n/John Doe p/91234567 e/e0123456@u.nus.edu y/3
The resident’s name will be all characters that follows n/ until just before the start of p/, including the space.
Most commands, however, trim leading and trailing spaces.
Let us break this down further and assume radd only takes in 2 parameters for the purposes of explanation.
We can break the command down as follows:
radd n/[NAME_STRING] p/[PHONE_NUM_STRING]
A user can enter a NAME_STRING that consists of anything, including text that contains prefix-like strings such as s/.
For example, a user could enter John s/o Tom.
However, as s/ is not a valid prefix for the radd command, the command parser will treat John s/o Tom as the
value for the name parameter.
The validation for the Name parameter will process John s/o Tom and may reject it based on the stated validation rules.
However, a known limitation of this approach is that parameter values containing valid parameter prefixes will cause issues.
Let us take a look at another example:
If NAME_STRING = John p/ Tom, the command keyed in could look like radd p/[VALID_PHONE_NUM] n/John p/ Tom
(Remember that prefix order does not matter.)
This will create the presence of 2 phone number parameters. In such a case, the latter value will be taken.
As Tom is not a valid phone number, it will be rejected.
Interpreting errors
In most cases, the error displayed should be relatively self-explanatory. This sub-section aims to clear up any ambiguity you might encounter when dealing with invalid commands or errors.
We will break our explanation down into the following categories:
- Incorrect formats
- Parameters do not conform to required values
- Commands that require an
INDEX(e.g.redit 1 n/John)
Incorrect formats
This error typically shows a message along the following lines: Invalid command format! [Information on how to use
the command]

Typically this happens because the command does not match the required format. Check if you are missing any parameters.
A special case of this takes place when the INDEX value is not a number.
Parameters do not conform to required values
This error typically shows a message along the following lines: [Parameter name] must be [some condition]. E.g.
Room numbers should be formatted as such: XY-ABC, where XY can be any pair of digits except 00, and ABC can
be any 3 digits.

Typically this happens because the parameter provided does not match the required format. Check if your parameter conforms to the format stated under the command parameters section. The error message usually gives some helpful information in resolving the error too.
Commands that require an INDEX
The bounds of the INDEX parameter is documented below. This section will explain how errors with the INDEX
will be dealt with.
-
If you do not specify the
INDEX(e.g.rdel): The app will inform you that the format is invalid, and display the format that should be used. This is a specific case of incorrect formats. -
If the
INDEXis not an integer (e.g.rdel abc): The app will inform you that the format is invalid, and display the format that should be used. This is also a specific case of incorrect formats, as the command expects a number but did not get one. -
If the
INDEXparameter is required alongside other parameters e.g.redit, and only anINDEX(be it valid or not) value is provided (e.g.redit 1000orredit 1): The app will inform you that the format is invalid, and display the format that should be used. This is another specific case of incorrect formats, as the command compulsorily needs at least one of the optional parameters to be provided. -
If the
INDEXis 0 or lesser (e.g.rdel -5): The app will inform you thatINDEXshould be a positive integer.

- If the
INDEXis above the range of the collection specified (e.g.rdel 100but there are only 6 residents): The app will inform you thatINDEXneeds to be between 1 and the size of the collection in question.

Command Parameters
Many SunRez commands use various parameters. Their formats, constraints and rationale, if any, are provided in this subsection.
Features
This section contains the details on SunRez commands and features.
Resident Management
Add a resident : radd
Adds a resident to the housing management system.
Format: radd n/NAME p/PHONE_NUMBER e/EMAIL y/YEAR
Parameters:
-
NAMEThe name of the resident. -
PHONE_NUMBERThe phone number of the resident. -
EMAILThe email of the resident. -
YEARThe year of the resident.
Examples:
-
radd n/John Doe p/91234567 e/e0123456@u.nus.edu y/3Adds a resident namedJohn Doewith phone number91234567, emaile0123456@u.nus.edu, and as a 3rd year student, without any room allocated.
List all residents : rlist
Shows a list of all residents in the system sorted by alphabetical order.
Format: rlist
Find residents : rfind
Finds residents whose names contain any of the given keywords.
Format: rfind 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 the name is searched.
- Only full words will be matched e.g.
Hanwill not matchHans. - Residents matching at least one keyword will be returned (i.e. OR search). e.g.
Hans Bowill returnHans Gruber,Bo Yang. - If no resident matching the search criteria is found, the resulting resident list will be blank.
Examples:
-
rfind johnreturnsjohnandJohn Doe. -
rfind alex davidreturnsAlex Yeoh, andDavid Li.
Edit a resident record : redit
Edits the existing resident record at a specified index.
Format: redit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [y/YEAR]
- At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
-
reditwill be blocked if the resident has an active room allocation. Rundeallocbefore making further edits. See Deallocate a resident.
Parameters:
-
INDEXThe index of the displayed resident. -
NAMEThe name of the resident. -
PHONE_NUMBERThe phone number of the resident. -
EMAILThe email of the resident. -
YEARThe year of the resident.
Example:
-
redit 1 p/91234567 e/e0123456@u.nus.eduEdits the phone number and email address of the 1st resident to be91234567ande0123456@u.nus.edurespectively.
Delete a resident : rdel
Deletes the resident record at a specified index.
Format: rdel INDEX
- A resident allocated to a room cannot be deleted until it is first deallocated. Run
dealloccommmand before deletion. See Deallocate a resident.
Parameters:
-
INDEXThe index of the displayed resident.
Example:
-
rdel 1deletes the 1st resident in the resident list.
Room Management
Why do room commands start with o?
Room commands are prefixed with o as r is taken up by Resident commands.
o is the second character in Room.
Rooms are always sorted in ascending order by room number in all views.
Add a room : oadd
Adds a room to the housing management system.
Format: oadd r/ROOM_NUMBER t/ROOM_TYPE [g/TAG]...
- Room is initialised with default occupancy status of “No”.
- The occupancy status cannot be defaulted to “Yes” during room addition.
- Room occupancy status can only be changed through the
allocordealloccommand when a resident is allocated or deallocated. See allocate a resident or deallocate a resident for more info.
Parameters:
-
ROOM_NUMBERThe room number of the room to add. -
ROOM_TYPEThe type of the room being added. -
TAGOptional tags that may be specified to assist in management of the room.
Example:
-
oadd r/10-112 t/corridor_ac g/SHNAdds a room numbered10-112of typecorridor_acwith the tagSHN.
List all rooms : olist
Shows a list of all rooms in the system sorted by room number.
Format: olist
Find rooms : ofind
ofind currently only searches through rooms via room number or tags. Searching by room type will be implemented in the future.
Finds all rooms by room number or tag that contain any of the given keywords.
Format: ofind KEYWORD [MORE_KEYWORDS]
- The search matches any part of the room number. e.g.
10will match10-111and14-101. - The search for tags matches any part of the tag and is NOT case-sensitive. e.g.
mell,smell,smellyorroomall work to matchsmellyroom.swill match bothsmellyroomandSHN. - The order of the keywords does not matter. e.g.
11- 10-will match10-100,10-101,11-100, and11-101. - Only the room number and tags are searched.
- Rooms matching at least one keyword will be returned (i.e. OR search). e.g.
10 20will return10-100,11-120. - If no room matching the search criteria is found, the resulting room list will be blank.
Parameters:
-
KEYWORDThe keyword to search for in the room list.
Examples:
-
ofind 10-returns10-100,10-101, and10-102. -
ofind 10- 15-returns10-100,10-101,15-100, and15-101. -
ofind 10returns09-100,09-110,10-100, and10-101. -
ofind sreturnsSHNandsmellyroom. -
ofind 1 sreturns10-100andSHN.
Edit a room record : oedit
Edits the existing room record at a specified index.
Format: oedit INDEX [r/ROOM_NUMBER] [t/ROOM_TYPE] [g/TAG]...
-
INDEXrefers to the index number shown in the displayed room list. - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
-
oeditwill block editing of a room number if the room is occupied. Rundeallocto deallocate the room before making further edits.- This is done to prevent residents from being assigned to non-existent rooms by editing away a room’s number after allocating a resident to it.
- The occupancy status is not controllable through the
oeditcommand. - Room occupancy status can only be changed through the
allocordealloccommand when a resident is allocated or deallocated. See allocate a resident or deallocate a resident for more info. -
oeditwill block editing of a room number if there are issues tagged to the room. Runidelto delete the issues associated with the room before making further edits.- This is done to prevent issues from being assigned to non-existent rooms by editing away a room’s number after assigning an issue to it.
Room numbers are editable in general as renovation or re-numbering exercises may take place.
Parameters:
-
INDEXThe index of the room to edit. -
ROOM_NUMBERThe room number to change the room identified byINDEXto. -
ROOM_TYPEThe room type to change the room identified byINDEXto. -
TAGOptional tags that may be updated for the room identified byINDEX.
Example:
-
oedit 1 g/SHN g/BlueEdits the 1st room’s tags toSHNandBlue.
Delete a room : odel
Deletes the room at a specified index.
Format: odel INDEX
-
INDEXrefers to the index number shown in the displayed room list. -
odelwill be blocked if the room is occupied. Rundeallocto deallocate the room before attempting to delete the room. See deallocate a resident for more info. -
odelwill be blocked if there are issues associated with the room. Runidelto delete all issues associated with the room before attempting to delete the room. See delete an issue for more info.
Parameters:
-
INDEXThe index of the room to delete.
Example:
-
odel 1Deletes the 1st room in the room list.
Room Allocation/Deallocation
List all unallocated residents : rulist
Shows a list of all unallocated residents in the system sorted by alphabetical order.
Format: rulist
Allocate resident to room : alloc
Allocates an existing resident to an existing room.
Format: alloc ri/RESIDENT_INDEX oi/ROOM_INDEX
- Both fields must be provided.
- The resident and room at
RESIDENT_INDEXandROOM_INDEXrespectively must both be unallocated.
Parameters:
-
RESIDENT_INDEXThe index of the displayed resident. -
ROOM_INDEXThe index of the displayed room.
Note that RESIDENT_INDEX and ROOM_INDEX both conform to INDEX.
Example:
-
alloc ri/1 oi/2Allocates the 1st resident in the resident list to the 2nd room in the room list.
Deallocate resident from room : dealloc
Deallocates an existing resident from an existing room.
Format: dealloc RESIDENT_INDEX
- The resident at
RESIDENT_INDEXmust already be allocated.
Parameters:
-
RESIDENT_INDEXThe index of the displayed resident.
Note that RESIDENT_INDEX conforms to INDEX.
Example:
-
dealloc 1Deallocates the 1st resident in the resident list from its allocated room.
Issue Management
Issues are always sorted by status (Pending then Closed) then by timestamp in ascending order in all views.
Issues are considered duplicate if their room numbers, description, timestamp, status, and category are the same.
Add an open issue : iadd
Adds an issue to the housing management system.
Format: iadd r/ROOM_NUMBER d/DESCRIPTION [t/TIMESTAMP] [s/STATUS] [c/CATEGORY] [g/TAG]...
Parameters:
-
ROOM_NUMBERThe room number of the issue to be added. Room number must exist in SunRez. -
DESCRIPTIONThe description of the issue to be added. -
TIMESTAMPOptional timestamp of the issue to be added, defaults to the current time. -
STATUSOptional status of the issue to be added, defaults toPending. -
CATEGORYOptional category that the issue belongs in, defaults toNo Category. -
TAGOptional tags of the issue to be added.
Example:
-
iadd r/10-100 d/Broken light c/FurnitureCreates an issue for room number10-100with descriptionBroken lightunder the categoryFurniture.
List all issues : ilist
Shows a list of all issues in the system sorted by their timestamp.
Format: ilist
Find issues : ifind
Finds all issues that contain any of the given keywords in the room number, description or tags.
ifind currently only searches through issues via room number, description or tags. Searching by status will be implemented in the future.
Format: ifind KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive. e.g.
brokenwill matchBroken. - The order of the keywords does not matter. e.g.
Broken lightwill matchlight broken. - The search for tags and description matches any part of the tag and is NOT case-sensitive.
e.g.
high,HIGHorhall work to matchHigh.Hwill match bothHotandHigh. - The search matches any part of the room number. e.g.
10will match10-111and14-101. - Only the description, room number, and tags are searched.
- Issues matching at least one keyword will be returned (i.e. OR search).
e.g.
Broken windowwill returnBroken light,Dirty window, andBroken window. - If no issue matching the search criteria is found, the resulting issue list will be blank.
Parameters:
-
KEYWORDThe keyword to search for in the issue list.
Examples:
-
ifind chairreturnsBroken chairandChair missing wheel. -
ifind wardrobe tablereturnsWardrobe door broke,Table unstable, andTable stuck in wardrobe. -
ifind 1 sreturns room number10-100, descriptionTable unstableand tagInsectas they all either contain1or the strings.
Edit an issue record : iedit
Edits the existing issue record at a specified index.
Format: iedit INDEX [r/ROOM_NUMBER] [d/DESCRIPTION] [t/TIMESTAMP] [s/STATUS] [c/CATEGORY] [g/TAG]...
-
INDEXrefers to the index number shown in the displayed issue list. - At least one of the optional fields must be provided.
- Existing values will be updated to the input values.
Parameters:
-
INDEXThe index of the issue to edit. -
ROOM_NUMBERThe room number to change the issue identified byINDEXto. Room number must exist in SunRez. -
DESCRIPTIONThe description to change the issue identified byINDEXto. -
TIMESTAMPThe timestamp to change the issue identified byINDEXto. -
STATUSThe status to change the issue identified byINDEXto. -
CATEGORYThe category to change the issue identified byINDEXto. -
TAGOptional tags that may be updated for the issue identified byINDEX.
Example:
-
iedit 1 r/20-109 s/ClosedEdits the room number and status of the 1st issue to be20-109andClosedrespectively.
Close an issue : iclo
Marks as closed the issue at a specified index.
Format: iclo INDEX
-
INDEXrefers to the index number shown in the displayed issue list.
Parameters:
-
INDEXThe index of the displayed issue.
Example:
-
iclo 1Closes the 1st issue.
Delete an issue : idel
Deletes the issue at a specified index.
Format: idel INDEX
-
INDEXrefers to the index number shown in the displayed resident list.
Parameters:
-
INDEXThe index of the displayed issue.
Example:
-
idel 1Deletes the 1st issue.
General
Show help : help
Shows a message explaining how to access the help page.
Format: help
Delete all data : clear
Deletes all rooms, residents and issues in SunRez.
Format: clear
Undo previous command : undo
Restores SunRez to its state before an undoable command was executed.
Undoable command:
An undoable command is one which modifies the data of SunRez.
e.g. radd, redit, idel, clear, etc.
Format: undo
Examples:
-
rdel 1
undoUndoes therdel 1command. -
iedit 1 r/20-109 s/Closed
clear
undoUndoes theclearcommand.
undoUndoes theiedit 1 r/20-109 s/Closedcommand. -
history 5
undoFails becausehistory 5did not modify SunRez’s data.
Shortcuts to undo:
-
GUI: Select
Edit->Undoin the menu at the top of SunRez. -
Keyboard: Press
CTRL+Z(Windows, Linux) orCMD+Z(Mac).
These behave as if you entered undo in the command box and hit ENTER; an undo command will be registered in
command history.
Redo previously undone command: redo
Reverses the previous undo operation.
Format: redo
Examples:
-
rdel 1
undoUndoes therdel 1command.
redoRedoes therdel 1command. -
rdel 1
redoFails because there are no previousundocommands. -
iedit 1 r/20-109 s/Closed
clear
undoUndoes theclearcommand.
undoUndoes theiedit 1 r/20-109 s/Closedcommand.
redoRedoes theiedit 1 r/20-109 s/Closedcommand.
redoRedoes theclearcommand.
Shortcuts to redo:
-
GUI: Select
Edit->Redoin the menu at the top of SunRez. -
Keyboard: Press
CTRL+SHIFT+Z(Windows, Linux) orCMD+SHIFT+Z(Mac).
These behave as if you entered redo in the command box and hit ENTER; a redo command will be registered in
command history.
Add an alias : alias
Adds a user-defined alias, which represents a shortcut to a longer command.
Format: alias a/ALIAS_NAME cmd/COMMAND
- Parameters must be in this exact order.
- Any parameters after
cmd/will be parsed as part of the command.
Parameters:
-
ALIAS_NAMEThe name of the alias to be added. -
COMMANDThe command that the alias is short for.
Examples:
-
alias a/ol cmd/olistAdds theolalias which is a shortcut forolistcommand. -
alias a/fNemo cmd/rfind NemoAdds thefNemoalias which is a shortcut forrfind Nemocommand.
Delete an alias : unalias
Deletes a previously defined alias.
Format: unalias a/ALIAS_NAME
Parameters:
-
ALIAS_NAMEThe name of the alias to be deleted.
Example:
-
unalias a/findBobDeletes thefindBobalias, provided that the alias was previously added.
List all aliases : aliases
Shows a list of current aliases in the system sorted by names in alphabetical order.
Format: aliases
View command history : history
Displays the user’s valid command history, sorted from most to least recent.
Format: history [COUNT]
- Displays the
COUNTmost recent command entries, ifCOUNTis specified. Otherwise, displays all command entries.
Parameters:
-
COUNTThe number of most recent command entries to display.
Examples:
-
historyDisplays all command entries. -
history 5Displays the 5 most recent command entries.
Access command history
Previous successful commands can be accessed via the UP and DOWN arrow keys on the keyboard.
UP selects the previous command. DOWN selects the next command.
Example usage:
- Enter some commands as per normal.
- Make sure the command box is in focus (e.g. click on it).
- Press the
UParrow key on your keyboard. - SunRez should display the most recent successful command in the command box.
- Hit
ENTERto run that command again. - Alternatively, select other commands via the
UPandDOWNarrow keys.
- Hit
Exit the program : exit
Exits the program.
Format: exit
SunRez Data Files
SunRez main application data and command history are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Undo/redo history
Undo/redo history is not saved to the hard disk, so it will be lost when SunRez is exited.
Edit the data files
- SunRez main application data is saved as a JSON file
[JAR_file_location]/data/sunrez.json. - SunRez command history is saved as a plain-text file
[JAR_file_location]/data/commandhistory.txt.- Each command history entry is a single line in the file.
- The entire command history can be cleared by simply deleting the contents of the command history file.
Advanced users are welcome to edit these files directly.
If your changes to the data file makes its format invalid, SunRez will discard all data and start with an empty data file at the next run.
If your changes are in a valid format but contain normally illegal data (e.g. duplicate residents, self-referencing aliases, etc.) then SunRez may stop functioning properly. We currently make no guarantees on the usability of SunRez if you edit its data files directly, although in future we may add protective measures.
FAQ
How do I transfer my data to another computer?
- On the computer with your data, do the following:
- Navigate to where SunRez is installed: the location of
sunrez.jar. - Copy the files in this folder to your other computer:
[JAR file location]/data/.[JAR file location]refers to the folder in step 1 on the computer with your data.
- Navigate to where SunRez is installed: the location of
- Then, on the destination computer, do the following:
- Download SunRez (
sunrez.jar) and place it in a suitable folder. - If it does not already exist, create a new folder named
datanext tosunrez.jar. That is, ensure that the folder[JAR file location]/data/exists on the destination computer.[JAR file location]here refers to the folder in step 1 on the destination computer. - Paste the files from earlier into this folder. If prompted to replace existing files, do so.
- Launch SunRez. You should see the data from your old computer populating the GUI of SunRez.
- Download SunRez (
To avoid accidental loss of data, use the same version of SunRez on both computers. Different versions of SunRez may have incompatible data files which may result in loss of data. An easy way to ensure you have the same version is to copy
sunrez.jar along with its data folder and files to the destination computer. In a future release, we plan to
implement a safe way to ensure data migration across versions of SunRez.
Command summary
| Action | Format, Examples |
|---|---|
| Show help | help |
| Add a resident |
radd n/NAME p/PHONE_NUMBER e/EMAIL y/YEAR e.g. radd n/Joseph Tan p/84666774 e/e0103994@u.nus.edu y/2
|
| List all residents | rlist |
| List all unallocated residents | rulist |
| Find residents |
rfind KEYWORD [MORE_KEYWORDS] e.g. rfind bob bobby
|
| Edit a resident record |
redit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [y/YEAR] e.g. redit 1 p/91234567 e/e0123456@u.nus.edu
|
| Delete a resident |
rdel INDEX e.g. rdel 1
|
| Add a room |
oadd r/ROOM_NUMBER t/ROOM_TYPE [g/TAG]... e.g. oadd r/17-101 t/corridor_ac g/SHN
|
| List all rooms | olist |
| Find rooms |
ofind KEYWORD [MORE_KEYWORDS] e.g. ofind 10- 15-
|
| Edit a room record |
oedit INDEX [r/ROOM_NUMBER] [t/ROOM_TYPE] [g/TAG]... e.g. oedit 1 g/SHN
|
| Delete a room |
odel INDEX e.g. odel 1
|
| Allocate a Resident to Room |
alloc ri/RESIDENT_INDEX oi/ROOM_INDEX e.g. alloc ri/1 oi/2
|
| Deallocate a Resident from Room |
dealloc INDEX e.g. dealloc 1
|
| Add an open issue |
iadd r/ROOM_NUMBER d/DESCRIPTION [t/TIMESTAMP] [s/STATUS] [c/CATEGORY] [g/TAG]... e.g. iadd r/10-100 d/Broken light c/Furniture g/HIGH
|
| List all issues | ilist |
| Find issues |
ifind KEYWORD [MORE_KEYWORDS] e.g. ifind wardrobe table
|
| Edit an issue record |
iedit INDEX [r/ROOM_NUMBER] [d/DESCRIPTION] [t/TIMESTAMP] [s/STATUS] [c/CATEGORY] [g/TAG]... e.g. iedit 1 r/20-109 s/Closed
|
| Close an issue |
iclo INDEX e.g. iclo 1
|
| Delete an issue |
idel INDEX e.g. idel 1
|
| View command history |
history [COUNT] e.g. history 5
|
| Undo previous command |
undo CTRL+Z/CMD+Z (keyboard shortcuts) |
| Redo previously undone command |
redo CTRL+SHIFT+Z/CMD+SHIFT+Z (keyboard shortcuts) |
| Add an alias |
alias a/ALIAS_NAME cmd/COMMAND e.g. alias a/il cmd/ilist
|
| Delete an alias |
unalias a/ALIAS_NAME e.g. unalias a/findBob
|
| List all aliases | aliases |
| Delete all data | clear |
| Exit the app | exit |