User Guide
WhereTourGo: A Tour Guide’s Best Friend!
WhereTourGo (WTG) is a desktop app for managing your tour contacts, optimized for use via a Command-Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
The app helps you easily collate and access contacts of a variety of several services such as F&B, accommodations, attractions etc. It is also enhanced with many functionalities to make modification and navigation a smooth experience.
A CLI processes your commands in the form of lines of text, while a GUI is another form of user interface that allows you to interact with our app through graphical icons.
Once you are familiar with our commands, typing fast in CLI allows you to get your contact management tasks done faster and more efficiently than traditional GUI apps. Handling repetitive tasks also becomes easier as we offer access to input history, allowing you to access past commands conveniently.
This User Guide will help you set up your contact list and familiarise yourself with the features of WhereTourGo.
Can’t wait to get started? Check out the Quick Start to get going!
Table of Contents
- Quick Start
- About
- Features
- FAQ
- Command Summary
Quick Start
-
Ensure you have Java 11 or above installed in your Computer. You may install it here
-
Download the latest
WhereTourGo.jar
from here -
Copy the file to the folder you want to use as the home folder for your WhereTourGo
For Windows
- Simply double-click the file to start the app
For Mac
-
Open Terminal
-
Navigate to the home folder you have chosen for your WhereTourGo.
For example, if you have moved the app to Desktop, simply run:
cd Desktop
- Run the following command:
java -jar WhereTourGo.jar
After launching the app, 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 contacts -
add
c/att n/Mandarin Oriental p/98765432 e/Mandarin_Oriental@example.com a/Marina Bay Sands, Singapore 123432
: Adds a contact namedMandarin Oriental
-
delete
3
: Deletes the 3rd contact shown in the current list -
clear
: Deletes all contacts -
exit
: Exits the app
You can refer to the Features below for details of every command.
About
Structure of this document
This User Guide is crafted to assist you in finding what you need easily.
In the subsection Reading this document, there are several tips on how to read this guide.
The following section, Features, details the features in WhereTourGo and how to use them.
To make your navigation easier, click Back to top located throughout this document to navigate back to the table of contents.
Orienting to WhereTourGo
Below is the Home screen of WhereTourGo, with its key components marked out for easy reference:
Component | Function |
---|---|
Tab Bar | Exit the app or view help |
Command Box | Text box for you to key in your input |
Results Pane | Returns the result of the last command you entered |
Contacts Pane | A scrollable pane containing all the contacts you have listed/filtered |
Display Pane | A pane which displays your app summary upon opening the app, or details of the contact which you are viewing |
Status Bar | Shows the file path of the data file in which your contacts are saved |
Reading this document
This section introduces some technical terms, symbols and syntax used in this guide. Do try to familiarize yourself with them before moving on to the subsequent sections.
Technical Terms
The table below explains some technical terms frequently used throughout this User Guide.
Term | What it means |
---|---|
CLI | The Command-Line Interface (or CLI for short) is the user interface in which WhereTourGo is based. Typically, users interact with the app by providing text input. Unlike traditional Graphical User Interface (GUI) base apps, it may be less intuitive to new users. However upon familiarisation, fast typists may find it faster to use. |
Command word | The Command word refers to the keywords which WhereTourGo recognises to invoke specific commands. These command words will be indicated by COMMAND WORD in the various sections below. |
Parameter | Parameter refers to the user input required after the user is prompted by WhereTourGo. |
General Symbols and Syntax
The table below explains the general notations used throughout the user guide.
Syntax | What it means |
---|---|
command |
A grey highlighted block specifies an executable command, or parameters that can be entered into the command box. |
italics | Italicised text indicates that the text has a definition specific to WhereTourGo, or it is a caption for a Figure in the guide. |
![]() |
A light bulb indicates that the following text is a useful tip. |
![]() |
A warning sign indicates that the following text is important. |
Format of Commands
The following points explain the format of a command. More examples will be provided for each command in Features.
-
Words in
UPPER_CASE
are the parameters to be supplied by the user
e.g. inadd n/NAME
,NAME
is a parameter which can be used asadd n/Mandarin Oriental
. -
Items in square brackets are optional
e.gn/NAME [t/TAG]
can be used asn/Mandarin Oriental t/hotel
or asn/Mandarin Oriental
. -
Items with
…
after them can be used multiple times including none
e.g.[t/TAG]…
can be used as ` ` (i.e. 0 times)t/food
,t/wine t/food
or not at all -
Parameters can be in any order
e.g. if the command specifiesn/NAME p/PHONE_NUMBER
,p/PHONE_NUMBER n/NAME
is also acceptable. -
If a parameter is expected only once in the command, but you specify it multiple times, only the last occurrence of the parameter will be taken
e.g. if you specifyp/12341234 p/56785678
, onlyp/56785678
will be taken. -
Duplicate contact names are not allowed e.g. if there exists a contact named ‘Marina Bay Sands’, adding or editing a contact with the name ‘Marina Bay Sands’ is not allowed.
-
Contact names are case-sensitive e.g.
VivoCity
is not the same asvivocity
Restrictions for Commands
- For each contact, there are maximum field sizes:
- Name has a limit of 100 characters.
- Address has a limit of 150 characters.
- Emails must have a domain name i.e. @gmail.com, @yahoo.com etc.
- Phone number has a limit of 15 digits.
- Review has a limit of 500 characters.
- Category Codes only accept the following 6 inputs:
- Attraction:
att
- F&B:
fnb
- Commerce:
com
- Accommodation:
acc
- Transport:
tpt
- Others:
oth
- Attraction:
- Ratings only accept the following 5 inputs:
- 1-star :
ra/1
- 2-star :
ra/2
- 3-star :
ra/3
- 4-star :
ra/4
- 5-star :
ra/5
- 1-star :
Only alphanumeric symbols are allowed in the contact fields. Characters like ‘&’, ‘!’, ‘?’ are not allowed.
Features
Modifying Contacts
Adding a contact: add
Adds a contact to the contact list.
Category codes and ratings can be found here.
Usage scenario:
- You discover a new attraction to record.
Format: add c/CATEGORY_CODE n/CONTACT_NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [rv/REVIEW] [ra/RATING] [t/TAG]…

