Welcome to the User Guide (UG) of EZContact
In the dynamic and ever-evolving world of insurance, staying connected and organized is paramount. Meet EzContact, your go-to solution designed exclusively for insurance agents. Navigating the complex network of clients, policies, and leads has never been easier. EzContact empowers you to manage your contacts, streamline communication, and boost your productivity, all from the tips of your fingers.
EzContact is a desktop application that can help you organize your customers' information and reduce the hassle of having to remember everything. It is optimized for use via Command Line Interface (CLI), meaning that users would have to enter text command to execute them, while still having the benefits of Graphical User Interface (GUI) where users can view the information easily through the application.
With EZContact, our users are able to :
If you are a fast typist, EzContact is the perfect tool for you to keep track of all your customer , it is faster than any other traditional GUI-based application available in the market! Remember, Time is Money ! The faster you approach your customer, the more deals you seal.
If you are interested in EzContact, hop on over to our Quick Start to get started and embark on your journey of using EzContact.
Ensure you have Java 11
or above installed in your Computer.
Download the latest EzContact.jar
from here.
Copy the file to the folder you want to use as the home folder for your EzContact.
Open a command terminal, cd
into the folder you put the jar file in
After reaching the folder, execute the command java -jar EzContact.jar
. The GUI similar to the below should appear in a few seconds.
Note how the app contains some sample data.
Type the command in the Command Box and press Enter to execute it.
Refer to the Features below for details of each command.
Consider the following UI split into three parts:
As illustrated above, the UI will be split into three sections, we will be providing a name for each section and will be using these names to refer to the section specified in the following User Guide.
Notes about the command format:
Words in <>
are the parameters to be supplied by the user.
e.g. in add n/<name>
, name
is a parameter which can be used as add n/John Doe
.
Items in []
are optional.
e.g n/<name> [a/<address>]
can be used as n/John Doe a/Kent Ridge
or as n/John Doe
.
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/friend
, t/friend t/family
etc.
Parameters can be in any order.
e.g. if the command specifies n/<name> p/<phone number>
, p/12341234 n/John
is also acceptable.
Prefixes (e.g. n/
, p/
, e/
) are designed to be short, however, we do still provide the functionality to detect
full-name prefixes ,and they can be used interchangeably(e.g. n/
and name/
are interchangeable),
click here to see a full table of prefix to full-name prefix relation.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command is help 123
, it will be interpreted as help
.
Duplicate customer is defined as 2 person who have identical <phone number>
or <email>
.
<index>
must be value of between (1 -> 2147483647), any value out of this range will be considered as incorrect format;
whereas value in range but not in customer list is considered out of bound.
Unless otherwise stated, when specifying restrictions on number of characters, spaces in between words are included in the count, while leading and trailing spaces are excluded.
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.
add
Format:
add n/<name> p/<phone number> e/<email> [a/<address>] [pr/<priority>] [t/<tag>]... [i/<insurance>]... [r/<remark>]
Description:
Adds a new customer with the respective details to EzContact.
Caution:
<name>
should be alphanumeric, non-empty and not longer than 64 characters.<phone number>
should be an 8-digit number(i.e. a Singapore number).<email>
should be a valid email address(i.e. local-part@domain
).<address>
should not be longer than 100 characters.<priority>
should only be one of: high
, medium
, low
, -
(all case-insensitive).<tag>
should be alphanumeric, non-empty and not longer than 20 characters(excluding spaces).<insurance>
should be alphanumeric, non-empty and not longer than 32 characters.<remark>
should not be longer than 150 characters.Examples:
add n/Ryan Ong p/64238876 e/ryanong@gmail.com t/tall t/skinny t/wears spectacles pr/medium i/car insurance
delete
Format: delete <index>
Description:
<index>
.<index>
refers to the index number shown in the displayed customer list.Caution:
<index>
should only be one of the indices shown in the displayed list.Examples:
delete 2
deletes the 2nd customer in the displayed list.Before:
After:
edit
Format: edit <index> [n/<name>] [p/<phone number>] [e/<email>] [a/<address>]
Description:
<index>
.<index>
refers to the index number shown in the displayed customer list.Caution:
<index>
should only be one of the indices shown in the displayed list.<name>
should be alphanumeric, non-empty and not longer than 64 characters.<phone number>
should be an 8-digit number(i.e. a Singapore number).<email>
should be a valid email address(i.e. local-part@domain
).<address>
should not be longer than 100 characters.<phone number>
or <email>
to other existing customers will cause duplicate customer error.Examples:
edit 3 n/Betsy Crower p/91234567 e/fong@example.com
edits the name, phone number and email address of the 3rd customer to be Betsy Crower
, 91234567
and fong@example.com
respectively.Before:
After:
find
Format:
find [n/<keywords>] [p/<keywords>] [e/<keywords>] [a/<keywords>] [t/<keywords>] [i/<keywords>] [pr/<keywords>] [r/<keywords>]
Description:
Search for customers with specified keywords of different attributes (except appointment
).
tag
and insurance
, only one of the customer's tags
/ insurances
has to contain the keywords as a prefix. tag
/ insurance
entries.find
.Caution:
Examples:
find t/tall pr/h
finds all the customers whose tag matches keyword tall
and whose priority matches keyword h
from the Customer List.find i/car insurance pr/
finds all the customers whose insurance matches keyword car insurance
and have priority from the Customer List.Note:
Note that if you search using find n/Song Song
,
it will match a customer named Song Guo Xuan
because all the specified keywords are present in the customer's name.
tag
Format: tag <index> [at/<tag to add>]... [dt/<tag to delete>]...
Description:
<index>
in the displayed customer list.friends
is equivalent to FriEnds
), the GUI will display tags in lower case.Caution:
<tag to add>
or <tag to delete>
should be provided.<index>
should only be one of the indices shown in the displayed list.<tag to add>
and <tag to delete>
should be alphanumeric, non-empty and not longer than 20 characters(excluding spaces).Examples:
tag 3 at/tall at/male dt/short dt/skinny
tall
(existing tag) and male
tags, delete short
(non-existing tag) and skinny
tags from the third customer in the displayed customer list.Before:
After:
insurance
Format:
insurance <index> [ai/<insurance to add>]... [di/<insurance to delete>]...
Description:
<index>
in the customer listCaution:
<insurance to add>
or <insurance to delete>
should be present in the command<index>
should only be one of the indices shown in the displayed list.<insurance to add>
and <insurance to delete>
should be alphanumeric, non-empty and not longer than 32 characters.Example:
insurance 2 ai/AIA Insurance di/Great Eastern Insurance
AIA Insurance
to and remove Great Eastern Insurance
from the second customer in the displayed customer listBefore:
After:
priority
Format:
priority <index> <priority>
Description:
<index>
in the displayed customer list to <priority>
.<priority>
is assigned directly to the customer.<priority>
is -
, the priority previously assigned the customer will be removed.Caution:
<index>
should only be one of the indices shown in the displayed list.<priority>
should only be one of: high
, medium
, low
, -
(all case-insensitive).Note:
high
-> medium
-> low
Examples:
priority 3 high
updates the priority of the third customer to be high
. Note that the position of the customer is changed.Before:
After:
priority 3 -
removes the priority assigned to the third customer. Note that the customer remains at the bottom of the list.Before:
After:
remark
Format: remark <index> <remark>
Description:
<index>
in the displayed customer list.remark <index>
.Caution:
<index>
should only be one of the indices shown in the displayed list.<remark>
cannot be longer than 150 characters.Examples:
remark 4 he likes pizza
Updates the remark of the first customer in the displayed list to he likes pizza
.Before :
After:
remark 4
Removes the remark from the second customer in the displayed list.Before :
After:
addappt
Format: addappt <index> d/<date> [t/<time>] [v/<venue>]
Description:
<index>
in the displayed customer list.deleteappt
Caution:
<index>
should only be one of the indices shown in the displayed list<date>
must be specified<date>
must be in YYYY-MM-DD format, not a past date and a valid date
(eg. 30 Feb 2025 is invalid).<time>
format must be in 24h HH:MM format<venue>
cannot be longer than 30 charactersExamples:
addappt 1 d/2025-12-12
adds an appointment on 12 Dec 2025 for the first customer in the displayed list
addappt 1 d/2025-12-12 t/12:55
adds an appointment on 12 Dec 2025, 1255hrs for the first customer in the displayed list
addappt 1 d/2025-12-12 t/12:55 v/Clementi Mall
adds an appointment on 12 Dec 2025, 1255hrs, Clementi Mall for the first customer in the displayed list
Before:
After:
deleteappt
Format: deleteappt <index>
Description:
<index>
in the displayed customer list.Caution:
<index>
should only be one of the indices shown in the displayed listExamples:
deleteappt 1
deletes the appointment of the first customer in the displayed list, if applicableBefore:
After:
markappt
Format: markappt <index>
Description:
<index>
in the displayed customer list.Caution:
<index>
should only be one of the indices shown in the displayed list<index>
must have a current appointment.Example:
markappt 1
increments the appointment counter of the first customer in the displayed list.Before:
After:
unmarkappt
Format:
unmarkappt <index>
Description:
<index>
by 1.Caution:
<index>
should only be one of the indices shown in the displayed listExamples:
unmarkappt 1
decrements the appointment counter of the first customer in the displayed list by 1.list
Format: list
Description
find
command.Example:
list
shows a list of all existing customers and the size of the list.list 123
will be interpreted as list
.clear
Format: clear
Description:
Examples:
clear
clears the customer list in EzContact.clear 123
will be interpreted as clear
.help
Format: help
Description:
Examples:
help
opens the help window.help 123
will be interpreted as help
.exit
Format:
exit
Description:
Examples:
exit
exits EzContact.exit 123
will be interpreted as exit
.EzContact's data is stored as a json file at : <JAR file directory>/data/addressbook.json
, where <JAR file directory>
is the directory you placed our EzContact.jar
file.
Saving data:
EzContact's data is saved automaticaly whenever a command that changes the data is executed.
Editing the data file:
Advanced users are welcomed to update the data stored in EzContact directly by editing the addressbook.json
file.
Caution: If the format of the file becomes invalid after an edit, EzContact will launch with an empty data file, and will overwrite the whole data file after a command that changes the data file is executed. Hence, users are strongly recommended to store a backup of the data file before editing it.
Storing/Restoring backup data files:
Users can store a backup of the current data file by simply creating a copy of the addressbook.json
file.
To restore a previously backed-up file, simply place the json file in the <JAR file directory>/data
directory
and rename the file to addressbook.json
.
Q: Can I transfer my data to another computer?
A: Yes, you can. Install EzContact in the computer and replace the addressbook.json
file in the <JAR file directory>/data
directory
with the addressbook.json
file from your previous computer.
Q: Why are there sample customers when I first launch EzContact and how do I get rid of them?
A: The sample customers are for new users to try out various commands in EzContact. To get rid of them, simply type clear
in the
command box.
Action | Format and Examples |
---|---|
Add | add n/<name> p/<phone number> e/<email> [a/<address>] [pr/<priority>] [t/<tag>]... [i/<insurance>]... [r/<remark>] add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/tall r/some remarks |
Delete | delete <index> delete 3 |
Edit | edit <index> [n/<name>] [p/<phone number>] [e/<email>] [a/<address>] edit 2 n/James Lee e/jameslee@example.com |
Find | find [n/<keywords>] [p/<keywords>] [e/<keywords>] [a/<keywords>] [t/<keywords>] [i/<keywords>] [pr/<keywords>] [r/<keywords>] find n/song i/abc |
Tag | tag <index> [at/<tag to add>]... [dt/<tag to delete>]... tag 1 at/tall dt/short at/male |
Insurance | insurance <index> [ai/<insurance to add>]... [di/<insurance to delete>]... insurance 2 ai/AIA insurance di/Great Eastern Insurance |
Remark | remark <index> <remark> remark 2 some remarks |
Priority | priority <index> <priority> priority 1 medium |
Addappt | addappt <index> d/<date> [t/<time>] [v/<venue>] addappt 3 d/2025-12-12 t/23:59 v/Starbucks |
Deleteappt | deleteappt <index> deleteappt 1 |
Markappt | markappt <index> markappt 1 |
Unmarkappt | unmarkappt <index> unmarkappt 1 |
List | list |
Clear | clear |
Help | help |
Exit | exit |
**Note that prefixes are not case-sensitive
Prefix | Full-name prefix | Remarks |
---|---|---|
n/ | name/ | |
p/ | phone/ | |
e/ | email/ | |
a/ | address/ | |
pr/ | priority/ | |
t/ | tag/ | used in add command |
i/ | insurance/ | |
r/ | remark/ | |
at/ | addtag/ | |
dt/ | deletetag/ | |
ai/ | addinsurance/ | |
di/ | deleteinsurance/ | |
d/ | date/ | |
t/ | time/ | used in appointment related commands |
v/ | venue/ |
Term | Meaning |
---|---|
Alphanumeric | Alphanumeric characters include uppercase letters from ‘A’ to ‘Z’, lowercase letters from ‘a’ to ‘z’, and numbers from ‘0` to ‘9’. |
json file | Acronym for JavaScript Object Notation file, a file format that stores data in a human-readable form. |
Command-line Interface (CLI) | Text-based user interface that receives text commands to run the program |
Graphical User Interface (GUI) | Interface where user interact with graphical component, such as icons, buttons and menus to run the program |