- 1. Introduction
- 2. Quick Start
- 3. Tutorial
- 4. Features
- 4.1. Viewing help :
help
- 4.2. Adding a person:
add
- 4.3. Adding a policy:
addpolicy
- 4.4. Listing all persons :
listpeople
- 4.5. Listing all policies :
listpolicy
- 4.6. Listing all bin items:
listbin
- 4.7. Expanding a profile:
expandperson
- 4.8. Expanding a policy:
expandpolicy
- 4.9. Editing a person :
edit
- 4.10. Editing a policy :
editpolicy
- 4.11. Locating persons by name:
find
- 4.12. Locating policies by keywords:
findpolicy
- 4.13. Locating people by tags:
findtagpeople
- 4.14. Locating policies by tags:
findtagpolicy
- 4.15. Find current policyholders:
findpolicyholders
- 4.16. Find eligible policies:
eligiblepolicies
- 4.17. Find eligible people:
eligiblepeople
- 4.18. Adding tags to a person :
addtag
- 4.19. Adding tags to a policy :
addpolicytag
- 4.20. Adding criteria to a policy :
addcriteria
- 4.21. Deleting criteria from a policy :
deletecriteria
- 4.22. Deleting a person :
delete
- 4.23. Deleting a policy :
deletepolicy
- 4.24. Adding policies to a person :
assignpolicy
- 4.25. Deleting policies from a person :
unassignpolicy
- 4.26. Deleting tags from a person :
deletetag
- 4.27. Deleting tags from a policy :
deletepolicytag
- 4.28. Clearing all entries :
clear
- 4.29. Incorrect NRIC Alert
- 4.30. Incorrect Contact Number Alert
- 4.31. Incorrect Email Address Alert
- 4.32. Incorrect Command Suggestions
- 4.33. Turning Command Suggestions On and off :
suggestion
- 4.34. Duplicate profile alert
- 4.35. Display Indicator:
display
- 4.36. Restore Deleted Items:
restore
- 4.37. Set expiry time of bin items:
binitemexpiry
- 4.38. Undo recently entered commands :
undo
- 4.39. Redo recently undone commands :
redo
- 4.40. Listing command history :
history
- 4.41. Navigating command history by pressing up/down keys
- 4.42. Exiting the program :
exit
- 4.43. Saving the data
- 4.44. Encrypting data files
[coming in v2.0]
- 4.45. Policy suggestions for invalid policy assignments
[coming in v2.0]
- 4.46. Suggestions while typing
[coming in v2.0]
- 4.1. Viewing help :
- 5. FAQ
- 6. Command Summary
Insurelytics is for insurance agents who prefer to use a desktop app for managing contacts and policies. More importantly, Insurelytics is optimized for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Insurelytics can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the Section 2, “Quick Start” to get started. Enjoy!
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
addressbook.jar
here. -
Copy the file to the folder you want to use as the home folder for your Address Book.
-
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. typinghelp
and pressing Enter will open the help window. -
Some example commands you can try:
-
listpeople
: lists all people -
add n/John Doe ic/S9999999J p/98765432 e/johnd@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/Male
: adds person -
delete
3
: deletes the 3rd person shown in the current list -
listpolicy
: lists all policies -
addpolicy n/Senior Care d/care for seniors c/months/10 pr/$50000 [sa/50 ea/75]
: adds policy -
exit
: exits the app
-
-
Refer to Section 4, “Features” for details of each command.
Insurelytics is a Command Line Interface (CLI) application for insurance agents like yourself to manage your contacts and policies. Here is a quick tutorial to help you get started using the application!
You can use Insurelytics to manage two different kinds of data: persons and policies. The formats in which these types of data are stored are as follows:
-
Person:
-
Name (e.g. "Alice Pauline")
-
NRIC (e.g. "S0000001J")
-
Phone number (e.g. 94351253)
-
Email address (e.g. "alice@example.com")
-
Date of birth (e.g. "12 December 1982")
-
Gender (e.g. "Female")
-
Tags (e.g. "nonsmoker, high blood pressure")
-
Policies (e.g. "Life Insurance, Health Insurance")
-
-
Policy:
-
Policy Name (e.g. "Senior Care")
-
Description (e.g. "Insurance for elderly")
-
Coverage (e.g. "12 years, 0 months, 0 days")
-
Price (e.g. "$5000")
-
Start age (e.g. "50")
-
End age (e.g. "75")
-
Tags (e.g. "term insurance")
-
Criteria (e.g. "nonsmoker")
-
These two sets of data are displayed on the two main pages of our application, the person page and the policy page.
They can be accessed via their respective display commands listpeople
and listpolicy
.
First, let’s navigate to the person page and add a contact.
listpeople
add n/John Doe ic/S9999999J p/98765432 e/johnd@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/Male
Then, let’s navigate to the policy page and add a policy.
listpolicy
addpolicy n/Senior Care d/Care for seniors c/days/20 months/11 years/5 pr/$50000 sa/50 ea/75
Persons can be assign
-ed policies that they are eligible for. A person is eligible for a policy if
he/she falls in the specified age range and possesses all the policy’s specified criteria (in his/her tags).
assignpolicy 1 pol/Life Insurance
ℹ️
|
One of our design features is to allow users to use person-related commands on the policy page and vice versa (as with the example above). |
Persons and policies can easily be retrieved using the various find
functions, whether by keyword or by tag.
Let’s find a person and add a "senior" tag to the person.
find John
addtag 1 t/senior
Important
|
Note that the index of addtag refers to the resulting list from the previous find command. Indices of persons
are always based off the latest view of the person page. The same applies for policies.
|
The various functions outlined in the following section are available to further help the user manage contacts and policies. These include additional functions to help the user gather insights, rectify mistakes and validate input among others.
Command Format
-
Words in
UPPER_CASE
are the parameters to be supplied by the user e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
. -
Items in square brackets are optional e.g
n/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order e.g. if the command specifies
n/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable.
Adds a person to the list of people
Format: add n/NAME ic/NRIC p/PHONE_NUMBER e/EMAIL a/ADDRESS dob/DATE_OF_BIRTH g/GENDER
-
NAME
should only contain alphanumeric characters and spaces, and it should not be blank. -
ADDRESS
can take any values and should not be blank. -
DATE_OF_BIRTH
are in the formDD.MM.YYYY
. -
GENDER
must either beMale
orFemale
. -
Exact input validations for
NRIC
,PHONE_NUMBER
,EMAIL
are specified in sections Section 4.29, “Incorrect NRIC Alert”, Section 4.30, “Incorrect Contact Number Alert”, and Section 4.31, “Incorrect Email Address Alert” respectively.
Examples:
-
add n/John Doe ic/S0000001J p/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 dob/12.12.1912 g/Male
Expected Output:
New person added: John Doe NRIC: S0000001J Phone: 98765432 Email: johnd@example.com Address: 311, Clementi Ave 2, #02-25 Date of birth: 12 December 1912 Gender: Male
Adds a policy to the list of policies
Format: addpolicy n/NAME d/DESCRIPTION c/[days/DAYS_VALID][months/MONTHS_VALID][years/YEARS_VALID] pr/PRICE [sa/START_AGE] [ea/END_AGE]
-
NAME
should only contain alphanumeric characters and spaces, and should not be blank. -
DESCRIPTION
should only contain alphanumeric characters, punctuation or whitespace, and should not be blank. The first character should be a alphanumeric character. -
COVERAGE
should contain valid day, month or year numbers. At least one of the optional fields of coverage (day, month or year) must be provided. -
PRICE
should start off with "$" and contain only numbers, and should not be blank -
START_AGE
andEND_AGE
should contain only numbers, and should not be blank.START_AGE
must not exceedEND_AGE
. Maximum value ofSTART_AGE
andEND_AGE
is 120.
Examples:
-
addpolicy n/Senior Care d/Care for seniors c/days/20 months/11 years/5 pr/$50000 sa/50 ea/75
Expected Output:
New policy added: Senior care Description: Care for seniors Coverage: days/20 months/11 years/5 Price: $50000 Start Age: 50 End Age: 75
Shows a list of all persons currently stored.
Format: listpeople
Expands the person details on the right panel.
-
Expands the person at the specified
INDEX
. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
Format:
expandperson INDEX
Displays details of person at index 1 on the right panel.
Examples:
expandperson 1
Expands the policy details on the right panel.
-
Expands the policy at the specified
INDEX
. The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
Format:
expandpolicy INDEX
Examples:
expandpolicy 1
Displays details of policy at index 1 on the right panel.
Edits an existing person in the address book.
Format: edit INDEX [n/NAME] [ic/NRIC] [p/PHONE] [e/EMAIL] [a/ADDRESS] [dob/DATE_OF_BIRTH] [g/GENDER]
-
Edits the person at the specified
INDEX
. The index refers to the index number shown in the displayed person 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.
-
If editing a person’s details results in him being ineligible for a policy/multiple policies he currently possesses, they will be unassigned from him.
ℹ️
|
To edit tags, use addTag or deleteTag
|
Example:
edit 1 p/91234567 e/johndoe@example.com
Considering the first person is Alex Yeoh
, sample output is:
Edited Person: Alex Yeoh
NRIC: S0000001A; Phone: 91234567; Email: johndoe@example.com; Address: Blk 30 Geylang Street 29, #06-40; Date of Birth: 12 December 1998; Gender: Male
Policies: [Teenage]
Tags: [diabetic]
Edits an existing policy in the address book.
Format: editpolicy INDEX [n/NAME] [d/DESCRIPTION] [c/[days/DAYS_VALID][months/MONTHS_VALID][years/YEARS_VALID]] [pr/PRICE] [sa/START_AGE] [ea/END_AGE]
-
Edits the policy at the specified
INDEX
. The index refers to the index number shown in the displayed person 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.
-
If editing a policy’s details results in it being ineligible for person(s), the policy is not unassigned from the corresponding people. The reason behind this is that the relevant people signed the policy before the terms were changed, hence they should still be holding the previous version of the policies they signed.
ℹ️
|
To edit policy tags, use addPolicyTag or deletePolicyTag
|
Example:
editpolicy 1 d/Honda Insurance p/$10000 sa/25 ea/80
Considering the first policy is Car Insurance
, sample output is:
Edited Policy: Car Insurance
Description: Honda Insurance; Coverage: 12 years, 11 months, 10 days; Price: $10000; Start Age: 25; End Age: 80
Criteria: [diabetic]
Tags: [sample]
Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
-
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.
-
Partially-matching keywords will be matched e.g.
Han
will matchHans
-
Persons matching at least one keyword will be returned (i.e.
OR
search). e.g.Hans Bo
will returnHans Gruber
,Bo Yang
.
Examples:
-
find John
Returnsjohn
andJohn Doe
-
find Betsy Tim John
Returns any person having namesBetsy
,Tim
, orJohn
Finds policies whose names or descriptions contain any of the given keywords.
Format: findpolicy KEYWORD [MORE_KEYWORDS]
-
The search is case insensitive. e.g
senior
will matchSeniors
-
The order of the keywords does not matter. e.g.
Senior Care
will matchCare Seniors
-
Partially-matching keywords will be matched e.g.
Senior
will matchSeniors
-
Policies matching at least one keyword will be returned (i.e.
OR
search). e.g.Senior Life
will returnLife Insurance
,Senior Insurance
.
Examples:
-
findpolicy family children
Returns any policy having names or descriptions containingfamily
orchildren
Finds people who have the specified tag(s).
Format: findtagpeople TAG [MORE_TAGS]
-
The search is case insensitive. e.g.
diabetic
will matchDiabetic
-
The order of the tags does not matter.
-
Tags must be specified completely and accurately.
-
Only people who possess all specified tags will be returned (e.g. searching
diabetic
andsmoker
will only return people with both tags).
Finds policies who have the specified tag(s)
Format: findtagpolicy TAG [MORE_TAGS]
-
The search is case insensitive. e.g.
accident
will matchAccident
-
The order of the tags does not matter.
-
Tags must be specified completely and accurately.
-
Only policies that possess all specified tags will be returned (e.g. searching
accident
andlife
will only return policies with both tags).
Finds people in possession of a policy (or policies)
Format: findpolicyholders INDEX
-
The index refers to the index number shown in the displayed policy list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
listpolicy
findpolicyholders 1
Finds all people who are in current possession of the 1st policy in the list of policies.
Finds policies a specific person is eligible for
Format: eligiblepolicies INDEX
-
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
listpeople
eligiblepolicies 1
Finds all policies the 1st person in the displayed person list is eligible for.
Finds people eligible for a specific policy
Format: eligiblepeople INDEX
-
The index refers to the index number shown in the displayed policy list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
-
listpolicy
eligiblepeople 1
Finds all people eligible for the 1st policy in the displayed policy list.
Adds new tag(s) to the person at the specified index.
Format: addtag INDEX t/TAG [MORE_TAGS]
-
Adds the tags to the person at the specified
INDEX
. -
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of tags can be added.
Examples:
-
listpeople
addtag 2 t/high blood pressure
Adds ahigh blood pressure
tag to the 2nd person in the list of people. This tag will determine the person’s eligibility for policy. -
find Betsy
addtag 1 t/high_risk
Adds ahigh_risk
tag to the 1st person in the results of thefind
command.
Adds new tag(s) to the policy at the specified index.
Format: addpolicytag INDEX t/TAG [MORE_TAGS]
-
Adds the tags to the policy at the specified
INDEX
. -
The index refers to the index number shown in the displayed policies list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of tags can be added.
Examples:
-
listpolicy
addpolicytag 2 t/life_insurance
Adds alife_insurance
tag to the 2nd policy in the list of polciies. -
findpolicy Car
addpolicytag 1 t/motor_insurance
Adds amotor_insurance
tag to the 1st policy in the results of thefind
command.
Adds new criteria (singular or plural) to the policy at the specified index.
Format: addcriteria INDEX cr/CRITERIA [MORE_CRITERIA]
-
Adds the criteria to the policy at the specified
INDEX
. -
The index refers to the index number shown in the displayed policies list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of criteria can be added.
Examples:
-
listpolicy
addcriteria 2 t/nonsmoker
Adds anonsmoker
criteria to the 2nd policy in the list of policies. -
findpolicy Betsy
addcriteria 1 t/nonsmoker
Adds anonsmoker
tag to the 1st policy in the results of thefindpolicy
command.
Deletes criteria (singular or plural) from the policy at the specified index.
Format: deletecriteria INDEX cr/CRITERIA [MORE_CRITERIA]
-
Deletes the criteria from the policy at the specified
INDEX
. -
The index refers to the index number shown in the displayed policies list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of criteria can be added.
Examples:
-
listpolicy
deletecriteria 2 t/nonsmoker
Deletes thenonsmoker
criteria from the 2nd policy in the list of policies. -
findpolicy Betsy
deletecriteria 1 t/nonsmoker
Deletes thenonsmoker
tag from the 1st policy in the results of thefindpolicy
command.
Deletes the specified person from the list of people.
Format: delete INDEX
-
Deletes the person at the specified
INDEX
. -
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
-
Deleted persons are moved into the bin, where they stay there for a default of 30 days before being removed permanently. This default value can be changed with the binitemexpiry command.
ℹ️
|
Expired items are removed on restart of application. |
Examples:
Delete the 2nd person in the list of people.
# input commands
>>> listpeople
>>> delete 2
Expected output:
Deleted Person: Benson Meier
NRIC: S0000002J; Phone: 98765432; Email: johnd@example.com; Address: 311, Clementi Ave 2, #02-25; Date of Birth: 12 December 1922; Gender: Male
Policies: [Life Insurance]
Tags: [smoker][disabled]
Delete the 1st person in the results of the find
command.
# input commands
>>> find carl
>>> delete 1
Expected output:
Deleted Person: Carl Kurz
NRIC: S0000003J; Phone: 95352563; Email: heinz@example.com; Address: wall street; Date of Birth: 6 June 1996; Gender: Male
Deletes the specified policy from the address book.
Format: deletepolicy INDEX
-
Deletes the policy at the specified
INDEX
. -
The index refers to the index number shown in the displayed policy list.
-
The index must be a positive integer 1, 2, 3, …
-
Deleted persons are moved into the bin, where they stay there for a default of 30 days before being removed permanently. This default value can be changed with the binitemexpiry command.
ℹ️
|
Expired items are removed on restart of application. |
Examples:
Deletes the 2nd policy in the list of policies.
# input commands:
>>> listpolicy
>>> deletepolicy 2
Expected output:
Deleted Policy: Life Insurance
Description: Insurance for life; Coverage: 50 years, 0 months, 0 days; Price: $1000000; Start Age: 21; End Age: 80
Criteria: [high blood pressure]
Tags: [term insurance]
Deletes the 1st policy in the results of the findpolicy
command.
# input commands:
>>> findpolicy senior
>>> deletepolicy 1
Expected output:
Deleted Policy: Senior Care
Description: Care for seniors; Coverage: 5 years, 11 months, 20 days; Price: $50000; Start Age: 50; End Age: 75
Assigns a policy to the person at the specified index.
Format: assignpolicy INDEX pol/POLICY NAME
-
The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
-
The policy name refers to the name of the policy.
-
A policy already assigned cannot be assigned again.
-
Each policy name must match the policy exactly as it appears in the absolute policy list.
-
Any number of policies can be added as long as the person is eligible for the policy.
Examples:
`find Betsy`
`assignpolicy 1 pol/Accident Insurance`
Expected output:
Assigned Policy: Accident Insurance to Person: Betsy Kumar
Removes a policy from the person at the specified index.
Format: unassignpolicy INDEX pol/POLICY NAME
-
The index refers to the index number shown in the displayed person list. The index must be a positive integer 1, 2, 3, …
-
The policy name refers to the name of the policy.
-
A policy already unassigned cannot be unassigned again.
-
Each policy name must match the policy exactly as it appears in the absolute policy list.
Examples:
`find Betsy`
`unassignpolicy 1 pol/Accident Insurance`
Expected output:
Unssigned Policy: Accident Insurance from Person: Betsy Kumar
Deletes tag(s) from the person at the specified index.
Format: deletetag INDEX t/TAG [MORE_TAGS]
-
Deletes the tags from the person at the specified
INDEX
. -
The index refers to the index number shown in the displayed person list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of tags can be deleted.
Examples:
-
listpeople
deletetag 2 t/high_priority
Deletes ahigh_priority
tag from the 2nd person in the list of people. -
find Betsy
deletetag 1 t/high_risk
Deletes ahigh_risk
tag from the 1st person in the results of thefind
command.
Deletes tag(s) from the policy at the specified index.
Format: deletepolicytag INDEX t/TAG [MORE_TAGS]
-
Deletes the tags from the policy at the specified
INDEX
. -
The index refers to the index number shown in the displayed policies list.
-
The index must be a positive integer 1, 2, 3, …
-
Any number of tags can be deleted.
Examples:
-
listpolicy
deletepolicytag 2 t/high_priority
Deletes ahigh_priority
tag from the 2nd policy in the list of policies. -
findpolicy Senior
deletepolicytag 1 t/high_risk
Deletes ahigh_risk
tag from the 1st policy in the results of thefind
command.
Clears all entries from the address book, including the bin.+
Format: clear
Returns an error message to inform the user of an invalid NRIC. The contact number and/or email address is returned if present.
Examples:
add n/John Doe ic/Q9999999J p/98765432 e/johnd@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/Male
Expected Output:
This is not a valid Singapore Identification number.
NRICs should only contain alphanumeric characters. It should start with S, T, F or G followed by 7 numerical numbers and a checksum letter.
You might want to contact John Doe
PHONE: 98765432
EMAIL: johnd@example.com`
Returns an error message to inform the user of an invalid contact number. The email address is returned if present.
Examples:
add n/John Doe ic/S9999999J p/48765432 e/johnd@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/Male
Expected Output:
Only Singapore phone numbers are allowed. (e.g. 88887541, +65 98753573, +6565241234
You might want to contact John Doe
EMAIL: johnd@example.com
Returns an error message to inform the user of an invalid email address. The phone number is returned if present.
Examples:
add n/John Doe ic/S9999999J p/98765432 e/@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/Male
Expected Output:
Emails should be of the format local-part@domain and adhere to the following constraints:
1. The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (!#$%&'*+/=?`{|}~^.-) .
2. This is followed by a '@' and then a domain name. The domain name must:
- be at least 2 characters long
- start and end with alphanumeric characters
- consist of alphanumeric characters, a period or a hyphen for the characters in between, if any.
You might want to contact John Doe
PHONE: 98765432
Returns an error message and a suggestion of a correct command when a command is typed incorrectly.
Examples:
dlete 2
Expected Output:
dlete is not recognised. Did you mean: delete 2?
ℹ️
|
Suggestions may be slow for longer commands. Efficiency will be improved in v2.0. |
The input will automatically be updated to the suggested command.
Switches suggestions for invalid commands on or off.
Format:
suggestion [ON/] [OFF/]
Examples:
suggestion ON/
Expected Output:
Suggestions have been switched on.
Returns an error message of an existing person and will attempt to merge the profiles. For each different attribute, there will be a prompt to suggest a change from the original attribute to the new one.
Examples:
add n/John Doe ic/S9999999J p/91234567 e/johndoe@example.com a/John street, block 123, #01-01 dob/12.12.1992 g/Male
Expected Output:
This person already exists in the address book
John Doe
NRIC: S9999999J; Phone: 98765432; Email: johndoe@example.com; Address: John street, block 123, #01-01; Date of Birth: 12 December 1992; Gender: Male
Policies: [Health Insurance][Fire Insurance]
Tags: [diabetic][high blood pressure]
Your input:
John Doe
NRIC: S0000001J; Phone: 91234567; Email: johndoe@example.com; Address: John street, block 123, #01-01; Date of Birth: 12 December 1992; Gender: Male
Do you wish to edit this person's profile?
Please press enter or 'yes' to proceed or 'no' to skip.
User may input yes
or press enter to proceed with the merge and no
to skip the merge.
Further prompts will be provided if user inputs yes
or presses enter.
Do you wish to edit this person's PHONE?
Original: 98765432
Input: 91234567
Please press enter or 'yes' to proceed or 'no' to skip.
Displays indicator according to specified format.
Format:
display i/INDICATOR f/FORMAT
-
Indicators include:
-
policy-popularity-breakdown
-
age-group-breakdown
-
gender-breakdown
-
-
Formats include:
-
piechart
-
barchart
-
linechart
-
ℹ️
|
Every format supports every indicator |
Examples:
display i/policy-popularity-breakdown f/piechart
Displays policy popularity breakdown as a piechart.
Expected Output:
display i/age-group-breakdown f/barchart
Displays age group breakdown as a barchart.
Expected Output:
display i/gender-breakdown f/linechart
Displays gender breakdown as a linechart.
Expected Output:
Restores an item (person or policy) in the bin specified by the user.
Format:
restore INDEX
-
Restores the item at the specified INDEX.
-
The index refers to the index number shown in the displayed bin list.
-
The index must be a positive integer 1, 2, 3, …
Examples:
Restores first index of the list of bin items.
# input commands
>>> listbin
>>> restore 1
Expected Output:
Restored item: David Georgia NRIC: S0000010T Phone: 94820001 Email: davegeorge@example.com Address: 10th Fly street
Date of birth: 5 March 1980 Gender: Male Date deleted: 22 Oct 2019 at 09:57 PM Expiry Date: 21 Nov 2019 at 09:57 PM
User can set the amount of time bin items stay in the bin before they are permanently removed.
Format:
binitemexpiry UNIT/AMOUNT
-
UNIT
can take the following values:-
s
-
mins
-
hrs
-
days
-
months
-
years
-
-
AMOUNT
must be a positive integer 1, 2, 3, …
Example:
binitemexpiry days/30
Set all BinItems to expire 30 days their deletion. They will be removed permanently once they exceed their expiry date.
Expected Output:
Changed bin item expiry time! Items in the Bin will be removed permanently 30 days after their deletion.
User can simply enter the command undo
to undo the most recent address book data change.
Format: undo
Expected Output:
An undo has been performed!
ℹ️
|
An undo does not work for commands which do not make a change in the address book data (like listpeople for instance).
|
User can simply enter the command redo
to redo the most recent address book data change. A redo is possible only when
an undo has been previously performed.
Format: redo
Expected Output:
A redo has been performed!
ℹ️
|
A redo does not work for commands which do not make a change in the address book data (like listpeople for instance).
|
Shows a list of all previously entered (valid) commands in the right panel. Commands entered during the merging
period are not included. history
itself is taken as a valid command too.
Format: history
Example:
# input commands
>> listpeople
>> listpolicy
>> assignpolicy 1 pol/Motor Insurance
>> undo
>> delete 2
>> history
Expected Output:
Previously entered commands can be navigated in the CommandBox
without explicity entering them by pressing
UP/DOWN keyboard keys. This is different from the above mentioned history
command, since it also displays commands
entered which were invalid.
Format: No command, simply press up/down keyboard keys.
Address book data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually.
{explain how the user can enable/disable data encryption}
A list of policies that a person is eligible for will be shown if the user attempts to assign a policy to someone who is ineligible for it.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder.
-
Add Person
add n/NAME ic/NRIC p/PHONE_NUMBER e/EMAIL a/ADDRESS dob/DATE_OF_BIRTH g/GENDER
e.g.add n/John Doe ic/S9999999J p/98765432 e/johnd@example.com a/John street, block 123, #01-01 dob/12.09.1980 g/MALE
-
Add Policy
addpolicy n/NAME d/DESCRIPTION c/[days/DAYS_VALID][months/MONTHS_VALID][years/YEARS_VALID] pr/PRICE [sa/START_AGE] [ea/END_AGE]…
e.g.addpolicy n/Senior Care d/care for seniors c/months/10 pr/$50000 sa/50 ea/75
-
List People :
listpeople
-
List Policy :
listpolicy
-
List Bin Items :
listbin
-
Edit Person :
edit INDEX [n/NAME] [ic/NRIC] [p/PHONE] [e/EMAIL] [a/ADDRESS] [dob/DATE_OF_BIRTH]
e.g.edit 2 n/James Lee e/jameslee@example.com
-
Edit Policy :
editpolicy INDEX [n/NAME] [d/DESCRIPTION] [c/[days/DAYS_VALID][months/MONTHS_VALID][years/YEARS_VALID] ] [pr/PRICE]
e.g.editpolicy 1 n/Seniors
-
Find Person :
find KEYWORD [MORE_KEYWORDS]
e.g.find James Jake
-
Find Policy :
findpolicy KEYWORD [MORE_KEYWORDS]
e.g.findpolicy senior
-
Find People by Tags:
findtagpeople TAG [MORE_TAGS]
e.g.findtagpeople smoker diabetic
-
Find Policy by Tags:
findtagpolicy TAG [MORE_TAGS]
e.g.findtagpolicy accident life
-
Find Policyholders:
findpolicyholders INDEX
e.g.findpolicyholders 4
-
Find Eligible People by Policy:
eligiblepeople INDEX
e.g.eligiblepeople 5
-
Find Eligible Policies by Person:
eligiblepolicies INDEX
e.g.eligiblepolicies 3
-
Assign Policy :
assignpolicy INDEX pol/POLICY NAME
e.g.assignpolicy 2 pol/Health insurance
-
Add Tag To Person :
addtag INDEX t/TAG [MORE_TAGS]
e.g.addtag 3 t/high_priority
-
Add Tag To Policy :
addpolicytag INDEX t/TAG [MORE_TAGS]
e.g.addpolicytag 2 t/lifeinsurance
-
Add Criteria to Policy :
addcriteria INDEX cr/CRITERIA [MORE_CRITERIA]
e.g.addcriteria 2 cr/nonsmoker
-
Delete Criteria from Policy :
addcriteria INDEX cr/CRITERIA [MORE_CRITERIA]
e.g.deletecriteria 2 cr/nonsmoker
-
Delete Person :
delete INDEX
e.g.delete 3
-
Delete Policy :
deletepolicy INDEX
e.g.deletepolicy 3
-
Restore Deleted Items :
restore INDEX
e.g.restore 3
-
Unassign Policy :
unassignpolicy INDEX pol/POLICY NAME
e.g.unassignpolicy 2 pol/Health insurance
-
Delete Tag From Person :
deletetag INDEX t/TAG [MORE_TAGS]
e.g.deletetag 3 t/high_priority
-
Delete Tag From Policy :
deletepolicytag INDEX t/TAG [MORE_TAGS]
e.g.deletepolicytag 2 t/lifeinsurance
-
Expanding a profile :
expandperson INDEX
e.g.expandperson 1
-
Expanding a policy :
expandpolicy INDEX
e.g.expandpolicy 1
-
Display:
display i/INDICATOR f/FORMAT
e.g.display i/policy-popularity-breakdown f/piechart
-
List Command History:
history
-
Undo the most recent data change:
undo
-
Redo the most recent data change:
redo
-
Set expiry time of bin items:
binitemexpiry UNIT/AMOUNT
e.g.binitemexpiry days/30
-
Clear :
clear
-
Help :
help
-
Exit :
exit