User Guide
RealEstatePro is a desktop app for managing contacts, optimized for real estate agents to manage their client’s contacts and sales of HDB properties. The app also includes various tools which aims to help agents in their work.
Reference
Original AB3 User Guide: link
Table of contents
- Quick Start
- Features
- General Commands
- Client Management
- Tools
- Future Features
- Storage
- FAQ
- Command Summary
- Keyboard Shortcuts
- Glossary
Quick start
- Ensure you have Java
11or above installed on your computer. - Download the latest
realestatepro.jarfrom here. - Copy the file to the folder you want to use as the home folder for your RealEstatePro.
- 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. typing
helpand pressing Enter will open the help window. Some example commands you can try:-
list: Lists all client information. -
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 pr/north,123 Street,1-room,$300000: Adds a client namedJohn Doe, contact number98765432, emailjohnd@example.com, addressstreet, block 123, #01-01owns the propertynorth,123 Street,1-room,$300000and is a seller in the RealEstatePro app. -
delete 3: Deletes the 3rd client shown in the current list. -
clear: Deletes all client information. -
exit: Exits the app.
-
- Refer to the Features below for details of each command.
Features
Notes about the command format:
-
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.n/NAME [pr/PROPERTY]can be used asn/John Doe pr/north,123 Street,1-room,$300000or asn/John Doe. -
Items with
…after them can be used multiple times including zero times.
e.g.[p/PHONE_NUMBER]…can be used as ` ` (i.e. 0 times),p/12345,p/12345 p/54321etc. -
Inputting information after
pr/&p/indicates the type of property a client is selling or buying.
e.g.pr/PROPERTYcan be used aspr/East, Block 123, 2-room, $550000means this client is a seller looking to sell a 2-room property at Block 123 which is located in the East, with a price of $550000.
More information about the required format of properties can be found in the next section. -
client parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER pr/PROPERTY,p/PHONE_NUMBER pr/PROPERTY 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 specifyp/12341234 p/56785678, onlyp/56785678will be taken. -
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.
Notes about the property and preference format:
-
Properties must be specified in the following format:
pr/REGION,ADDRESS,SIZE,PRICE. Whitespace between parameters is ignored.
e.g. Bothpr/East,Pasir Ris Drive 1 Block 123,2-room,$550000andpr/East, Pasir Ris Drive 1 Block 123, 2-room, $550000are acceptable.pr/Pasir Ris Drive 1 Block 123, East, 2-room, $550000is not acceptable. -
Preference must be specified in the following format:
pf/REGION,SIZE,LOWPRICE,HIGHPRICE. Whitespace between parameters is ignored. -
Parameter formats:
- REGION: One of [
North,South,East,West,Central] (Non case-sensitive). - ADDRESS: Any non-empty string that does not contain
,. e.g.Pasir Ris Drive 1 Block 123 - SIZE: One of [
1-room,2-room,3-room,4-room,5-room] (Non case-sensitive). - PRICE:
$followed by a positive integer. e.g.$150000
- REGION: One of [
Notes about the image format:
- Image must be specified in the following format
i/FILEPATH:DESCRIPTION. Make sure your file path is from the directory the jar file is run. Description is optional and can be omitted.
General Commands
Open Help Window: help
Opens a new window that displays information on how to use the app and a URL to the user guide of the app.
Format: help
Navigating the help window

- Link to the full user guide.
- Buttons to access the different help sections.
- Help contents.
Listing all clients : list
Shows a list of all clients in the address book.
Format: list
Clearing all entries : clear
Deletes all clients from the address book.
Format: clear
Exiting the program : exit
Exits the program.
Format: exit
Client Management
Adding a client: add
Adds a client to RealEstatePro.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [pr/PROPERTY]… [pf/PREFERENCE] [i/FILEPATH:DESCRIPTION]
buyer, or seller based on whether he has a property or a preference.
Examples:
add n/Betsy Crowe e/betsycrowe@example.com a/Newgate Prison p/1234567 pf/West, 1-room, $100000, $200000 i/living.png:living room-
add n/John Doe p/98765432 e/johnd@example.com a/John street block 123 #01-01, pr/East, John street block 123 #01-01, 2-room, $200000
Editing a client: edit
Edits an existing client’s information in RealEstatePro.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [pr/PROPERTY]… [i/FILEPATH:DESCRIPTION]…
- Edits the client at the specified
INDEX. The index refers to the index number shown in the displayed client 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.
- Type of the client can be changed from
buyertoseller& vice versa by adding aPropertyor aPreferencewhich removes the client’s currentPropertyorPreference. - You can remove all the client’s properties by typing
pr/without specifying any properties after it.
Examples:
-
edit 1 p/91234567 e/johndoe@example.comEdits the phone number and email address of the 1st client to be91234567andjohndoe@example.comrespectively. -
edit 2 n/Betsy Crower p/1234567 pf/West, 1-room, $100000, $200000Edits the name of the 2nd client to beBetsy Crowerand updates the 2nd client to have apreferenceturning the 2nd client into abuyer. -
edit 2 n/Betsy Crower pr/Edits the name of the 2nd client to beBetsy Crowerand clears all existing properties. -
edit 2 i/Living.png:living roomEdits 2nd client to only haveLiving.pngand removes all other images.
Deleting a client: delete
Deletes the specified client from the address book.
Format: delete INDEX
- Deletes the client at the specified
INDEX. - The index refers to the index number shown in the displayed client list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
listfollowed bydelete 2deletes the 2nd client in the address book. -
find Betsyfollowed bydelete 1deletes the 1st client in the results of thefindcommand.
Note:
- Images associated with the client are not deleted and remains in the OS file system.
Favourite a client: favourite
Favourites the specified client in the RealEstatePro represented by a star as show below. The user (real estate agent) will be able to view a more compact list of favourited clients in a new window called Favourites window.

Format: favourite INDEX
- Favourites the client at the specified
INDEX. - The index refers to the index number shown in the displayed client list.
- The index must be a positive integer 1, 2, 3, …
Open Favourites window: fw
Opens a new window that displays the compacted list of clients that have been favourited.
Format: fw
By Ui:
1) Navigate to the File menu and click on it.
2) Under it, click on Favourites.
3) The system will pop up the Favourites window that displays the compacted list of clients that have been favourited.
Locating clients by name: find
Finds clients whose specified attribute contain any of the given keywords.
Format: find ATTRIBUTE KEYWORD [MORE_KEYWORDS]
-
ATTRIBUTEcan be one of:allnamephoneemailaddresspropertiespreferenceusertype. - If the specified attribute is
all, search for the keywords in all attributes. - 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. - clients matching at least one keyword will be returned (i.e.
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang.
Examples:
-
find name JohnreturnsjohnandJohn Doe -
find name sam elonreturnsSam Yeo,Elon Musk
Sorting clients: sort
Sorts the list of clients displayed according to one or more keywords.
Format: sort [!]KEYWORD [[!]MORE_KEYWORDS]…
-
KEYWORDcan be one ofnamephoneemailaddressfavouriteusertypenum_property(case-insensitive). - Prefixing a keyword with
!will reverse the sorting order for that keyword. - If multiple keywords are specified, the list is sorted according to the order in which the keywords are specified, i.e., subsequent keywords are used to break ties after sorting by the previous keyword.
The following table shows the keywords and the default sorting behaviours:
| Keyword | Default Behaviour |
|---|---|
name |
Sort by Name alphabetically |
phone |
Sort by Phone numerically |
email |
Sort by Email lexicographically |
address |
Sort by Address lexicographically |
favourite |
Show favourites first |
usertype |
Show buyers first |
num_property |
Sort by number of Property
|
Examples:
-
sort address name phonewill sort the list byAddressfirst. If there are entries with equalAddress, the entries will be sorted byName. If there are entries with equalAddressandName, they will be sorted byPhone. -
sort !namewill sort the list according toNamein reverse alphabetical order, i.e.,Sam Yeowill be listed beforeElon Musk. -
sort favourite !namewill sort the list according toFavourite, with favourites being listed first, followed by non-favourites. Within each group, entries are sorted according toNamein reverse alphabetical order. -
sort num_propertywill sort the list according to the number of properties a client has. Buyers will be listed first since they have no properties.
Notes about sorting:
- Sorting is integrated with the find feature, i.e., sorting clients after using the
findcommand will sort the filtered list. To sort the unfiltered list, reset the filter using thelistcommand before using thesortcommand. - Capitalization of alphabets is ignored, i.e.,
Aikenandaikenhave the same priority when sorting alphabetically.
sort !usertype num_property.
Tools
Matching properties and preferences: match
Opens a new window and shows all sellers and buyers with matching property and preference.
Format: match
Upload an Image : upload
Uploads an image and description to be associated with a client.
Format upload INDEX [i/FilePath:description]
- Adds an image to the client at the specified
INDEX. - The index refers to the index number shown in the displayed client list.
- File path is from the directory the JAR file is ran from. e.g.
upload 1 i/example.png:living room
. - Description is optional and can be left blank e.g.
upload 1 i/example.png. - multiple images can be uploaded at once by starting each file with a new flag e.g.
upload 1 i/example.png:living room i/example2.png:Bed Room.
View image of client: viewimage
View images that are associated with a client in another window.
Format viewimage INDEX
Setting a Reminder for a client: remind
Sets a reminder for the specific client from the application. The user (real estate agent) will be able to view a more compact list of clients with reminders set, via a new window called the Reminder window.
Format: remind INDEX r/ReminderDetails
- Sets a Reminder for the client at the specified
INDEX. - The index refers to the index number shown in the displayed client list.
- The index must be a postive integer 1, 2, 3, …
- The
ReminderDetailsmust be a non-empty String, e.g.arrange home viewing.
Open Reminder window: rm
Opens a new window that displays compacted list of clients that have Reminders set.
Format: rm
By Ui:
1) Navigate to the File menu and click on it.
2) Under it, click on Reminders.
3) The system will launch the Reminders window that contains a list of clients the user has set Reminders for.
Displaying statistics: stats

