---
# System prepended metadata

title: User Guide - App-Ointment

---

# User Guide - App-Ointment
App-Ointment is a desktop app for administrative staff of hospitals/clinics to manage their patients' appointments. 

# Features

## Viewing help: `help`
- Format: `help`
- Showing a message constaining the url to the User Guide page 

## Cleaning all entires: `clear`
- Format: `clear`
- clearing all entries from the record

## Add New Appointment: `add`
- Format: `add n/NAME [p/PHONE] [e/EMAIL] [a/ADDRESS] d/DOCTOR t/DATETIME`
- Adds an appointment to the appointment queue with given user fields.
- Prompt user to re-key if compulsory fields are left empty 

#### Example of Usage:
`add n/Jacob d/Dr.Pang t/2021-01-01 23:59`
#### Expected Outcome:
adds an appointment for patient Jacob under Dr.Pang on 01 Jan 2021 11:59pm without contact details.

## List Appointments: `list`
- Format: `list`
- Shows a list of all appointments

## Search Appointments: `find`
- Format: `find [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/DOCTOR] [t/DATETIME]`
- Searches the appointments by the specified fields.
- At least one of the optional fields must be provided.
- Displays the details of matched appointments, in order of INDEX. 

#### Example of Usage:
`find n/Wei Sin d/Kymie`
#### Expected Outcome:
returns all appointments with Wei Sin and Kymie as the patient and doctor respectively.

## Edit Appointments Details: `edit`
- Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/DOCTOR] [t/DATETIME]`
- 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.
- When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
- You can remove all the person’s tags by typing t/ without specifying any tags after it.

#### Example of Usage:
`edit 1 n/Jacob d/Dr.Pang t/2021-01-01 23:59`
#### Expected outcome:
changes the patient name, doctor and timing of appointment 1 to Jacob, Dr.Pang and 01 Jan 2021 11:59pm respectively.

## Remove Appointment: `remove`
- Format: `remove [INDEX]...`
- Removes the appointment associated with the serial number.
- If the serial number is not specified, removes the most recent appointment referenced or selected, and if no such appointment object exists, returns an error.

#### Example of Usage:
`remove 1`
#### Expected Outcome:
The appointment that is first on the list is removed. This action resets the index of the current appointment list.

## Exit Program: `exit`
- Format: `exit`
- Exits the program

## Select Appointment : **COMING SOON**
- Format: `select [INDEX]`
- selects the the current displayed object to make changes to it 
- If index is not provided, the topmost of whatever is displayed is selected.
- other commands can then use the selected index with parameter INDEX = 0


## Command Summary
 Action | Format, Examples
 ------ | --------------- 
**Add**    | `add n/NAME [p/PHONE] [e/EMAIL] [a/ADDRESS] d/DOCTOR t/DATETIME`<br> e.g. `add n/Jacob d/Dr.Pang t/2021-01-01 23:59`
**Edit**   | `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/DOCTOR] [t/DATETIME]` <br> e.g. `edit 1 n/Jacob d/Dr.Pang t/2021-01-01 23:59`
**Exit**   | `exit`
**Find**   | `find [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [d/DOCTOR] [t/DATETIME]` <br> e.g. `find n/Wei Sin d/Kymie`
**List**   | `list`
**Remove** | `remove [INDEX]` <br>e.g. `remove 1`
**Help**   | `help` 
**Clear**  | `clear` 