By: Team F09-3 Since: Sep 2018 Licence: MIT

1. Introduction

Invités is a desktop application targeted at event managers and planners. The application allows you to efficiently organise, cater, and manage large events such as weddings, school gatherings, orientation camps, etc. The application works on a command line interface, where you can key in the commands specified in our User Guide into a command box to perform a task. Some of the main distinguishing features of the application include the ability to send mass emails to guests, keep track of payments, and take note of guest attendance. The application also allows you to input the proposed or confirmed details of your event and provides a countdown to the event date. To add to these features, by employing a standardised format, the application is able to take in Comma Separated Values (CSV) files and import the guest list for a particular event. This eliminates the need to key in the guest details manually and gives you an alternative if you decide to organise another event using the same guest list.

You will have an easier time managing the reception of your event as you will be equipped with tools that will minimise errors in catering, organising, and ordering. Moreover, our application aims to reduce your frustration while planning events by packaging your needs in a platform that is more user-friendly, personalised, and efficient.

The main purpose of this User Guide is to give you a detailed overview of all the features in our application and how to use them.

2. Quick Start

  1. Ensure you have Java version 9 or later installed in your Computer.

  2. Download the latest jar file from the GIT repository here.

  3. Place the jar file where your home directory resides

  4. Double click on the jar file and wait a couple of seconds as the application loads. If you’re successful, a main screen will load similar to the one shown below:

Ui
Figure 1 - Invités: An event management system.

  1. As the Command Line Input is your primary method of manipulation, here are some example commands that you can use:

    • help : Displays a summary of the list of commands that the application offers.

    • add_guest : Adds a guest to the guest list.

    • delete_guest : Deletes an entry from the guest list.

    • mark : Marks the attendance of a guest from ABSENT to PRESENT.

    • exit : exits the application.

  2. You should 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.

  3. Please refer to Section 3, “Features” subsection to see more detailed documentation of the functions that are included in this application

  4. If you would like to perform emailing services through our application, please complete the steps as listed in Section 5, “Enabling Email Services”

3. Features

Command Format

  • Words in UPPER_CASE are the parameters to be supplied by you e.g. in add_guest n/NAME, NAME is a parameter which can be used as add_guest n/Bob Lee.

  • Items in square brackets are optional e.g n/NAME [t/TAG] can be used as n/Bob Lee t/VIP or as n/Bob Lee.

  • 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/VIP, t/VIP t/Vegetarian etc.

  • You can specify parameters in any order e.g. if the command specifies n/NAME p/PHONE_NUMBER, p/PHONE_NUMBER n/NAME is also acceptable.

3.1. Viewing help : help

Displays a summary of the list of commands that the application offers
Format: help

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input help extra_characters or help 182$* will be incorrect, but help   (i.e. with spaces) will be correct.

3.2. Listing all guests : list

Shows a list of all guests in the guest list.
Format: list

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input list extra_characters or list 182$* will be incorrect, but list   (i.e. with spaces) will be correct.

3.3. Locating guests by name, phone number or email address: find

Find guests whose names, phone numbers and/or email addresses contain any of the given keywords.
Format: find n/KEYWORD p/MORE_KEYWORDS e/MORE_KEYWORDS
Example: find n/NAME p/PHONE e/EMAIL

  • The search is case-insensitive. e.g n/hans will match n/Hans

  • The order of the keywords does not matter. e.g. n/Hans n/Bo will match n/Bo n/Hans

  • Only names, phone numbers and email addresses are searched, depending on prefixes given.

  • Only full words will be matched e.g. n/Han will not match n/Hans

  • Guests matching at least one keyword will be returned (i.e. OR search). e.g. n/Hans n/Bo will return Hans Gruber, Bo Yang

Examples:

  • find n/John
    You will be shown a list that contains the entries of john and John Doe

  • find n/Betsy n/Tim n/John
    You will be show a list containing entries of any guest having names Betsy, Tim, or John

  • find n/alex p/92746838 e/johndoe@gmail.com
    You will be show a list containing entries of any guest having the name Alex, phone number 92746838, or email address johndoe@gmail.com

  • find n/david n/edan
    You will be shown a list that contains the entries of any guests having the name david and edan

  • find n/david edan
    You will be shown a list that contains the entries of any guests having the name david but not edan