Opens up a new window that shows a pie chart of the number of buyers & sellers with preference or properties respectively in a particular region.
Format: stats
Future Features [Coming soon]
- More types of sizes and increased details such as floor size, landed properties.
- Display statistics of the number of properties being sold/bought categorized by their room size to provide insight on the most popular number of rooms in a property.
- Display statistics of the prices of properties sold/bought to provide insight on the average property price sold/bought.
- Display statistics of lower price and higher price of preferences of clients to provide insight on the average asking price of a property.
- Allow images to be associated with properties or preferences to allow for better organization
Storage
Saving the data
RealEstatePro 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
RealEstatePro data are saved as a JSON file [JAR file location]/data/realestatepro.json. Advanced users are welcome to update data directly by editing that data file.
FAQ
Command Summary
| Action | Format | Examples |
|---|---|---|
| Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [pr/PROPERTY]… [pf/PREFERENCE] i/FILEPATH[:DESCRIPTION]… | e.g. add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 pr/East, John street block 123 #01-01, 2-room, $200000 i/living.png:Living room |
| Clear | clear | - |
| Delete | delete INDEX | e.g. delete 3 |
| Edit | edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [pr/PROPERTY]… [i/FILEPATH[:DESCRIPTION]]… | e.g. edit 2 n/James Lee e/jameslee@example.com |
| Find | find ATTRIBUTE KEYWORD [MORE KEYWORDS…] | e.g. find name James Jake |
| Sort | sort [!]KEYWORD [[!]MORE_KEYWORDS]… | e.g. sort name !phone email |
| Remind | remind INDEX r/reminderDetails | e.g. remind 1 r/home viewing |
| Upload | upload INDEX i/FilePath[:Description]… | e.g. Upload 1 i/livingroom.png:Living room of 4-room flat |
| viewimage | viewimage INDEX | e.g. viewimage 1 |
| List | list | - |
| Help | help | - |
| Match | match | - |
| Favourite | favourite INDEX | e.g., favourite 3 |
| Favourites window | fw | - |
| Statistics window | stats | - |
| Reminder window | rm | - |
Keyboard Shortcuts
| Key | Function |
|---|---|
| F1 | Opens Help Window |
| F2 | Opens Statistics Window |
| F3 | Opens Favourites Window |
| F4 | Opens Reminders Window |
Glossary
- Users: Real estate agents.
- Clients: Customers of the real estate agents looking to buy or sell property.
- Buyers: Clients that have engaged the real estate agent to help them buy a property.
- Sellers: Clients that have engaged the real estate agent to help them sell their property.