diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 8610971fea9..60fa8a72336 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -3,24 +3,68 @@ layout: page title: HouseKeeping Hub User Guide --- -Welcome to HouseKeeping Hub, the premier desktop application for **organizing client and housekeeper contacts**. +Hello there! A very warm welcome to Housekeeping Hub, the premier desktop application tailored for the **administrative staff +of housekeeping companies** in Singapore. + +Housekeeping Hub boasts specialised and robust functionality, including contact management tools for clients and housekeepers as well as a booking management system, +our application ensures that the admin can effectively **manage an extensive contact list** and efficiently **match suitable housekeepers +to clients** when on-call. + +That's not all! Our application also offers a special feature: instantly retrieve a client call list +that contains clients whose estimated next cleaning dates are nearing - a feature sure to increase customer retention rates. + With the efficiency of a **Command Line Interface ([CLI](#cli))** and the convenience of a **Graphical User Interface ([GUI](#gui))**, -our platform ensures fast and user-friendly contact management for **housekeeping companies' admins**. -But that's not all - we also offer a robust **booking system** to help you keep track of client bookings and housekeeper availability. +Housekeeping Hub ensures fast and user-friendly usage for every admin! + +Are you ready to revolutionize your administrative workflow? Read on to learn more! + +-------------------------------------------------------------------------------------------------------------------- ## Table of Contents * Table of Contents {:toc} -------------------------------------------------------------------------------------------------------------------- + +## Our Target User + +Housekeeping Hub is specially tailored for a housekeeping company's admin whose role could involve: +1. Managing a contact list of clients and housekeepers detailing their personal particulars +2. Maintaining other important information regarding clients, including their booking dates or preferred interval between housekeeping services +3. Maintaining booking information and availability of every housekeeper +4. Searching for suitable housekeepers for a client, based on certain criteria like availability or area +5. Calling and reminding clients who have yet to make a new booking after a certain amount of time to do so + +Our application is perfectly optimised to support the admin in accomplishing these tasks **effectively** and **with ease**! + +Furthermore, our application is suitable for admins of all diverse roles or backgrounds. Even admins who are **not +tech-savvy**, or who have **limited administrative experience**, will find it a breeze to learn how to use Housekeeping Hub - +it's that intuitive and simple! + +Though, as our application utilizes a **Command Line Interface ([CLI](#cli))**, it is naturally better optimised for +those who prefer typing to mouse actions. + +Now that we have fleshed out our target user, we do recognise that **you**, the reader, might not be here as the user +of our application! +If you are here as... +1. A housekeeping company's admin learning how to use the application, we have provided detailed information on how to get started down below - we wish you all the best! +2. A housekeeping company's upper management, looking to implement our software into your company's workflow system, do reach out to us so that we may offer you the best service! +3. A fellow developer, we welcome you to explore our application and share with us your valued feedback! + +Following this, we will delve into the purpose of this user guide. + +-------------------------------------------------------------------------------------------------------------------- + ## Purpose of this guide + This guide has been created to help you understand and utilize the features and functionalities of our software effectively. Whether you're a new user who is not familiar with command line interface ([CLI](#cli)) or an expert looking to enhance -your skills, this guide aims to provide you with the information you need to make the most of our product. +your skills, this guide aims to provide you with the information you need to make the most of our application! In this guide, you will find a quick start (guide to install and start using our product), a list of features and how to use them, and -a glossary to help you understand some jargon. This guide is designed to provide you with clear and concise instructions -and a reader-friendly format to enhance your experience in using our product. +a glossary to help you understand any technical jargon. This guide is designed to provide you with clear and concise instructions +in a reader-friendly format to enhance your experience in using our application. Below is the table of contents for quick navigation +of our guide. [:arrow_up_small:](#table-of-contents) @@ -28,7 +72,11 @@ and a reader-friendly format to enhance your experience in using our product. ## How to use this guide:question: -Let's get started! Here's a rundown of every section in this guide: +Let's get started! For users who are familiar with our application, you may want to skip straight to the +[command summary](#command-summary) for a quick refresh of available commands. + +For beginner users who are learning how to use this guide and our application, no worries! +Here's a rundown of every section in this guide: If you have yet to install HouseKeeping Hub, you can refer to the [installation instructions](#installation). @@ -52,9 +100,33 @@ in the section below. ## Navigating our guide :mag: -Words highlighted in blue in our guide can direct you to a specific section in our guide ([FAQ](#faq)), -an external link ([download link](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases)), or to an explanation of a term in the glossary ([CLI](#cli)). -There will be [:arrow_up_small:](#table-of-contents) links, which you can click on to return to the table of contents. +This section is to aid you in navigating our guide. + +Words highlighted in blue in our guide can direct you to: +1. A specific section in our guide ([FAQ](#faq)) +2. An external link ([download link](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases)), or +3. An explanation of a term in the glossary ([CLI](#cli)). + +To return to the table of contents, you may click on this button, which appears at the end of every section: +[:arrow_up_small:](#table-of-contents) + +Tips that can enhance your understanding of our features and/or improve our application's usability will be highlighted +in these boxes: +
:bulb: **Tip:** +These are tips to help you use the application more effectively! +
+ +Extra information about certain features will be included in these boxes: +
+ +**:information_source: Notes about the command format:**
+Additional information specified here! +
+ +Warnings that caution you on potentially adverse or unintended effects will be accentuated in these boxes: +
:exclamation: **Caution:** +**Very** important information here! Please read me! +
[:arrow_up_small:](#table-of-contents) @@ -63,19 +135,25 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click ## Installation :computer: -1. Ensure you have `Java 11` or above installed in your Computer. You can download `Java 11` from [here](https://www.oracle.com/sg/java/technologies/javase/jdk11-archive-downloads.html). +1. This application requires `Java 11` or above to be installed in your Computer. You can download `Java 11` from [here](https://www.oracle.com/sg/java/technologies/javase/jdk11-archive-downloads.html). 1. Download the latest `HousekeepingHub-v1.3.1.jar` from [here](https://github.com/AY2324S2-CS2103T-W09-1/tp/releases). 1. Copy the file to the folder you want to use as the _home folder_ for your HouseKeeping Hub. -1. Open a [command terminal](#terminal), and type in `cd` to navigate into the folder you placed the [jar](#jar) file in. +1. Open a [command terminal](#terminal), and type in `cd [folder_name]` to navigate into the folder you placed the [jar](#jar) file in. 1. Type in `java -jar HousekeepingHub-v1.3.1.jar` to run the application.
A GUI similar to the below should appear in a few seconds. Note how the app contains some sample data for demonstration purpose. - Once you are familiar with the app, you can use the `clear` command to remove all the sample data.

- ![Ui](./images/Ui.png) + Once you are familiar with the app, you can use the `clear` command to remove all the sample data. +
:exclamation: **Caution:** + The `clear` command is irreversible! Please use it only when certain. +
+

+ + + ![Ui](./images/Ui.png) [:arrow_up_small:](#table-of-contents) @@ -84,20 +162,60 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click ## Tutorial -1. 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: +After you have launched Housekeeping Hub, you should see some sample data for you to try out the features. + +To use a command, type the command into the command box and press Enter to execute it. - * `list client` : Lists all client contacts. +Let us try some simple workflows! - * `add housekeeper n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 ar/west` : Adds a housekeeper named `John Doe`. +Adding and deleting contacts: - * `delete client 3` : Deletes the 3rd contact shown in the last shown list. +1. Add a client named 'Melissa Tan' into the client list:
+ `add client n/Melissa Tan p/98362547 e/mtan23@example.com a/Jane street, block 321 ar/northeast` +2. Delete the 3rd housekeeper that appears in the housekeeper list:
+ `delete housekeeper 3` - * `clear` : Deletes all contacts. +Finding and listing contacts: - * `exit` : Exits the app. +1. Find clients with the name 'David':
+ `find client n/david` +2. List all clients again:
+ `list client` -1. Refer to the [Features](#features) below for details of each command. +Adding a booking for a housekeeper: + +1. Search for housekeepers who are available in the East, on 2024-03-02 pm:
+ `booking housekeeper search east 2024-03-02 pm` +2. View the booking list of the 2nd housekeeper that appears in the housekeeper list:
+ `booking housekeeper list 2`
+ The list should be empty. +3. Add a new booking for the 2nd housekeeper:
+ `booking housekeeper add 2 2024-05-22 pm` +4. View the booking list of the 2nd housekeeper again:
+ `booking housekeeper list 2`
+ The list should contain the new booking you just made. +5. Delete the booking you just made:
+ `booking housekeeper delete 2 1` + +Edit a client's housekeeping details: + +1. Add a booking date for the 2nd client that appears in the client list:
+ `booking client add 2 2024-03-11 pm` +2. Edit the booking date for the 2nd client:
+ `booking client edit 2 bd/2024-03-17 am` +3. Remove the 2nd client's housekeeping details:
+ `booking client remove 2` +4. Set the 2nd client's housekeeping details again:
+ `booking client set 2 2024-03-01 15 months` + +Once you've familiarized yourself with the commands, you can clear all the sample data in the application with the +`clear` command. + +
:exclamation: **Caution:** +The `clear` command is irreversible! Please use it only when certain. +
+ +Congratulations on completing the tutorial! For more in depth explanations of each command, you may refer to the [Features](#features) section below. [:arrow_up_small:](#table-of-contents) @@ -106,6 +224,9 @@ There will be [:arrow_up_small:](#table-of-contents) links, which you can click ## Features +Welcome to the features section! Here, we will provide detailed information on how to use each feature in the application. +The information box below contains pertinent information to help you interpret the command formats correctly. +
**:information_source: Notes about the command format:**
@@ -138,7 +259,7 @@ as space characters surrounding line-breaks may be omitted when copied over to t ### Viewing help : `help` -Shows a message explaning how to access the help page. +Shows a message explaining how to access the help page. ![help message](./images/helpMessage.png) @@ -459,38 +580,6 @@ Examples: -------------------------------------------------------------------------------------------------------------------- -###### Adding deferment: `booking client defer` - -Adds a deferment to the period before a client's next estimated housekeeping date. -The default value for deferment is 0. - -This function can be used to manage clients who want to defer their next housekeeping date. For example, a client who -will be overseas for the next 3 months might want to defer their next housekeeping service to after they are back. - -If the client has **no housekeeping details**, first use the `set` command to add housekeeping details for the client. - -Format: `booking client defer INDEX NUMBER INTERVAL` - -Parameters: - -`INDEX`: index of target client, relative to the observed client list -`NUMBER`: quantity of `INTERVAL`(s) - non-negative integer -`INTERVAL`: period to defer - 'days', 'weeks', 'months' or 'years' - -
:bulb: **Tip:** -The specified index will work for any currently displayed list. i.e. What you see is what you get.
-The `INTERVAL` is the period to defer. It is meant to be an estimate, so -options such as `2 weeks and 3 days` are not supported. If precision is needed, you should convert it to `NUMBER days`. -
- -Examples: -* `booking client defer 2 3 months` adds a deferment of 3 months for the 2nd client -* `booking client defer 6 1 years` adds a deferment of 1 year for the 6th client
- -[:arrow_up_small:](#table-of-contents) - --------------------------------------------------------------------------------------------------------------------- - ###### Editing housekeeping details: `booking client edit` Edits any attribute client's housekeeping details (including last housekeeping date, preferred interval, booking date and deferment). @@ -518,6 +607,11 @@ Formats and parameters: `INDEX`: index of target client, relative to the observed client list `NUMBER`: quantity of `INTERVAL`(s) - non-negative integer `INTERVAL`: period to defer - 'days', 'weeks', 'months' or 'years' + Edits a deferment to the period before a client's next estimated housekeeping date. + The default value for deferment is 0. + +This deferment attribute can be used to manage clients who want to defer their next housekeeping date. For example, a client who +will be overseas for the next 3 months might want to defer their next housekeeping service to after they are back.
:bulb: **Tip:** The index to delete will work for any displayed list. i.e. What you see is what you get.
@@ -660,7 +754,6 @@ Action | Format, Explainations, Examples `edit pi/` | Edit client's preferred interval with `edit pi/`
Format: `booking client edit INDEX pi/NUMBER INTERVAL`
Example: `booking client edit 2 pi/2 weeks` `edit bd/` | Edit client's booking date with `edit bd/`
Format: `booking client edit INDEX bd/BOOKING DATE`
Example: `booking client edit 2 bd/2024-04-02 am` `edit d/` | Edit deferment with `edit d/`
Format: `booking client edit INDEX d/NUMBER INTERVAL`
Example: `booking client edit 2 d/2 months` -`defer` | Add period to delay calling clients with `defer`
Format: `booking client defer INDEX NUMBER INTERVAL`
Example: `booking client defer 2 1 months` `add` | Add client's booking date with `add`
Format: `booking client add INDEX yyyy-MM-dd (am|pm)`
Example: `booking client add 2 2024-04-01 am` `delete` | Delete client's booking date with `delete`
Format: `booking client delete INDEX`
Example: `booking client delete 2` `set` | Set client's housekeeping details with `set`. Same format as initiation, you can set last housekeeping date and preferred interval.
Format: `booking client set INDEX yyyy-MM-dd NUMBER INTERVAL`
Example: `booking client set 2 2024-04-01 15 days`