Examples:
add c/att n/Singapore Flyers p/92345678 e/123@example.com a/30 Raffles Ave, Singapore 039803 ra/4
Expected Outcome for add c/att n/Singapore Flyers p/92345678 e/123@example.com a/30 Raffles Ave, Singapore 039803 ra/4
:
Editing a contact: edit
Edits an existing contact in the contact list.
Category codes and ratings can be found here.
Usage scenario:
- You realise you entered the name of a restaurant wrongly, and want to rectify it.
Format: edit INDEX [n/CONTACT_NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [rv/REVIEW] [c/CATEGORY_CODE][ra/RATING] [t/TAG]…
- Edits the contact at the specified
INDEX
. The index refers to the index number shown in the displayed contact list. The index must be a positive integer 1, 2, 3, … - At least one of the optional fields must be provided.
- Fields will be updated based on input values.
- When editing tags, the existing tags of the contact will be removed (i.e. adding of tags is not cumulative).

t/
without specifying any tags after it.
Examples:
-
edit 1 p/92345678 e/Mandarin_Oriental@example.com
Edits the phone number and email address of the 1st contact to be92345678
andMandarin_Oriental@example.com
respectively. -
edit 2 n/Marina Bay Sands t/
Edits the name of the 2nd contact to beMarina Bay Sands
and clears all existing tags. -
edit 3 ra/3
Edits the rating of the 3rd contact to be3
.
Expected Outcome for edit 1 p/92345678 e/Mandarin_Oriental@example.com
:
Before:
After:
Deleting a contact: delete
Deletes the specified contact from the contact list, either by name or index.
Usage scenario:
- You want to remove a hotel’s contact information from WhereTourGo, as it has closed down.
Format: delete INDEX
- Deletes the contact at the specified INDEX.
- The index refers to the index number shown in the displayed contact list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
list
followed bydelete 2
deletes the 2nd contact in the contact list. -
find Marina Bay Sands
followed bydelete 1
deletes the 1st contact in the results of the find command.
Expected Outcome for find Marina Bay Sands
followed by delete 1
:
Format: delete n/CONTACT_NAME
- Deletes the contact specified by CONTACT_NAME
- The name must refer to a contact’s full name in the displayed contact list.
- The name is case-sensitive and must match the contact’s name exactly.
Examples:
-
list
followed bydelete n/Singapore DUCKTours
deletes the contact with name ‘Singapore DUCKTours`. -
filter c/fnb
followed bydelete n/Green on Earth Vegetarian Cafe
deletes the contact with name ‘Earth Vegetarian Cafe’.
Expected Outcome for filter c/fnb
followed by delete n/Green on Earth Vegetarian Cafe
:
Retrieving Contacts
Listing all contacts: list
Shows a list of all contacts in the contact list.
Usage scenario:
- You would like to have an overview of all your existing contacts in WhereTourGo.
Format: list
Locating contacts: find
Finds all contacts whose names, addresses, phone numbers, email addresses or reviews contain any of the given keywords.
Usage scenario:
- You would like to find any places of interest which are along Orchard Road (have ‘Orchard Road’ contained within their address field).
- You remember leaving a positive review on the room service of a particular hotel, but have forgotten which hotel it was for. You would like to find which contact this review was written for.
Format: find KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive, e.g.,
hotel
will matchHotel
. - The order of the keywords does not matter. e.g.
Park Hyatt
will matchHyatt Park
. - Fields searched are: name, phone, email, address and review.
- Contacts matching at least one keyword will be returned . e.g.
Park
will returnPark Hyatt Singapore
,Park Royale
.
Examples:
-
find hotel
returnsD’ Hotel
andThe Fullerton Hotel
. -
find bay
returnsGardens by the Bay
andMarina Bay Sands
.
Expected Outcome for find bay
:
Filtering contacts: filter
Shows a list of all contacts in the specified category, with the specified rating and/or with the specified tag.
Usage scenario:
- You want to filter for all hotels (in category ‘acc’) which have a 5-star rating.
- You would like to filter all restaurants (in category ‘fnb’) which are affordable (with the tag ‘cheap’).
Format: filter [c/CATEGORY] [ra/NUMBER] [t/TAGS] ...
Category codes and ratings can be found here.
- Tags:
- Any custom tags you’ve added into your contacts!

Examples:
-
filter c/fnb
returns McDonald’s, KFC, and Burger King (all F&B contacts). -
filter c/acc c/fnb
returns Mandarin Oriental, and KFC (all accommodation and F&B contacts). -
filter ra/3 t/outdoor
returns all contacts with 3-star rating and outdoor tag from all categories. -
filter c/fnb ra/3 t/fun t/outdoor
returns all F&B contacts with 3-star rating, and with fun and/or outdoor tags.
Expected Outcome for filter c/fnb
:
Sorting the contacts: sort
Sorts the list of contacts in a specified order. The sort feature sorts by Contact name (in lexicographical order) or by Rating (in descending order).
Usage scenario:
- You want to see all the highest rated contacts at one glance.
- You want to arrange a messy list of contacts by lexicographical order.
Format : sort FIELD
Examples :
-
sort name
returns the same list of contacts displayed in lexicographical order. -
sort rating
returns the same list of contacts displayed, sorted from highest to lowest rating.
Summarizing contacts: sum
Shows a summary of the content of WhereTourGo. The data presented as a summary are as follows:
- total number of contacts in the contact list.
- the proportion of contacts for each rating (Does not include unrated contacts).
- the proportion of contacts for each category defined by Category code.
Usage scenario:
- You want to improve on the quality of your tours. You would like to review the database to see which category of tour contacts lacks diversity.
- You would like to assess the quality of your contacts by viewing the proportion of contacts with high ratings.
Format: sum
Expected Outcome for sum
:
Viewing a contact: view
Displays the specified contact from the contact list.
Usage scenario:
- You want to zoom in on a particular contact to obtain all the information.
Format: view INDEX
- Displays the contact at the specified INDEX.
- The index refers to the index number shown in the displayed contact list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
list
followed byview 2
displays the 2nd contact in the contact list. -
find Mandarin Oriental
followed byview 1
displays the first contact in the results of the find command.
Format: view n/CONTACT_NAME
- Displays the contact specified by CONTACT_NAME.
- The name must refer to a contact’s full name in the displayed contact list.
- The name is case-sensitive and must match exactly.
Examples:
-
list
followed byview n/Marina Bay Sands
displays the contact with name ‘Marina Bay Sands’. -
find Gardens By The Bay
followed byview n/Gardens By The Bay
displays the contact with name ‘Gardens By The Bay’.
Navigating WhereTourGo
Navigating input history
When typing commands, you can use the up and down arrow keys to access previously entered inputs.
Caution:
Input history will be reset whenever you exit the app.
Clicking on contacts
Click on any contact in the Contacts Pane to view more information about the contact.
This is equivalent to using a view
command.
Undoing and Redoing
Undoing operations: undo
Undoes the last change made to the list of contacts stored.
Usage scenario:
- You deleted an important contact by mistake and would like to restore this contact.
Format: undo
Examples :
- If you execute the command
delete Marina Bay Sands
, then execute the commandundo
, the Marina Bay Sands contact will be restored.
Redoing operations: redo
Redoes the last change undone on the list of contacts stored.
Usage scenario:
- You edited a contact’s rating and used
undo
to revert your changes. However, you decided that you want to edit the contact’s rating again.
Format: redo
Examples :
- If you execute the command
delete n/Marina Bay Sands
, then execute the commandundo
, the Marina Bay Sands contact will be restored. If you then executeredo
, the Marina Bay Sands contact will be deleted again

Managing Data
Exporting data: export
Exports all the contacts from the contact list to a well-formatted .txt
file.
Usage scenario:
- You need to forward tour information quickly to someone else (i.e. the tour bus driver, an anxious tour participant).
Format: export
- Exports the specified contact from the contact list.
- The text file will be written with the path
[JAR file location]/data/export.txt
.
Format: export INDEX
- Exports the contact at the specified INDEX.
- The index refers to the index number shown in the displayed contact list.
- The index must be a positive integer 1, 2, 3, …
Examples:
-
list
followed byexport 2
exports the second contact in the contact list. -
find Mandarin Oriental
followed byexport 1
exports the first contact in the results of the find command.
A sample of the exported text file:
Clearing all entries: clear
Clears all entries from the contact list.
Usage scenario:
- You want to wipe out the current database and start afresh.
Format: clear
Saving the data
WhereTourGo data is saved in the hard disk automatically after any command that changes the data. You do not need to save your changes manually!
Editing the data file
WhereTourGo data is saved as a JSON file at [JAR file location]/data/addressbook.json
. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file make the format invalid, WhereTourGo will discard all data and start with an empty data file at the next run.
Help
Viewing help: help
Open the User Guide in your default Browser.
Usage scenario:
- You are new to the app and want to find basic commands to get started with.
Format: help

Please refer to the FAQ for more information.
Displaying commands: cmd
Open the command list in your default Browser.
Usage scenario:
- You want to view a command and its syntax as you have forgotten how it should be used.
Format: cmd

Please refer to the FAQ for more information.
Exiting the program: exit
Exits the program.
Format: exit
FAQ
Q: How do I save my data?
A: Your contact list is saved in your hard disk automatically for each command that modifies the list.
Q: Where is my data saved?
A: When our app is first opened, it will create a folder named data in the same folder where the JAR file is located.
This folder contains a file called addressbook.json
which contains all of your contacts with the corresponding details.
Q: Where can I find my text file after executing the export
command?
A: You can find the nicely-formatted text file called export.txt
in the folder named data. (Path: data/export.txt
)
Q: How do I transfer my data to another computer?
A: Install the app in the other computer. Overwrite the empty data file it creates with the data file from your previous WhereTourGo home folder.
Q: What do I do if I forget the format of all the commands?
A: You can type either cmd
to show the command summary or help
to open our User Guide.
Q: Why does cmd/help command open a backup window with a link instead of my browser?
A: Check to ensure that your browser installed has been upgraded to the latest version. Restart the app and try again. If the issue still isn’t resolved, please contact us at “WhereTourGo@gmail.com”.
Command summary
Action | Format, Examples |
---|---|
Add |
add c/CATEGORY_CODE n/CONTACT_NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG] [rv/REVIEW] [ra/RATING]… e.g., add c/att n/Singapore Flyers p/92345678 e/123@example.com a/30 Raffles Ave, Singapore 039803 t/friend t/colleague rv/Great place ra/4
|
Clear | clear |
Delete |
delete INDEX e.g., delete 3 delete n/CONTACT_NAME e.g., delete n/Marina Bay Sands
|
Edit |
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]… e.g., edit 2 n/Adventure Cove e/adventurecove@example.com
|
Find |
find KEYWORD [MORE_KEYWORDS] e.g., find hotel sands
|
List | list |
Filter |
filter c/CATEGORY e.g., filter c/fnb
|
Sort |
sort name sort rating
|
View |
view INDEX e.g., view 1 view n/CONTACT_NAME e.g., view n/Marina Bay Sands
|
Undo | undo |
Redo | redo |
Export |
export export INDEX e.g., export 2
|
Contact Summary | sum |
Command Summary | cmd |
Help | help |
Exit | exit |