3.4. Adding a guest’s details: add_guest

Adds a guest to the guest list.
No spaces or special characters allowed in Payment and Attendance.
Payment accepts "PAID", "NOTPAID" , "PENDING" or "N.A.". Attendance accepts "ABSENT", "PRESENT" or "N.A."
Payment and attendance are case-insensitive.
Unique ID (UID) accepts a minimum of 5 characters and a maximum of 20 characters
If any options other than the ones given are entered, the guest will be added if other fields are fine, but payment and/or attendance will be blank.
Format: add_guest n/NAME p/PHONE_NUMBER e/EMAIL pa/PAYMENT a/ATTENDANCE u/UID [t/TAG]…​

A guest can have any number of tags (including 0) UID can be generated by the program by entering u/00000,
Other values of UID will be treated as a user-defined UID.

Examples:

  • add_guest n/Bob Lee p/81720172 e/boblee@gmail.com a/Absent pa/NOTPAID u/00001 t/VIP t/Vegetarian

  • add_guest n/John Doe p/91028392 e/johndoe@gmail.com a/Present pa/PAID u/00002 t/Groom t/NonVegetarian

  • add_guest n/Carl Sagan p/85174321 e/carlsagan@gmail.com a/Absent pa/PAID u/00000 t/VIP (will trigger randomly generated UID)

  • add_guest n/David Li p/83186624 e/davidli@gmail.com pa/PENDING a/ABSENT u/00003 (will be treated as a User defined UID)

3.5. Editing a guest’s details: edit_guest

Edits an existing guest entry in the guest list.
No spaces or special characters allowed in Payment and Attendance.
Payment accepts "PAID", "NOTPAID" , "PENDING" or "N.A.".
Attendance accepts "ABSENT", "PRESENT" or "N.A."
Payment and attendance are case-insensitive.
Format: edit_guest INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [pa/PAYMENT] [a/ATTENDANCE] [t/GUEST_TYPE] [t/DIET]…​

Unique ID (UID) cannot be changed by edit_guest.
  • Edits the guest at the specified INDEX. The index refers to the index number shown in the displayed guest 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 guest will be removed i.e adding of tags is not cumulative.

  • You can remove all of the guest’s tags by typing t/ without specifying any tags after it.

Examples:

  • edit_guest 2 n/Bob Chan
    Edits the name of the 2nd guest to be Bob Chan.

3.6. Deleting a guest’s details: delete_guest

Deletes the specified guest from the guest list.
Format: delete_guest INDEX

  • Deletes the guest at the specified INDEX.

  • The index refers to the index number shown in the displayed guest list.

  • The index must be a positive integer 1, 2, 3, and cannot be out of bounds. For example, if there are 4 guests in your application, the command delete_guest 5 will give you an error as there does not exist a guest at INDEX 5.

Examples:

  • list
    delete_guest 2
    Deletes the 2nd guest in the guest list.

  • find n/Betsy
    delete_guest 1
    Deletes the 1st guest in the results of the find command.

3.7. Adding a set of tags to all guests : addTag

This command allows you to add a set of tags to all guests in the current filtered guest list.
Format: addTag [t/TAG]…​

  • The addTag command will add any number of tags provided by you to all guests.

  • You must provide tags that are alphanumeric, otherwise the system will give you an error.

  • Moreover, if you provide empty tags, or tags that all your guests already have, the system will throw an error.

Examples:

  • addTag t/Veg t/VIP
    You will add the tags Veg and VIP to all guests in the current filtered list.

  • addTag t/@
    This will present you with an error as all your tags must be alphanumeric.

  • addTag
    You will receive an error message as you have provided empty tags.

3.8. Removing a set of tags from all guests : removeTag

This command allows you to remove a set of tags from all guests in the current filtered guest list.
Format: removeTag [t/TAG]…​

  • The removeTag command will remove any number of tags provided by you from all guests.

  • If the tags you provided are not shared by any of the guests in the current list, the system with throw an error.

  • You must provide non-empty tags, e.g. an input of removeTag will not do anything.

  • You must provide tags that are alphanumeric, otherwise the system will throw an error.

Examples:

  • removeTag t/Veg t/VIP
    You will remove the tags Veg and VIP from all guests in the current filtered list.

  • removeTag
    This will present you with an error, as you have not provided any tags to delete.

  • removeTag t/@!*
    This will present you with an error, as all your tags must be alphanumeric.

