InSUREance is a desktop app for managing clients, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, InSUREance can get your client management tasks done faster than traditional GUI apps.
Ensure you have Java 17 or above installed in your Computer.
Download the latest .jar file from here.
Copy the file to the folder you want to use as the home folder for your app.
Open a command terminal, cd into the folder you put the jar file in, and use the java -jar InSUREance.jar command to run the application.
A 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. e.g. typing help and pressing Enter will open the help window.
Some example commands you can try:
list : Lists all clients.
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 : Adds a client named John Doe to InSUREance app.
delete 3 : Deletes the 3rd client shown in the current list.
clear : Deletes all clients.
exit : Exits the app.
Refer to the Features below for details of each command.
Notes about the command format:
Words in UPPER_CASE 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 square brackets are optional.
e.g n/NAME [t/TAG] can be used as n/John Doe t/friend 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.
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 specifies help 123, it will be interpreted as help.
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.
helpShows a message explaining how to access the help page.
Format: help
addAdds a client to the address book.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…
INDEX : Must be a valid client index in the filtered list that is currently shown.NAME : Must be alphanumeric, can include spaces.PHONE_NUMBER : Must be numeric and at least 3 digits long.EMAIl : Must ba a valid email address following the format local-part@domain.ADDRESS: Can take any values.[t/TAG]: Must be alphanumeric.INDEX is invalid, the user will be informed with an error message.NAME, PHONE_NUMBER, EMAIland ADDRESS cannot be blank.n and p are case-sensitive.Input 1: add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01
Output 1: New client added: John Doe; Phone: 98765432; Email: johnd@example.com; Address: John street, block 123, #01-01; Insurance Plans: No added plans; Open Claims: No open claims; Tags:
Input 2: add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal
Output 2: New client added: Betsy Crowe; Phone: 1234567; Email: betsycrowe@example.com; Address: Newgate Prison; Insurance Plans: No added plans; Open Claims: No open claims; Tags: [friend][criminal]
listShows a list of all clients in the address book.
Format: list
editEdits an existing client in the address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
INDEX : Must be a valid client index in the filtered list that is currently shown.NAME : Must be alphanumeric, can include spaces.PHONE_NUMBER : Must be numeric and at least 3 digits long.EMAIl : Must ba a valid email address following the format local-part@domain.ADDRESS: Can take any values.[t/TAG]: Must be alphanumeric.INDEX is invalid, the user will be informed with an error message.t/ without specifying any tags after it.addInsurance, deleteInsurance, addClaim, deleteClaim and closeClaim to make any necessary updates.n and p are case-sensitive.Input 1: edit 1 p/91234567 e/johndoe@example.com
Output 1: Edited Client: Alex Yeoh; Phone: 91234567; Email: johndoe@example.com; Address: Blk 30 Geylang Street 29, #06-40; Insurance Plans: No added plans; Open Claims: No open claims; Tags: [friends]
Input 2: edit 2 n/Betsy Crower t/
Output 2: Edited Client: Betsy Crower; Phone: 99272758; Email: berniceyu@example.com; Address: Blk 30 Lorong 3 Serangoon Gardens, #07-18; Insurance Plans: No added plans; Open Claims: No open claims; Tags:
findFinds clients whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]...
KEYWORD: Is case-insensitive. e.g hans will match Hans Hans Bo will match Bo HansOR search).
e.g. Hans Bo will return Hans Gruber, Bo YangHan will not match HansInput 1: find alex yu
Output 1: 
deleteDeletes the specified client from the address book.
Format: delete INDEX
INDEX : Must be a valid client index in the filtered list that is currently shown.INDEX from the current displayed list on the app.INDEX is invalid, the user will be informed with an error message.Input 1: list followed by delete 3
Output 1: Deleted Client: Charlotte Oliveiro; Phone: 93210283; Email: charlotte@example.com; Address: Blk 11 Ang Mo Kio Street 74, #11-04; Insurance Plans: No added plans; Open Claims: No open claims; Tags: [neighbours]
Input 2: find Betsy followed by delete 1
Output 2: Deleted Client: Betsy Crower; Phone: 99272758; Email: berniceyu@example.com; Address: Blk 30 Lorong 3 Serangoon Gardens, #07-18; Insurance Plans: No added plans; Open Claims: No open claims; Tags:
addInsuranceAdds an insurance plan (given by the INSURANCE_ID) to the client at the specified INDEX.
Format: addInsurance INDEX iid/INSURANCE_ID
| Insurance Plan | INSURANCE_ID |
|---|---|
| Basic Insurance Plan | 0 |
| Travel Insurance Plan | 1 |
INDEX : Must be a valid client index in the filtered list that is currently shown.
INSURANCE_ID : Must be an existing valid ID that is currently supported.
Basic Insurance Plan : 0 & Travel Insurance Plan: 1. INDEX is invalid, or the client does not have the insurance plan INSURANCE_ID, the
user will be informed with an error message.iid is case-sensitive.Input 1: addInsurance 1 iid/1
Output 1: Added Insurance Plan: Travel Insurance Plan, to Client: Alex Yeoh
deleteInsuranceDeletes the insurance plan (given by the INSURANCE_ID) from the client at the specified INDEX.
Format: deleteInsurance INDEX iid/INSURANCE_ID
INDEX : Must be a valid client index in the filtered list that is currently shown.
INSURANCE_ID : Must be an existing valid ID that is currently supported.INDEX is invalid, or the client does not have the insurance plan INSURANCE_ID, the
user will be informed with an error message.iid is case-sensitive.Input 1: deleteInsurance 1 iid/1
Output 1: Deleted Insurance Plan: Travel Insurance Plan, from Client: Alex Yeoh
addClaimAdds a claim to the insurance plan of a client.
Format: addClaim INDEX iid/INSURANCE_ID cid/CLAIM_ID ca/CLAIM_AMOUNT_IN_DOLLARS_AND_CENTS
INDEX : Must be a valid client index in the filtered list that is currently shown.INSURANCE_ID : Must be an existing valid ID that is currently supported.CLAIM_ID : A unique id for each claim generated by the insurance company or an external organisation (eg. law firm)
before the claim is added to this app.CLAIM_AMOUNT_IN_DOLLARS_AND_CENTS : Follows format DD.CC eg. 151.10. It can contain
any number of digits for dollars (leading zeroes will be trimmed), but must be exactly 2 digits for cents. If the claim amount
is a whole number eg. 500, enter it as 500.00.INDEX is invalid, or the client does not have the insurance plan INSURANCE_ID, the
user will be informed with an error message.iid, cid and ca are case-sensitive.Input 1: addClaim 1 iid/1 cid/B1234 ca/151.10
Output 1: New claim added to Client: Alex Yeoh, under Insurance plan: Travel Insurance Plan, with Claim ID: B1234, Claim Amount: $151.10
deleteClaimDeletes a claim from an insurance plan of a client.
Format: deleteClaim INDEX iid/INSURANCE_ID cid/CLAIM_ID
INDEX : Must be a valid client index in the filtered list that is currently shown.
INSURANCE_ID : Must be an existing valid ID that is currently supported.CLAIM_ID : A unique id for each claim generated by an insurance company or an external organisation (eg. law firm)
before the claim is added to this app.INDEX is invalid, or the client does not have the insurance plan INSURANCE_ID, the
user will be informed with an error message.iid and cid are case-sensitive.Input 1: deleteClaim 1 iid/1 cid/B1234
Output 1: Claim deleted from Client: Alex Yeoh, under Insurance plan: Travel Insurance Plan, with Claim ID: B1234
closeClaimCloses a claim from an insurance plan of a client.
Format: closeClaim INDEX iid/INSURANCE_ID cid/CLAIM_ID
INDEX : Must be a valid client index in the filtered list that is currently shown.
INSURANCE_ID : Must be an existing valid ID that is currently supported.CLAIM_ID : A unique id for each claim generated by an insurance company or an external organisation (eg. law firm)
before the claim is added to this app.INDEX is invalid, or the client does not have the insurance plan INSURANCE_ID, the
user will be informed with an error message.Input 1: closeClaim 1 iid/1 cid/B1234
Output 1: Claim from Client: Alex Yeoh, under Insurance plan: Travel Insurance Plan, with Claim ID: B1234 marked as closed
listClaimsLists all claims that the client has associated with them.
Format: listClaims INDEX
INDEX : Must be a valid client index in the filtered list that is currently shown.
INDEX is invalid, the user will be informed with an error message.Input 1: listClaims 1
Output 1: 
clearClears all entries from the address book.
Format: clear
exitExits the program.
Format: exit
Click Theme to toggle between Dark Theme and Light Theme.
App data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Note: This would only take effect after a successful command is executed.
App data are saved automatically as a JSON file [JAR file location]/data/InSUREance.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, app will discard all data at the start of the next run.
A new data file without previously saved data will replace the corrupted file once a new successful command is executed.
Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause the app to behave in unexpected ways (e.g., if a value entered is outside the acceptable range).
Therefore, edit the data file only if you are confident that you can update it correctly.
Claims will be automatically sorted to show the open claims first, followed by in alphanumeric order of claim ID. This occurs whenever a claim is modified using the app and there is no need to manually call this.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the initial data file it generates with the file that contains
the data of your previous app home folder.
preferences.json file created by the application before running the application again.help command (or use the Help menu, or the keyboard shortcut F1) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.| Action | Format, Examples |
|---|---|
| Add | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague |
| Clear | clear |
| Delete | delete INDEXe.g., delete 3 |
| Edit | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…e.g., edit 2 n/James Lee e/jameslee@example.com |
| Find | find KEYWORD [MORE_KEYWORDS]e.g., find James Jake |
| AddInsurance | addInsurance INDEX iid/INSURANCE_IDeg., addInsurance 1 iid/ 1 |
| DeleteInsurance | deleteInsurance INDEX iid/INSURANCE_IDeg., deleteInsurance 1 iid/ 1 |
| AddClaim | addClaim INDEX iid/INSURANCE_ID cid/CLAIM_ID ca/CLAIM_AMOUNT_IN_DOLLARS_AND_CENTSeg., addClaim 1 iid/1 cid/B1234 ca/151.20 |
| DeleteClaim | deleteClaim INDEX iid/INSURANCE_ID cid/CLAIM_IDeg., deleteClaim 1 iid/1 cid/B1234 |
| CloseClaim | closeClaim INDEX iid/INSURANCE_ID cid/CLAIM_IDeg., closeClaim 1 iid/1 cid/B1234 |
| ListClaims | listClaims INDEX eg., listClaims 1 |
| List | list |
| Help | help |