User Guide
Introduction
Welcome to the REal-Time User Guide!
In this user guide, you will find everything you need to know about REal-Time in making your user experience easy and smooth.
The REal-Time user guide provides you with step-by-step instructions from installing the application to teaching you our easy-to-use features!
About REal-Time
Tired of having to manage your client information and details through multiple spreadsheets, tracking through listings in another application and scheduling your important meetings with clients through a calendar app? Look no further, as REal-Time has got you covered!
REal-Time is a desktop application for Real-Estate agents to manage client information, schedule meetings, and track client offers and listings, isn’t that awesome?
It is optimized for use via a Command Line Interface (CLI) while still having the added benefits of a Graphical User Interface (GUI). With just the usage of a standard keyboard, REal-Time can get all the necessary tasks done faster than traditional GUI apps!
Fun fact
The “REa” in REal-Time stands for Real-Estate agents, which is the intended target user of our application!
Using this guide
Now that you have read the introduction and learnt about what our product does, get started in using REal-Time by following the guide provided in the Quick Start section. Otherwise,
- If you are still unsure of the commands used in REal-Time, the Command Summary is a good place to start.
- The Prefix Summary and Glossary are also great places to understand REal-Time better.
- If you are a developer and would like to help improve our product, take a look at our Developer Guide.
Table of Contents
- Introduction
- Quick start
- Layout
- Command format
- Features
- Glossary
- Command Summary
- Prefix Summary
Quick start
-
Ensure you have
Java 11
or above installed in your Computer. To installJava 11
, click here and download the appropriate file depending on your Operating System (OS) (e.g, Linux, Windows, macOS). -
Download the latest
REal-Time.jar
file from here. TheREal-Time.jar
file is located in the “Assets” section as shown below. -
Copy the file to the folder you want to use as the home folder for REal-Time. If you are unsure on how to create a new folder, click here to learn more.
-
Double-click the file to start the app. The GUI similar to the one below should appear in a few seconds. Note how the app contains some sample data.
-
Refer to the Layout if you are still unsure in navigating REal-Time’s interface.
-
Type the command in the command box and press Enter to execute it. e.g. typing
help
and pressing Enter will open the help window.
Some example commands you can try:
- We recommend you to read the Command Format section before using REal-Time.
- Refer to the Features below for more details of each command.
Back to Table of Contents
Layout
Command Box
- What you type will be shown here.
Feedback Box
- REal-Time feedbacks to your commands will appear here.
Client Box
- All Clients in REal-Time will appear here.
Offer Box
- All Offers in REal-Time will appear here.
Listing Box
- All Listings in REal-Time will appear here.
Meeting Box
- All Meetings in REal-Time will appear here.
Back to Table of Contents
Command format
We highly recommend you to read this section before using REal-Time
REal-Time functions are based on commands that you enter. REal-Time has 4 main types of commands. let’s learn how to write them!
1. add
This type of command includes addC
addO
addL
addM
and is used to add a new
entry into REal-Time.
Back to Table of Contents
Format: addC n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
This command adds a client into REal-Time.
-
addC
is the Command Word -
n/
p/
e/
a/
are Prefixes. Prefixes help REal-Time distinguish between different inputs. -
NAME
PHONE_NUMBER
EMAIL
ADDRESS
are the Data Field that you can input. For example,NAME
inn/NAME
can be replaced withn/John Doe
.
Let’s say you want to add a client named John Doe
, his phone number
is 12345678
, his email is john@gmail.com
and his address is 123 John St
.
You can enter the following command:
addC n/John Doe p/12345678 e/john@gmail.com a/123 John St
Note:
-
You may notice square brackets [] around some parameters. This indicates that the field is optional. For the example above, the
t/TAG
parameter can be left empty if you do not wish to tag the client. -
You may also notice
…
after thet/TAG
field. This indicates that you may enter this field as many times as you want to (0 or more times). For example, if you want to tagJohn Doe
asFriend
andNeighbor
you can addt/Friend t/Neighbor
to the command above. -
The order of every field does not matter. If the command specifies
n/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If a field is expected only once in the command, but you specified it multiple times, only the last occurrence will be taken. If you specify
n/John Dough n/John Doe
, onlyn/John Doe
will be taken.
2. del
This type of command includes delC
delO
delL
delM
and is used to delete a
current entry from REal-Time.
Back to Table of Contents
Format: delL INDEX
Let’s say you want to delete the second listing from the Listing Box
.
You can enter the following command:
delL 2
Note:
-
INDEX
refers to the index number shown in each of the box. Below is an example:
-
INDEX
must be a positive integer 1, 2, 3, …
3. edit
This type of command includes editC
editO
editL
editM
and is used to edit the details
of a current entry in REal-Time.
Back to Table of Contents
Format: editO INDEX [n/NAME] [o/OFFER_PRICE] [l/LISTING_ID]
Let’s say there is an existing offer at INDEX
2 that Betsy Crowler
made for john_house
with offer price 100000
but Betsy Crower just increased her offer price to 200000
, you also realised that you spelt her
name wrongly the first time you add this offer, and it is actualy Besty Crower
and you want to update this
change in REal-Time.
You can enter the following command:
editO 2 n/Betsy Crower o/200000
4. list
This type of command includes listC
listL
and is used to list all the entries
of the specific type in REal-Time.
Back to Table of Contents
Format: listC
Let’s say you want to see all the clients in REal-Time.
You can enter the following command:
listC
Features
Managing Clients
In this section, we provide you the basic steps needed to add, delete, edit, find and list clients.
If this is not the section you are looking for, click here to go back to the Table of Contents.
Adding a client: addC
Adds a client to REal-Time.
Format: addC n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
-
NAME
refers to the name of the client.
-
PHONE_NUMBER
refers to the phone number of the client
-
EMAIL
refers to the email address of the client.
-
ADDRESS
refers to the address of the client.
-
TAG
refers to the tags that you want to associate with the client.
Example input:
Success
addC n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
addC n/Betsy Crowe t/friend e/betsy@example.com a/Newgate Prison p/1234567 t/criminal
Failure
-
Invalid client name:
addC n/John D@e p/98765432 e/johnd@example.com a/John street, block 123, #01-01
-
Missing fields:
addC n/John Doe a/John street, block 123, #01-01
Expected Success Output:
A new client is added to RealTime.
Feedback Box:
New client added: [details of the newly added client]
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Clients
Deleting a client : delC
Deletes the client at the specified index in REal-Time.
Format - delC INDEX
Example Input:
Success
delC 1
Failure
-
Invalid index:
delC -1
Expected Success Output:
The client at specified INDEX
is deleted from REal-Time.
Feedback Box:
Deleted Client: [details of the deleted client]
Note:
-
listC
followed bydelC 2
deletes the 2nd client in the REal-Time. -
findC Betsy
followed bydelC 1
deletes the 1st client in the results of thefindC
command. - If you have any confusion of the notation, you can refer to the Command Format section here.
Back to Table of Contents
Back to Managing Clients
Editing a client : editC
Edits an existing client in REal-Time.
Format: editC INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
Example input:
Success
editC 1 p/91234567 e/johndoe@example.com
editC 2 n/Betsy Crower t/
Failure
-
Invalid index:
editC 0 p/12345678
-
Missing fields:
editC 1
Expected Success Output:
The client at the specified INDEX
is edited according to the fields provided.
Feedback Box:
Edited Client: [newly updated details of client]
Note:
- 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.
- When editing tags, the existing tags of the client will be removed i.e adding of tags is not cumulative.
- You can remove all the client’s tags by typing
t/
without specifying any tags after it.
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Clients
Finding clients by name: findC
Finds clients whose names contain any of the given keywords.
Format: findC KEYWORD [MORE_KEYWORDS]
Example Input:
Success
findC John
Failure
-
No keywords provided:
findC
- The list of clients in the Client Box is updated to a list of all matches from the findC command.
Feedback Box:
[number of matches] clients listed!
Note:
- The search is case-insensitive. e.g
hans
will matchHans
- The order of the keywords does not matter. e.g.
Hans Bo
will matchBo Hans
- Only the name is searched.
- Only full words will be matched e.g.
Han
will not matchHans
- Clients matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
Back to Table of Contents
Back to Managing Clients
Listing Clients: listC
Shows the full list of clients.
Format: listC
Expected Success Output:
The full list of clients appears in the Client Box.
Feedback Box:
Listed all clients
Back to Table of Contents
Back to Managing Clients
Managing Offers
In this section, we provide you the basic steps needed to add, delete, and edit offers.
If this is not the section you are looking for, click here to go back to the Table of Contents.
Adding an offer: addO
Adds an offer to REal-Time.
Format: addO l/LISTING_ID n/NAME o/OFFER_PRICE
-
LISTING_ID
refers to the ListingId of the Listing that the offer has been made for.
-
NAME
refers to the name of the client making the offer.
-
OFFER_PRICE
refers to the offer price that has been made for the listing.
Example Input:
Success
addO l/BEDOK_NORTH_BLK123_12 n/John Doe o/2000000
Failure
-
Missing fields:
addO l/BEDOK_NORTH_BLK123_12 n/John Doe
-
Invalid offer price:
addO l/BEDOK_NORTH_BLK123_12 n/John Doe o/-1
Expected Success Output:
A new offer is added to REal-Time
Feedback Box:
New offer added: [offer details]
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Offers
Deleting an offer : delO
Deletes the specified offer in REal-Time.
Format - delO INDEX
Example Input:
Success
delO 2
Failure
-
Invalid index:
delO 0
-
Missing Index
delO
Expected Success Output:
The offer at specified INDEX
is deleted from REal-Time.
Feedback Box:
Deleted Offer: [details of the deleted offer]
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
Back to Table of Contents
Back to Managing Offers
Editing an offer : editO
Edits an existing offer in REal-Time.
Format: editO INDEX [n/NAME] [o/OFFER_PRICE] [l/LISTING_ID]
Example Input:
Success
editO 2 n/Betsy Crower o/200000
Failure
-
Invalid index:
editO -1 n/Betsy Crower o/200000
-
Invalid client name:
editO 2 n/Betsy Cr@wer o/200000
Expected Success Output:
The offer at INDEX
2 is edited according to the fields provided.
Feedback Box:
Edited Offer: [newly updated details of offer]
Note:
- Edits the offer 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.
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Offers
Managing Listings
In this section, we provide you the basic steps needed to add, delete, edit and list listings.
If this is not the section you are looking for, click here to go back to the Table of Contents.
Adding a listing: addL
Adds a listing to REal-Time.
Format: addL l/LISTING_ID a/ADDRESS n/OWNER_NAME ap/ASKING_PRICE [t/TAG]…
-
l/LISTING_ID
refers to the ListingId you wish to assign to this Listing.
-
a/ADDRESS
refers to the address of this Listing.
-
n/NAME
refers to the name of the owner of this Listing.
-
ap/ASKING_PRICE
refers to the asking price that the owner is asking for this Listing.
Example Input:
Success
addL l/007 a/100 Charming Ave n/Joke Peralta ap/10000000
Failure
-
Missing asking price field:
addL l/007 a/100 Charming Ave n/Joke Peralta`
Expected Success Output:
A new listing is added to REal-Time
Feedback Box:
New listing added: [listing details]
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Listings
Deleting a listing : delL
Deletes the listing at the specified Index from REal-Time.
Format: delL id/INDEX
Example Input:
Success
delL 1
Failure
-
Invalid index:
delL 2356739457
Expected Success Output:
The listing at the specified INDEX
is deleted from REal-Time.
Feedback Box:
Deleted Listing: [details of the deleted listing]
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
Back to Table of Contents
Back to Managing Listings
Editing a listing : editL
Edits an existing listing in the REal-Time.
Format: editL INDEX [l/LISTING_ID] [a/ADDRESS] [n/OWNER_NAME] [ap/ASKING_PRICE] [t/TAG]…
Example input:
Success
editL 1 n/Joke Peralta
Failure
-
Invalid index:
editL 200 n/Joke Peralta
-
Missing fields:
editL 1
Expected Success Output:
The listing at the specified INDEX
is edited according to the fields provided.
Feedback Box:
Edited Listing: [newly updated details of listing]
Note:
- Edits the listing at the specified
INDEX
. The index refers to the index number shown in the displayed listing 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 listing will be removed i.e adding of tags is not cumulative.
- You can remove all the listing’s tags by typing
t/
without specifying any tags after it.
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Listings
Listing listings: listL
Shows the full list of listings.
Format: listL
Expected Success Output:
The full list of listings appears in the Client Box.
Feedback Box:
Listed all listings
Back to Table of Contents
Back to Managing Listings
Managing Meetings
In this section, we provide you the basic steps needed to add, delete and edit meetings.
If this is not the section you are looking for, click here to go back to the Table of Contents.
Currently, Meetings are not displayed in the UI.
Adding a meeting: addM
Adds a meeting to the REal-Time.
Format: addM l/LISTING_ID n/CLIENT_NAME d/DATE_TIME
-
LISTING_ID
refers to the Listing the meeting is about. -
CLIENT_NAME
refers to the name of the Client you are meeting. -
DATE_TIME
refers to the date and time of the meeting.
Example Input:
Success
addM l/007 n/Joke Peralta d/2022-10-20 12:00
Failure
-
Wrong date format:
addM l/007 n/Joke Peralta d/tomorrow 12pm
Note:
- DATE_TIME must be in this format, yyyy-MM-dd HH:mm
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Meetings
Deleting a meeting : delM
Deletes the meeting at the specified index from REal-Time.
Format: delM id/INDEX
Example Input:
Success
delM 1
Failure
-
Invalid index:
delM -1
Expected Success Output:
The meeting at the specified INDEX
is deleted from REal-Time.
Feedback Box:
Deleted Meeting: [details of the deleted listing]
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
Back to Table of Contents Back to Managing Meetings
Editing a meeting : editM
Edits an existing meeting in REal-Time.
Format: editM INDEX [n/NAME] [d/DATE_TIME]
Example input:
Success
`editM 1 n/Joke Peralta d/2022-10-20 23:59`
Failure
-
Invalid index:
editM -1 n/Joke Peralta
-
Missing fields:
editM 1
Expected Success Output:
The meeting at the specified INDEX
is edited according to the fields provided.
Feedback Box:
Edited Meeting: [newly updated details of meeting]
Note:
- Edits the meeting 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.
Help:
- If you have any confusion of the notation, you can refer to the Command Format section here.
- If you are still unsure of the prefixes, click here to find out more.
Back to Table of Contents
Back to Managing Meetings
General
In this section, we provide you the basic steps needed to use the help, clear and exit commands.
If this is not the section you are looking for, click here to go back to the Table of Contents.
Available commands: help
clear
exit
Viewing help : help
Show a help window for REal-Time
Format: help
Expected Success Output:
A window displaying help similar to below will appear.
Back to Table of Contents
Back to General
Clearing all entries : clear
Clears all entries in REal-Time.
Example Input:
clear
Expected Success Output:
All data in REal-Time is cleared
Back to Table of Contents
Back to General
Exit REal-Time : exit
Exits REal-Time
Example Input:
exit
Expected Success Output:
The REal-Time window closes.
Back to Table of Contents
Back to General
Saving the data
REal-Time data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Back to Table of Contents
Back to General
Editing the data file
REal-Time data are saved as a JSON file [JAR file location]/data/realtime.json
.
Advanced users are welcome to update data directly by editing that data file.

Back to Table of Contents
Back to General
Glossary
Term | Description |
---|---|
OS | The operating system is the software that is used to run in your computer. |
CLI | Interface that takes in text commands from the user |
GUI | A form of user interface that allows users to interact through graphics |
Client | A person that is interested in purchasing or selling a property |
Offer | A price that the purchaser is willing to pay for a property |
Listing | A property that is being advertised |
Meeting | A scheduled appointment between the Real-Estate agent and client |
JSON file | JSON stands for JavaScript Object Notation. JSON is a lightweight format for storing and transporting data. |
Back to Introduction
Back to Table of Contents
Command Summary
Action | Format | Examples |
---|---|---|
Add Client | addC n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… |
addC n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague |
Add Listing | addL l/LISTING_ID a/ADDRESS n/OWNER_NAME ap/ASKING_PRICE [t/TAG]… |
addL l/007 a/100 Charming Ave n/Joke Peralta ap/10000000 |
Add Meeting | addM id/Listing_ID n/CLIENT_NAME d/DATE_TIME |
addM id/1 a/John street, block 123, #01-01 d/2022-10-20 12:00 |
Add Offer | addO l/LISTING_ID n/NAME o/OFFER_PRICE |
addO l/30_SERGARDENS_LOR23_0718 n/Bob o/600000 |
Clear | clear |
clear |
Delete Client | delC INDEX |
delC 3 |
Delete Listing | delL INDEX |
delL 1 |
Delete Meeting | delM INDEX |
delM 4 |
Delete Offer | delO INDEX |
delO 2 |
Edit Client | editC INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]… |
editC 2 n/James Lee e/jameslee@example.com |
Edit Listing | editL INDEX [l/LISTING_ID][a/ADDRESS] [n/OWNER_NAME] [ap/ASKING_PRICE] [t/TAG]… |
editL 4 ap/1234567 |
Edit Meeting | editM INDEX [n/OWNER_NAME] [d/DATE_TIME] |
editM 2 n/Roza Santiago |
Edit Offer | editO INDEX [n/NAME] [o/OFFER_PRICE] [l/LISTING_ID] |
editO 2 n/Betsy Crower o/123456 |
Find Client | findC KEYWORD [MORE_KEYWORDS] |
findC James Jake |
List Client | listC |
listC |
List Listing | listL |
listL |
Help | help |
help |
Back to Table of Contents
Prefix Summary
Prefix | Description | Used in | Example |
---|---|---|---|
a/ |
Address of the Client or the Listing. |
Add Client Add Listing Edit Client Edit Listing |
a/123, Clementi Rd, 1234665 |
ap/ |
Asking Price of the Owner in a Listing. |
Add Listing Edit Listing |
ap/500000 |
d/ |
Date and time of a Meeting with a Client. |
Add Meeting Edit Meeting |
d/2022-10-20 12:00 |
e/ |
Email of the Client. |
Add Client Edit Client |
e/johndoe@example.com |
l/ |
Listing ID by the user for a Listing. Can be specified by the user. |
Add Listing Add Offer Edit Listing Edit Offer |
l/BEDOK_NORTH_RD_BLK123 |
n/ |
Name of Client or Owner of a Listing |
Add Client Add Listing Add Offer Edit Client Edit Offer Edit Listing |
n/John Doe |
o/ |
Offer price by a Client |
Add Offer Edit Offer |
o/700000 |
p/ |
Phone number of a Client |
Add Client Edit Client |
p/12345678 |
t/ |
Tag to specify a unique trait of a Listing or Client |
Add Client Add Listing Edit Client Edit Listing |
t/4room |
Back to Table of Contents