3.9. Importing guests from CSV file : import

Import multiple guests with data from a specified CSV file. To create your own CSV file for importing guests, please see Section 6: "CSV Guest List Format" for the accepted format.

Format: import FILE_PATH

  • This command only adds guests into the current guest list. No existing guest in the guest list will be deleted due to the import.

  • Adds all guests specified in the CSV file specified by FILE_PATH

  • FILE_PATH shall only be a relative or an absolute file path.

    • Relative file path is relative to where the application Jar file is located.

  • There is no guaranteed ordering of guests after each import.

  • Importation of guests which already exist will be skipped.

    • A guest will be classified as an existing guest if it has the same name and matching phone number or email address with an existing guest in the guest list.

  • Importation of badly formatted guests in the CSV file will be skipped.

  • The CSV guest entries which are badly formatted or those which corresponds to an existing guest in the guest list, will trigger an import report window as shown in figure 2.

ImportReportWindow
Figure 2 - Import Report Window: Shows the offending CSV guest entries with their associated error messages.

Examples:

  • import directory/subdirectory/guestlist.csv
    You will populate the guest list with the data imported from the CSV file in the specified path.

3.10. Exporting guests to CSV file : export

Exports guests' data in the guest list to a specified CSV file. Allows you to share your guest list easily using the exported CSV file. The format of guest fields in the CSV file is the same format as the import command and can be found in Section 6: "CSV Guest List Format".

Format: export FILE_PATH

  • Command will only export the guests that you see in the guest list panel of the user interface.

    • To export selected guests, use the filter command before exporting.

  • FILE_PATH shall only be a relative or an absolute file path.

    • Relative file path is relative to where the application Jar file is located.

Examples:

  • export directory/subdirectory/guestlist.csv
    You will export the currently filtered guest list entries into a CSV file in the specified path.

3.11. Marking a guest as present : mark

Marks a guest as present using a unique ID (UID) that was assigned to them upon adding them into the guest list. This will also update the attendance​ field associated with the guest to PRESENT.
Format: mark [UID]

UID does not use the u/ prefix.
UID only accepts a string of numbers alphanumeric characters between 5 to 20 characters inclusive, other characters will trigger an invalid command format error.

Examples:

  • mark 543654 You will set the guest with UID 543654 as PRESENT.

  • mark A345654M You will set the guest with UID A345654M as PRESENT.

  • mark ALPHA You will set the guest with UID ALPHA as PRESENT.

markCommandSuccess

Figure 3 - User interface after Mark Command : Successful execution of MarkCommand

3.12. Marking a guest as absent : unmark

Marks a guest as absent using a unique ID (UID) that was assigned to them upon adding them into the guest list. This will also update the attendance​ field associated with the guest to ABSENT.
Format: mark [UID]

UID does not use the u/ prefix.
UID only accepts a string of numbers alphanumeric characters between 5 to 20 characters inclusive, other characters will trigger an invalid command format error.

Examples:

  • unmark 543654 You will set the guest with UID 543654 as ABSENT.

  • mark A345654M You will set the guest with UID A345654M as ABSENT.

  • mark ALPHA You will set the guest with UID ALPHA as ABSENT.

unmarkCommandSuccess

Figure 4 - User interface after Unmark Command : Successful execution of UnmarkCommand

3.13. Starting mass attendance marking : start_marking - Coming in v2.0

This feature has not been implemented yet. Our team plans to implement this feature in an upcoming version, v2.0.

Start the mass attendance marking mode. Allows you to mark attendance without using the mark prefix. This command will allow you to continuously mark the attendance of the attendees by keying in their Unique ID (UID) into the command line interface Format: start_marking + [UID]…​

You are unable to use other commands once this mode is active.
You will need to use the stop_marking command to deactivate this mode to use other commands

Examples:

  • start_marking + 00001 + 708944 + 928372 + 00003…​
    You will mark the guests with UID of 00001, 708944, 928372, 00003 as PRESENT.

3.14. Stopping mass attendance marking : stop_marking - Coming in v2.0

This feature has not been implemented yet. Our team plans to implement this feature in an upcoming version, v2.0.

Stops the mass attendance marking mode. Deactivates the start_marking mode to enable usage of other commands in the program
Format: stop_marking

