diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index b5e81d46374..68663c17ef4 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -5,7 +5,7 @@
---
# ClientCare User Guide
-This user guide is meant for ClientCare Version `v1.2`.
+This user guide is meant for ClientCare Version `v1.3`.
Too many clients to keep track off? Not sure when is your next appointment?
Fret not! ClientCare is a **desktop application for assisting insurance agents in managing their client relationships and follow-ups effectively.**
@@ -75,8 +75,9 @@ You might encounter these call-outs while reading through the guide, which conta
**CAUTION**: Caution call-outs like this contain warnings you should remember when using ClientCare to avoid errors!
-
--------------------------------------------------------------------------------------------------------------------
+
+
## Introduction
Made for insurance agents and clients, by insurance agents and clients.
@@ -118,7 +119,6 @@ download ClientCare.
1. ClientCare is written in the programming language Java, so you'll need **Java 11 or above** installed in your computer to run ClientCare.
1. Not sure if you have a compatible Java version installed on your computer?
Windows or macOS users might find [this guide](https://blog.hubspot.com/website/check-java-verison) useful.
- While Linux users can refer to [this guide](https://phoenixnap.com/kb/check-java-version-linux).
2. Don't have a compatible Java version installed? Fret not, Java is free to install! Complete installation
instructions can be found [here](https://docs.oracle.com/en/java/javase/11/install/overview-jdk-installation.html).
@@ -133,13 +133,13 @@ download ClientCare.
![jar](images/ug/clientcare%20jar%20file%20v1.2.jpg =600x)
-4. Create a new empty folder (with any name you like) in your computer where you'd like to store ClientCare.
+3. Create a new empty folder (with any name you like) in your computer where you'd like to store ClientCare.
-5. Copy the downloaded ClientCare file (`clientcare.jar`) into the new folder.
+4. Copy the downloaded ClientCare file (`clientcare.jar`) into the new folder.
-6. And...that's it! You now have ClientCare installed on your laptop!
+5. And...that's it! You now have ClientCare installed on your laptop!
-7. Refer to the [Features](#features) below for details of each command.
+6. Refer to the [Features](#features) below for details of each command.
@@ -159,22 +159,13 @@ These are the platforms we currently support ClientCare on:
#### For Windows
1. To start ClientCare, simply open up the folder where your downloaded `clientcare.jar`.
-2. Next, click on the Address Bar as shown below. It should turn !!blue!! upon clicking.
-![folder](images/ug/windows%20saveDirectory.png =600x)
-
-3. Type 'powershell' into the Address Bar and press ENTER on your keyboard
-![bar](images/ug/windows%20powershell.png =600x)
-
-4. Your PowerShell Terminal should be activated. Next, type the following:
-`java -jar clientcare.jar`
+2. Double-click on the app icon and ClientCare should boot up!
-![jar](images/ug/windows%20java%20jar.png =600x)
+![DoubleClick](images/ug/doubleclick.png =600x)
-5. There we go! You should see ClientCare running on your computer!
-
If you do not see the app running, do visit the [installation guide](#installation-instructions)
+If you have faced issues opening the app, you can find the alternative solution [here](#known-issues-and-troubleshooting).
-
#### For macOS
1. Our developers are working on it!
@@ -182,7 +173,7 @@ These are the platforms we currently support ClientCare on:
--------------------------------------------------------------------------------------------------------------------
-## Getting familiar with ClientCare's display
+## Getting familiar with ClientCare
Now that we got ClientCare up and running, let's get you familiar with its display.
You will learn how the different parts of ClientCare look and work in this section.
@@ -215,6 +206,8 @@ All commands must start with a keyword.
Some commands may involve an index, indicated in command formats as `INDEX`. This is simply a number which is assigned to a particular Client.
For example, the first client in the list will have the index `1`.
+The index can take on values from 1 to the number of clients shown in the Client List. It will never be **0 or a negative number**.
+
##### 3) Command Fields
Some commands have fields associated with them. For example, when you are adding a client, you need to add his name too.
His name will be considered a field, similarly for Date of Birth, Address etc.
@@ -233,16 +226,73 @@ Alternatively, [Command Summary](#command-summary) has all of them under one pag
**CAUTION**: If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as the command format may be copied over incorrectly.
-
-
--------------------------------------------------------------------------------------------------------------------
## Quick Tutorial
->Work In Progress
+Excited to play around with ClientCare?
+Let’s run you through some simple commands to get you warmed up before you dive right into ClientCare’s full feature list!
+
+
+
+**Note:** Your ClientCare may look different upon starting up. This is because the client data stored within the app may be different.
+
+
+
+Let's boot up ClientCare and get started!
+
+1. Suppose we just met a new client! Let's add James Wee to our client list and his following details:
+ * Phone Number: 98765432
+ * Email: james@hotmail.com
+ * Address: East Coast Blk 112
+ * Birthday: 25 May 1998
+ * Priority: VIP
+
+Type the following into the Command Input:
+
+`add n/James Wee c/98765432 e/james@hotmail.com a/East Coat Blk 112 d/1998-05-25 p/vip`
+
+![addclient](images/ug/addclient.png =600x)
+
+
+2. We have now added James Wee to our Client List! ClientCare shows a success message in the Feedback Display too.
+
+
+
+![success_add](images/ug/success_add.png =600x)
+
+
+
+3. Now let's schedule an appointment with James Wee 7 days from now. From the Client List, James has an index of `7`.
+When this guide was released, today was 27 March 2024. Hence, let's set the appointment at 3 April 2024 2pm.
+Let's type the following command into the Command Input:
+
+
+`schedule 7 d/2024-04-03 14:00`
+
+![schedule](images/ug/schedule.png =600x)
+
+
+
+**Note:** Since you cannot schedule an appointment on a date that has passed, do change the date field as needed.
+
+
+
+4. Our schedule with James has been updated in both Client Details and Schedule Display!
+
+![success_schedule](images/ug/success_add.png =600x)
+
+
+5. Now let's get interesting. What happens if we encounter an error?
+
+ClientCare will show us the error along with the correct command format in the Feedback Display.
+
+
+![error](images/ug/error.png =600x)
+
--------------------------------------------------------------------------------------------------------------------
@@ -279,7 +329,7 @@ ClientCare offers the following commands to help you manage your clients:
Got a new client? You can add a client to the client list with `add`.
-Format: `add n/NAME c/PHONE_NUMBER e/EMAIL a/ADDRESS b/BIRTHDAY p/PRIORITY [t/TAG]…`
+Format: `add n/NAME c/PHONE_NUMBER e/EMAIL a/ADDRESS d/BIRTHDAY p/PRIORITY [t/TAG]…`
@@ -294,13 +344,13 @@ Fields usage for client details:
| 'c/PHONE_NUMBER' | Phone numbers should only contain numbers, and it should be at least 3 digits long | `c/98765432` |
| 'e/EMAIL' | Email should be in the format of `local-part@domain` | `e/johndoe@email.com` |
| 'a/ADDRESS' | Address can take any text value | `a/311, Clementi Ave 2, #02-25` |
-| 'b/BIRTHDAY' | Birthday should be in the format of `YYYY-MM-DD` | `b/1990-01-01` |
+| 'd/BIRTHDAY' | Birthday should be in the format of `YYYY-MM-DD` | `d/1990-01-01` |
| 'p/PRIORITY' | Priority can be `low`, `medium`, `high` or `vip` | `p/medium` |
| 't/TAG' | Tags can be any text value | `t/friends` |
Examples:
-* `add n/John Doe c/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 b/1990-01-01 p/low t/friends t/owesMoney`
-* `add n/Betsy Crowe t/friend p/vip e/betsycrowe@example.com a/Newgate Prison c/1234567 t/criminal b/1979-03-04`
+* `add n/John Doe c/98765432 e/johnd@example.com a/311, Clementi Ave 2, #02-25 d/1990-01-01 p/low t/friends t/owesMoney`
+* `add n/Betsy Crowe t/friend p/vip e/betsycrowe@example.com a/Newgate Prison c/1234567 t/criminal d/1979-03-04`
@@ -328,7 +378,7 @@ Examples:
You can edit an existing client with `edit`.
-Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [b/BIRTHDAY] [p/PRIORITY] [t/TAG]…`
+Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/BIRTHDAY] [p/PRIORITY] [t/TAG]…`
* 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.
@@ -371,9 +421,6 @@ Examples:
* `list` followed by `view 2` views the 2nd client in the client list.
* `find Betsy` followed by `view 1` view the 1st client in the results of the `find` command.
-
-
-
### Locating client by name: `find`
@@ -387,8 +434,6 @@ Format: `find KEYWORD [MORE_KEYWORDS]`
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`.
* Only the name is searched.
* Only full words will be matched e.g. `Han` will not match `Hans`.
-* client matching at least one keyword will be returned (i.e. `OR` search).
- e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`.
Examples:
* `find John` returns `john` and `John Doe`
@@ -431,17 +476,33 @@ ClientCare offers the following commands to help you manage your schedule:
You can update the last met date you had with your client with `met`.
-Format: `met INDEX l/DATE`
+Format: `met INDEX d/DATE`
* Updates the client at the specified `INDEX`.
+* Using `mark` on a schedule **will not** update the last met date.
* The index refers to the index number shown in the displayed client list.
* The index **must be a positive integer** 1, 2, 3, …
* The DATE format must be in **YYYY-MM-DD**. 7 May 2023 should be entered as 2023-05-07.
Examples:
-* `met 2 l/2023-05-07` updates the last met date of the 2nd client in the client list to 7 May 2023.
-* `met 7 l/2024-07-08` updates the last met date of the 7th client in the client list to 8 July 2024.
+* `met 2 d/2023-05-07` updates the last met date of the 2nd client in the client list to 7 May 2023.
+* `met 7 d/2024-07-08` updates the last met date of the 7th client in the client list to 8 July 2024.
+
+
+
+
+**Note:** Clients will only show up in the Last Met Display if the number of days since the last meeting exceeds the period specified.
+By default, the period is **90 days**.
+
+If there is currently a schedule with the client, he will not show up in the Last Met Display.
+Rather, you will see him under the Schedule Display.
+
+
+
+
+**Note:** ClientCare will not allow you to meet someone from a future date.
+
@@ -450,7 +511,7 @@ Examples:
Got a new appointment or a postpone is needed?
You can schedule an appointment date and time you have with your client with `schedule`.
-Format: `schedule INDEX s/DATETIME`
+Format: `schedule INDEX d/DATETIME`
* Schedules an appointment the client at the specified `INDEX`.
* The index refers to the index number shown in the displayed client list.
@@ -458,19 +519,21 @@ Format: `schedule INDEX s/DATETIME`
* The DATETIME format must be in **YYYY-MM-DD HH:mm**. 7 May 2023 2.15pm should be entered as 2023-05-07 14:15.
Examples:
-* `schedule 2 s/2023-05-07 22:00` schedules an appointment with the
+* `schedule 2 d/2023-05-07 22:00` schedules an appointment with the
2nd client in the client list at 7 May 2023 10pm.
-* `schedule 7 s/2024-07-08 07:30` schedules an appointment with the
+* `schedule 7 d/2024-07-08 07:30` schedules an appointment with the
7th client in the client list at 8 July 2024 7.30am.
-
-
+
+
+**Note:** ClientCare will not allow you to schedule with someone from a past date.
+
### Marking appointments : `mark`
-Done with an appointment?
+Done with or need to cancel an appointment?
You can mark an appointment as completed with `mark`.
Format: `mark INDEX`
@@ -483,6 +546,11 @@ Examples:
* `mark 1` marks the appointment with the
1st client in the client list as completed.
+
+
+**Tip:** If you have successfully met up with your client, do remember to update the last met date with `met`!
+
+
@@ -597,10 +665,32 @@ Furthermore, certain edits can cause the ClientCare to behave in unexpected ways
-# Known issues
+# Known issues and Troubleshooting
1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the application will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again.
+
+
+2. **If you are unable to open ClientCare by clicking**, here is another way.
+
+ **For Windows:**
+ 1. Next, click on the Address Bar as shown below. It should turn !!blue!! upon clicking.
+ ![folder](images/ug/windows%20saveDirectory.png =600x)
+
+ 2. Type 'powershell' into the Address Bar and press ENTER on your keyboard
+ ![bar](images/ug/windows%20powershell.png =600x)
+
+ 3. Your PowerShell Terminal should be activated. Next, type the following:
+ `java -jar clientcare.jar`
+
+ ![jar](images/ug/windows%20java%20jar.png =600x)
+
+ 4. Hit ENTER and there we go! You should see ClientCare running on your computer!
+
+ **For macOS:**
+ 1. A
+
+ 2. B
--------------------------------------------------------------------------------------------------------------------
@@ -609,15 +699,15 @@ Furthermore, certain edits can cause the ClientCare to behave in unexpected ways
| Action | Format, Examples |
|------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [**Add**](#adding-a-client-add) | `add n/NAME c/PHONE_NUMBER e/EMAIL a/ADDRESS b/BIRTHDAY p/PRIORITY [t/TAG]…`
e.g.`add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 b/1990-01-01 p/medium t/friend t/colleague` |
+| [**Add**](#adding-a-client-add) | `add n/NAME c/PHONE_NUMBER e/EMAIL a/ADDRESS d/BIRTHDAY p/PRIORITY [t/TAG]…`
e.g.`add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 d/1990-01-01 p/medium t/friend t/colleague` |
| [**Delete**](#deleting-a-client-delete) | `delete INDEX`
e.g. `delete 3` |
-| [**Edit**](#editing-a-client-edit) | `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [b/BIRTHDAY] [p/PRIORITY] [t/TAG]…`
e.g.`edit 2 n/James Lee e/jameslee@example.com` |
+| [**Edit**](#editing-a-client-edit) | `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/BIRTHDAY] [p/PRIORITY] [t/TAG]…`
e.g.`edit 2 n/James Lee e/jameslee@example.com` |
| [**List**](#listing-all-clients-list) | `list` |
| [**View**](#viewing-a-client-view) | `view INDEX`
e.g, `view 1` |
| [**Find**](#finding-a-client-find) | `find KEYWORD [MORE_KEYWORDS]`
e.g. `find James Jake` |
| [**Clear**](#clearing-all-entries-clear) | `clear` |
-| [**LastMet**](#updating-last-met-met) | `met INDEX [l/DATE]`
e.g. `met 2 l/2023-05-07` |
-| [**Schedule**](#scheduling-appointments-schedule) | `schedule INDEX [s/DATETIME]`
e.g. `schedule 2 s/2023-05-07 22:00` | |
+| [**LastMet**](#updating-last-met-met) | `met INDEX [d/DATE]`
e.g. `met 2 d/2023-05-07` |
+| [**Schedule**](#scheduling-appointments-schedule) | `schedule INDEX [d/DATETIME]`
e.g. `schedule 2 d/2023-05-07 22:00` | |
| [**Mark**](#marking-appointments-mark) | `mark INDEX`
e.g. `mark 2` | |
| [**Add Policy**](#adding-a-policy-addpolicy) | `addpolicy INDEX n/POLICY_NAME i/POLICY_ID`
e.g. `addpolicy 1 n/Life i/1` |
| [**Delete Policy**](#deleting-a-policy-deletepolicy) | `deletepolicy INDEX i/POLICY_ID`
e.g. `deletepolicy 1 i/1` |
diff --git a/docs/images/ug/GUI v1.2 Graphic.png b/docs/images/ug/GUI v1.2 Graphic.png
index 4b0f134aae9..7c723cbe5a6 100644
Binary files a/docs/images/ug/GUI v1.2 Graphic.png and b/docs/images/ug/GUI v1.2 Graphic.png differ
diff --git a/docs/images/ug/addclient.png b/docs/images/ug/addclient.png
new file mode 100644
index 00000000000..6e15ad22c17
Binary files /dev/null and b/docs/images/ug/addclient.png differ
diff --git a/docs/images/ug/doubleclick.png b/docs/images/ug/doubleclick.png
new file mode 100644
index 00000000000..0ce17d24412
Binary files /dev/null and b/docs/images/ug/doubleclick.png differ
diff --git a/docs/images/ug/error.png b/docs/images/ug/error.png
new file mode 100644
index 00000000000..ae1ba16bbc6
Binary files /dev/null and b/docs/images/ug/error.png differ
diff --git a/docs/images/ug/schedule.png b/docs/images/ug/schedule.png
new file mode 100644
index 00000000000..d6749d1942f
Binary files /dev/null and b/docs/images/ug/schedule.png differ
diff --git a/docs/images/ug/success_add.png b/docs/images/ug/success_add.png
new file mode 100644
index 00000000000..8a8b181b843
Binary files /dev/null and b/docs/images/ug/success_add.png differ
diff --git a/docs/images/ug/success_schedule.png b/docs/images/ug/success_schedule.png
new file mode 100644
index 00000000000..4194e8768ab
Binary files /dev/null and b/docs/images/ug/success_schedule.png differ
diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java
index 9f317b3c1b4..7efe78df9ee 100644
--- a/src/main/java/seedu/address/logic/parser/CliSyntax.java
+++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java
@@ -10,9 +10,9 @@ public class CliSyntax {
public static final Prefix PREFIX_PHONE = new Prefix("c/");
public static final Prefix PREFIX_EMAIL = new Prefix("e/");
public static final Prefix PREFIX_ADDRESS = new Prefix("a/");
- public static final Prefix PREFIX_LASTMET = new Prefix("l/");
- public static final Prefix PREFIX_SCHEDULE = new Prefix("s/");
- public static final Prefix PREFIX_BIRTHDAY = new Prefix("b/");
+ public static final Prefix PREFIX_LASTMET = new Prefix("d/");
+ public static final Prefix PREFIX_SCHEDULE = new Prefix("d/");
+ public static final Prefix PREFIX_BIRTHDAY = new Prefix("d/");
public static final Prefix PREFIX_PRIORITY = new Prefix("p/");
public static final Prefix PREFIX_TAG = new Prefix("t/");
public static final Prefix PREFIX_POLICYNAME = new Prefix("n/");