Examples:

  • start_marking + 00001 + stop_marking
    Initiate start_marking mark the person with UID 00001 then exit the mode with stop_marking.

3.15. Filtering the guest list based on specified parameters : filter

Filters the current guest list based on the specified filter parameters. Only filters based on payment status, attendance status and tags. Keywords should not have spaces or any special characters.
Values accepted for Payment Status: PAID, NOTPAID, PENDING or N.A.
Values accepted for Attendance Status: PRESENT, ABSENT or N.A.
Format: filter [pa/PAYMENT_STATUS] [a/ATTENDANCE_STATUS] [t/DIET] [t/GUEST_TYPE] [t/…​]

  • The search is case-insensitive. e.g pa/paid will match pa/PAID.

  • The order of the keywords does not matter. e.g. pa/PAID a/ABSENT will match a/ABSENT pa/PAID.

  • Only payment status, attendance status and tags are searched, depending on prefixes given.

  • Only full words will be matched. e.g. pa/PAID will not match pa/NOTPAID.

  • Guests matching all keywords will be returned (i.e. AND search). e.g. pa/PAID t/GUEST will return a list of people who have paid and are guests.

Examples:

  • filter pa/NOTPAID a/PRESENT
    You will be shown a list with guests who have yet to pay and are present at your event.

  • filter a/Present t/Vegetarian
    You will be shown a list with guests who are present and have a vegetarian dietary requirement.

3.16. Sending emails to individual guests : email

Please ensure you have gone through Section 5, “Enabling Email Services” first in order for this feature to work!

With this command you can send an email, with a QR code attachment, to the guest at a specific Index
Format: email INDEX

  • Sends an email to the guest at the specified INDEX.

  • The index refers to the index number of the guest as shown in the displayed guest list.

  • The index must be a positive integer 1, 2, 3, and cannot be out of bounds. For example, if there are 4 guests in your application, the command email 5 will give you an error as a guest does not exist at INDEX 5.

Examples:

  • email 2

    1. First, you will be presented with an EmailWindow similar to Figure 5 below.

    2. This window is for you to input your email address, password, email subject and message.

    3. You will then need to fill in all the required fields. If you miss any of the fields and try to click the Send button, an error message will pop up like the one in Figure 6.

    4. Once all fields are filled, you can click the Send button to send your email to the 2nd guest in the list. You can also click the Quit button if you do not want to send your email.

    5. If you are successful, you will see a message that says Successfully sent email!.

EmailWindow Figure 5 - EmailWindow

EmailWindowMissingMessage Figure 6 - Missing email message

3.17. Sending an email to all guests : emailAll

Please ensure you have gone through Section 5, “Enabling Email Services” first in order for this feature to work!

With this command you can an email (no QR code attachments for this command) to all of the guests in the current filtered list
Format: emailAll

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input emailAll extra_characters or emailAll 182$* will be incorrect, but emailAll   (i.e. with spaces) will be correct.

Examples:

  • list

  • emailAll

    1. The command list will list all your guests to ensure you send an email to all guests.

    2. First, you will be presented with an EmailWindow similar to Figure 5 above.

    3. This window is for you to input your email address, password, email subject and message.

    4. You will then need to fill in all the required fields. If you miss any of the fields and try click the Send button, an error message will pop up as the one in Figure 6 above.

    5. Once all fields are filled, you can click the Send button to send your email to all guests in the list. You can also click the Quit button if you do not want to send your email.

    6. If you are successful, you will see a message that says Successfully sent email!.

3.18. Sending emails to specific groups of guests : emailSpecific

Please ensure you have gone through Section 5, “Enabling Email Services” first in order for this feature to work!

With this command you can send an email (no QR code attachments for this command) to all the guests with at least one of the tags specified+ Format: emailSpecific [t/TAG]…​

  • If the tags you provided are not shared by any of the guests in the current list, the system will throw an error

  • You must provide non-empty tags; an input of emailSpecific will not do anything.

  • You must provide tags that are alphanumeric, otherwise the system will throw an error.

Examples:

  • emailSpecific
    This will present you with an error, as you have not provided any tags to delete

  • emailSpecific t/@!*
    This will present you with an error, as all your tags must be alphanumeric

  • emailSpecific t/VIP t/Garbage

    1. This command will send an email to all the guests with a VIP tag, assuming no guest has the tag Garbage! (You can provide such Garbage tags!)

    2. First, you will be presented with an EmailWindow similar to Figure 5 above.

    3. This window is for you to input your email address, password, email subject and message.

    4. You will then need to fill in all the required fields. If you miss any of the fields and try click the Send button, an error message will pop up as the one in Figure 6 above.

    5. Once all fields are filled, you can click the Send button to send your email to all guests in the list. You can also click the Quit button if you do not want to send your email.

    6. If you are successful, you will see a message that says Successfully sent email!.

3.19. Adding details about your event: add_event

Adds details such as the name, date, venue and start time of your event. Any additional details may be entered as tags.
Format: add_event n/EVENT_NAME d/DATE v/VENUE st/START_TIME [t/OTHER_TAGS]

  • All compulsory fields(name, date, venue and start time) must be specified. The optional field(ie, tags) may be omitted.

  • Event name and venue have to be alphanumeric and may contain spaces. Otherwise, the system will inform you about the correct format to be followed. Special characters like '#', ',' and '-' may be used for the venue field.

  • Event date has to follow the 'dd/mm/yyyy' format and has to exist in the calendar. Ensure that the event date falls after the current system date. Otherwise, the system will inform you about the invalid date.

  • Event’s start time should follow the 'h:mm AM/PM' format with h between 1 to 12 and mm between 00 to 59. Otherwise, the system will inform you about the correct format to be followed.

  • Event tags must be alphanumeric. Spaces are not allowed

Examples:

  • add_event n/CFG career talk d/12/01/2019 v/YIH Paris Room st/9:00 AM t/SmartCasualAttire
    The event details panel will show you an event called CFG career talk that will take place on 12th January, 2019 at YIH Paris Room. The event will start at 9:00 AM and attendees are expected to dress in smart casual attire.

3.20. Editing your event’s details : edit_event

Edits the details of your event.
Format: edit_event [n/EVENT_NAME] [d/DATE] [v/VENUE] [st/START_TIME] [t/…​]

  • Ensure that you have specified some event details before using this command. Otherwise, the system will inform you about the lack of event details.

  • 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 event will be removed i.e adding of tags is not cumulative.

  • You can remove all event tags by typing t/ without specifying any tags after it.

Examples:

  • edit_event n/CFG Career Workshop t/CasualAttire
    You will change the name of your event to 'CFG Career Workshop and replace the existing tags with the 'CasualAttire' tag.

3.21. Deleting your event’s details : delete_event

Deletes the event details currently present in the application.
Format: delete_event

  • Ensure that you have specified some details before using this command. Otherwise, the system will inform you about the lack of event details.

  • You should not enter any characters after the command word, only extra spaces are allowed. For example, the following commands are incorrect: 'delete_event 182' or 'delete_event xyz' where 'x', 'y' and 'z' correspond to any characters except blank spaces.

Examples:

  • delete_event
    You will delete the event details.

3.22. Undoing previous command : undo

Restores the guest list to the state before the previous undoable command was executed.
Format: undo

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input undo extra_characters or undo 182$* will be incorrect, but undo   (i.e. with spaces) will be correct.

Undoable commands: those commands that modify the guest list’s content (add_guest, delete_guest, edit_guest, removeTag, addTag, clear and import) and the event details display’s content('add_event', 'edit_event' and 'delete_event'). The other commands we provide are therefore not undoable.

Examples:

  • delete_guest 1
    list
    undo (reverses the delete_guest 1 command)

  • select 1
    list
    undo
    The undo command fails as there are no undoable commands executed previously.

  • delete_guest 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete_guest 1 command)

3.23. Redoing the previously undone command : redo

Reverses the most recent undo command.
Format: redo

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input redo extra_characters or redo 182$* will be incorrect, but redo   (i.e. with spaces) will be correct.

Examples:

  • delete_guest 1
    undo (reverses the delete_guest 1 command)
    redo (reapplies the delete_guest 1 command)

  • delete_guest 1
    redo
    The redo command fails as there are no undo commands executed previously.

  • delete_guest 1
    clear
    undo (reverses the clear command)
    undo (reverses the delete_guest 1 command)
    redo (reapplies the delete_guest 1 command)
    redo (reapplies the clear command)

3.24. Exiting the program : exit

Exits the program.
Format: exit

You should not enter any characters after the command word, only extra spaces are allowed! For example, the input exit extra_characters or exit 182$* will be incorrect, but exit   (i.e. with spaces) will be correct.

3.25. Saving your data

The guest list data are saved in the hard disk automatically after any command that changes the data.
There is no need for you to save your data manually.

4. FAQ

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 guest list.
Alternatively, you can export the data from your current computer using the export command. Using this data, you can launch the application on a different computer and import the data.

Q: ​How do I import my existing data on a CSV into the application?
A: Firstly, create a new event within the application. After this, use the import function and specify the path to the file. You will see the guest list populate itself with the data from the specified CSV file.

5. Enabling Email Services

In order for you to use the commands email, emailAll, and emailSpecific you must allow Invités to access your email account and send emails. Currently, our application only supports Gmail accounts, but we do plan on supporting other email domains.

If you do have a Gmail account, please follow these steps to enable email services:

  1. Login to your Gmail account using your preferred online browser (e.g. Chrome, Firefox).

  2. Click on your profile picture on the top right, and click on Google Account

  3. Once you are re-directed, under the Sign-in and security section, click on Apps with account access

  4. Scroll down till you find the section Allow less secure apps on the right. Set this option to ON.

  5. You are now ready to send emails to your guests through Invités!

Currently there is no other way to enable mailing services than to let your Gmail account allow less secure apps. However, our team is working quickly to find a more secure replacement.
If your operating system is macOS Mojave, please make an important note of the following:
  1. If you use any of the email-related commands (i.e. email, emailAll or emailSpecific), you will be presented with an EmailWindow similar to the one in Figure 5.

  2. If you use the command-tab keys when the EmailWindow is open to switch windows, the application will crash. This is due to Apple’s latest macOS release, in which some of the bindings are not compatible with key JavaFX functions.

  3. This issue does not occur on Windows, Linux, and older macOS systems, however it may still exist in other operating systems we have not tested on.

  4. We sincerely apologise for the inconvenience caused, and our team is quickly trying to fix this issue.

For testing purposes, you may use a default Gmail account we have created to save you some time:

Email Address: invitestestpe1@gmail.com

Password: practicalexam1

6. CSV Guest List Format

The import and export command will only work with CSV files satisfying a predefined format. To create valid CSV files, guests fields must be in the following format below and each guest’s details must be entered on a new line.

Format: NAME,PHONE_NUMBER,EMAIL,PAYMENT_STATUS,ATTENDANCE,UID,[TAG]

Individual guest fields shall not contain any commas.

Example: sample CSV file

David Li,91031282,lidavid@gmail.com,PENDING,ABSENT,00001,gold,Veg,VIP
Irfan Ibrahim,92492021,irfan@gmail.com,PAID,PRESENT,00002,gold,Veg,VIP
Roy Balakrishnan,92624417,royb@gmail.com,PENDING,ABSENT,00003,gold,Veg,VIP

7. Command Summary

  • help : ​Displays a help sheet containing useful commands.

  • add_guest : ​Creates an entry containing the details of a guest attending the event.

  • edit_guest :​ Modifies the entry of a specified guest based on index.

  • delete_guest : ​Removes an entry of a specified guest based on index.

  • removeTag : Removes a set of tags from all the guests in the current list.

  • addTag : Adds a set of tags to all the guests in the current list.

  • find : Finds guests whose names, phone numbers or email addresses contain any of the given keywords.

  • list : Lists the current guest list.

  • import : ​Automatically generates and displays the guest list from a given CSV file.

  • export : Exports the current guest list to a CSV file.

  • mark : ​Tags a guest to note that they are currently at the event.

  • unmark : Tags a guest to note that they are currently absent at the event​.

  • filter : ​Filters the guest list based on keywords given.

  • email : ​Sends individual emails to a guest based on the index specified.

  • emailAll : Sends an email to all of the guests in the current list.

  • emailSpecific : Sends an email to all guests with the specified tags.

  • add_event :​ Adds the details of your event.

  • edit_event : Edits the details of your event.

  • delete_event : ​Removes your event details.

  • undo : Restores the application to the state before the previous undoable command was executed.

  • redo : Reverses the most recent undo command.

  • exit : ​Exits the application.