What is WedLinker?
WedLinker is an essential desktop app tailored to the needs of professional wedding planners who need to efficiently manage every aspect of a wedding. From organising wedding-related contacts to tracking tasks assigned to vendors, WedLinker consolidates all the tools you need into one streamlined platform.
Designed with the unique demands of wedding planners in mind, WedLinker helps you:
With WedLinker, you can stay on top of multiple weddings at once, reduce administrative workload, and ensure that no detail is overlooked.
Tailored to your needs, WedLinker simplifies complex workflows so you can focus on delivering flawless, stress-free wedding experiences for your clients.
Why Choose WedLinker?
While WedLinker excels with its fast Command-Line Interface (CLI), it also offers a clear and intuitive Graphical User Interface (GUI). The GUI presents your contacts, weddings, and tasks in an organised layout, making it easy to view and manage them at a glance.
This combination of speed and clarity allows you to manage your wedding planning tasks efficiently and with precision.
Before you can run this app, you need to have Java 17
or above installed on your computer. Follow the simple steps below to check if you already have Java 17
installed, or to install it if you do not:
1.1. Open your operating system's terminal. If you are unsure how to open the terminal, follow the steps below:
cmd
and press enterTerminal
in the search field, then click Terminal, OR/Applications/Utilities
folder, then double-click Terminal.1.2. Type java -version
and press enter.
1.3. If you have Java 17
installed, the terminal should look like:
C:\Users\UserName>java -version
java version "17.0.12" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.12+8-LTS-286, mixed mode, sharing)
If you have Java 17
installed, proceed to Step 3. If not, follow these instructions:
2.1. Download Java 17
from here.
2.2. Select the installation package based on your Operating System.
2.3. Follow the instruction guide to install Java on your device. For more information, click here.
WedLinker.jar
to begin the download.
WedLinker.jar
.Type a command in the command box and press Enter to execute it. For example, typing help
and pressing Enter will open the help window.
Some example commands you can try:
list
: Lists all contacts.
add n/John Doe p/98765432 e/johnd@example.com a/ABC Photography Studio
: Adds a contact named John Doe to WedLinker with the phone number 98765432, email address johnd@example.com, and address ABC Photography Studio.
delete 3
: Deletes the 3rd contact shown in the current list.
clear
: Deletes all contacts.
exit
: Exits the app.
Words in UPPER_CASE
are the parameters to be supplied by the user.
For example: add n/NAME
, NAME
is a parameter which can be used as add n/John Doe
.
Items in square brackets are optional.
For example: n/NAME [t/TAG_NAME]
can be used as n/John Doe t/guest
or as n/John Doe
.
Items with …
after them can be used multiple times.
For example: [t/TAG_NAME]…
can be: t/guest
, t/guest t/photographer
etc.
Commands in WedLinker uses labels to specify the parameters, the labels are stated as such:
Extra inputs for commands that do not require them (such as help
, list
, exit
and clear
) will be ignored.
help 123
, it will be interpreted as help
.Similarly, extra labels (e.g. n/ or tk/) for commands that do not take in those labels will be processed as part of other inputs.
n/
, p/
, e/
, a/
, t/
, and w/
. If the command specifies
add n/Betsy Crowe d/2020-04-11 tk/Buy flowers
, it will be interpreted as adding a person with the name "Betsy Crowe d/2020-04-11 tk/Buy flowers". If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
assign-vendor 1
, you can type in asv 1
. You can find the shortcuts for each command in their respective sections.You can find the help page by entering the command help
.
Format: help
You can see a list of all saved Persons in the WedLinker by entering the command list
.
Format: list
You can see a list of all Weddings in the WedLinker by entering the command list-weddings
.
Format: list-weddings
or lw
You can see a list of all Tasks in the WedLinker by entering the command list-tasks
.
Format: list-tasks
or ltasks
You can see a list of all Tags in the WedLinker by entering the command list-tags
.
You can delete all the data from WedLinker by entering clear
.
Format: clear
Exits the program.
Format: exit
WedLinker data is saved in your computer automatically. There is no need to save manually.
WedLinker data is saved automatically as a JSON file [JAR file location]/data/addressbook.json
. Advanced users are welcome to update data directly by editing that data file.
You can add a new contact to WedLinker by using the add
.
Format: add n/NAME [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG_NAME]… [w/WEDDING_NAME]…
If you want to add contact to WedLinker, type add
followed by details such as the name, phone number, and email.
NAME
is case-insensitive. John Doe
is already in WedLinker, adding another john doe
with different details will not work.Tags
or Weddings
specified in the add command do not exist yet, they will be created.Examples:
add n/John Doe p/98765432 e/johnd@example.com a/XYZ Floral Services
add n/Betsy Crowe p/1234567 t/Photographer t/Guest
Tags
or Weddings
that do not exist in WedLinker will create all the Tags
and Weddings
.
Created weddings will have the person automatically assigned to their guest lists. n/, p/, e/, a/, t/, and w/
. If the command specifies
add n/Betsy Crowe d/2020-04-11 tk/Buy place settings
, it will be interpreted as adding a person with the name Betsy Crowe d/2020-04-11 tk/Buy place settings
You can edit details of an existing person in WedLinker by using the edit
command.
Format: edit PERSON_NUMBER [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS]
To edit the details of an existing contact in WedLinker, type edit
followed by the positional number of the person in the contact list, and details you wish to update, such as the name, phone number, and email.
PERSON_NUMBER
must be a positive integer 1, 2, 3, …
The PERSON_NUMBER corresponds to each person's position in the currently visible `Person` list.
PERSON_NUMBER
2 refers to the person named "Bernice Yu", and the command edit 2 n/Bob Yu
will change the contact's name from "Bernice Yu" to "Bob Yu".Examples:
edit 1 p/91234567
.edit 2 n/Betsy Crower a/XYZ Flower Shop
.You can remove a person from WedLinker by using the delete
command.
Format: delete PERSON_NUMBER
To remove a contact from WedLinker, type delete
followed by the positional number of the person in the contact list.
PERSON_NUMBER
must be a positive whole number 1, 2, 3, …Examples:
list
,delete 2
Betsy
:
Betsy
by entering the command: find n/Betsy
delete 1
You can find all persons based on a search term after the label and display them as a list using the find
command.
Format: find n/NAME...
or find p/PHONE...
or find e/EMAIL...
or find a/ADDRESS...
or find t/TAG_NAME...
or find w/WEDDING_NAME...
or find tk/TASK_NAME...
To search for a contact in WedLinker, type find
followed by the label and search terms.
hans
will match Hans
.find n/Alex
searches by name, find e/alex@gmail.com
searches by email.find a/
is not allowed as the search term should be specified.find p/98 p/64
.
This will return all contacts that have either 98 or 64 in their phone number.find n/Alex a/
is not allowed as it searches for keywords in more than one field.n/Hans n/Bo
will return the same contacts as n/Bo n/Hans
.Examples:
find p/973
returns all Contacts whose phone number contains 973find n/alex n/david
returns Alex Yeoh
, David Li
find t/guests
returns all Contacts tagged with 'guests' find w/Casey's Wedding
returns all Contacts assigned to Casey's Wedding You can create tags for contacts within WedLinker by using the create-tag
command.
Format: create-tag t/TAG_NAME
orctag t/TAG_NAME
To create a tag, type create-tag
followed by the name of the tag.
TAG_NAME
should contain letters, numbers and whitespaces.Examples:
Florist
, enter the command:
create-tag t/Florist
You can assign a tag to a specific person in WedLinker by using the tag
command.
Format: tag PERSON_NUMBER t/TAG_NAME... [f/]
To assign a tag to a contact, type tag
followed by the positional number of the person in the contact list and the name of the tag.
PERSON_NUMBER
must be a positive integer 1, 2, 3, ….Tag
must exist in WedLinker before it can be assigned.Tag
does not exist, you can use the label f/
to force the creation and assignment of the Tag
.Examples:
Florist
to the first person in the list, enter the command:
tag 1 t/Florist
Musician
(that doesn't currently exist) to the second person in the list, enter the command:
tag 2 t/Musician f/
To see all current tags, use the list-tags command
tag 1 f/ RandomWord t/Tag1
will cause RandomWord
to be ignored.You can remove a tag from a specific person in WedLinker by using the untag
command.
Format: untag PERSON_NUMBER t/TAG_NAME...
To remove a tag from a contact, type untag
followed by the positional number of the person in the contact list and the name of the tag.
PERSON_NUMBER
must be a positive integer 1, 2, 3, ….TAG_NAME
is case-sensitive unlike other tag commands so if person 2 is tagged with the tag Hotel Manager, only entering the command untag 2 t/Hotel Manager
will remove the tag from person 2 and untag 2 t/hotel manager
will not.Examples:
Florist
from the first person in the list, enter the command:
untag 1 t/Florist
You can delete a tag you no longer use in WedLinker by using the delete-tag
command.
Format: delete-tag t/TAG_NAME [f/]
or dtag t/TAG_NAME [f/]
To delete a tag from WedLinker, type delete-tag
followed by the name of the tag
TAG_NAME
is case-insensitive.Tag
must exist in WedLinker.Tag
cannot be assigned to any contacts after it is deleted.Tag
is currently in use, you can use f/
to force its deletion and remove the tag from all contacts.Examples:
Florist
from WedLinker, enter the command:
delete-tag t/Florist
You can create a Wedding within WedLinker that can be linked to contacts by using the create-wedding
command.
Format: create-wedding w/WEDDING_NAME
or cw w/WEDDING_NAME
To create a Wedding
, type create-wedding
followed by the name of the wedding.
WEDDING_NAME
should only contain letters, numbers, spaces or the following characters: / . , ' & : ( )WEDDING_NAME
is case-insensitive.Examples:
Wedding 1
, enter the command:
create-wedding w/Wedding 1
You can assign a person to one or more Weddings by using the assign-wedding
command.
Format: assign-wedding PERSON_NUMBER w/WEDDING_NAME… [p1/] [p2/] [f/]
or asw PERSON_NUMBER w/WEDDING_NAME… [p1/] [p2/] [f/]
To assign a person to one or more Weddings
, type assign-wedding
, followed by the positional number of the person in the person list and the name(s) of the wedding(s).
WEDDING_NAME
is case-insensitive.PERSON_NUMBER
must be a positive integer 1, 2, 3, ….Wedding
must exists in WedLinker before it can be assigned.Wedding
does not exist, you can use f/
to force its creation and assignment to the contact.p1/
or p2/
keywords will set that contact as Partner 1 or Partner 2 of the wedding respectively.p1/
and p2/
, WedLinker will default to assigning the person as the first partner.Examples:
Wedding 1
to the third person in the contact list, enter the command:
assign-wedding 3 w/Wedding 1
assign-wedding 2 w/Wedding 3 p1/ w/Amanda's Wedding
You can edit details of a Wedding, such as the Wedding name and Address by using the edit-wedding
command.
Format: edit-wedding WEDDING_NUMBER [a/ADDRESS] [d/DATE]
or ew WEDDING_NUMBER [a/ADDRESS] [d/DATE]
To edit the details of a Wedding
, enter the command list-weddings to identify the Wedding number in the Wedding
list.
Following that, type "edit-wedding" followed by the Wedding number and the details you wish to edit.
Examples:
The WEDDING_NUMBER corresponds to each Wedding's position in the `Wedding` list
In this example, the WEDDING_NUMBER
2 refers to the Wedding named "Wedding 2", and the command edit-wedding 2 w/Bob's Wedding
will change the Wedding name from "Wedding 2" to "Bob's Wedding".
To edit the address of the Wedding named Wedding!
, to XYZ street:
list-weddings
Wedding!
be 1, enter the command: edit-wedding 1 a/XYZ street
. If the Wedding number is different, simply replace the 1 in the command with the corresponding Wedding positional number.You can remove a person from one or more Weddings using the unassign-wedding
command.
Format: unassign-wedding PERSON_NUMBER w/WEDDING_NAME...
or uw PERSON_NUMBER w/WEDDING_NAME...
To remove a contact from one or more Weddings
, type "unassign-wedding", followed by the positional number of the person in the contact list and the name(s) of the wedding(s).
WEDDING_NAME
is case-sensitive unlike other Wedding commands.PERSON_NUMBER
must be a positive integer 1, 2, 3, ….unassign-wedding 2 w/Wedding 2
or uw 2 w/Wedding 2
will unassign the wedding from person 2 and unassign-wedding 2 w/wedding 2
or uw 2 w/wedding 2
will not.Examples:
Wedding 1
, enter the command:
unassign-wedding 2 w/Wedding 1
You can delete a Wedding from WedLinker by using the delete-wedding
command.
Format: delete-wedding w/WEDDING_NAME [f/]
or dw w/WEDDING_NAME [f/]
To delete a Wedding
, type "delete-wedding", followed by the name of the wedding.
Wedding
before it is deleted.Wedding
, you can use f/
to force the deletion of the Wedding
. This will un-assign all contacts from that Wedding
. The Wedding
will also be removed from all contacts who were previously assigned to it."Examples:
Wedding 1
, enter the command:
delete-wedding w/Wedding 1
Known issue: the unassign-wedding
command is case-sensitive, so if person 2 is assigned to the wedding, Wedding 2, only entering the command unassign-wedding 2 w/Wedding 2
or uw 2 w/Wedding 2
will unassign the wedding from person 2 and unassign-wedding 2 w/wedding 2
or uw 2 w/wedding 2
will not.
You can create one or more Tasks by using the create-task
command.
Format: create-task tk/TASK_DESCRIPTION [d/DATE] [d/DATE] ...
or ctask tk/TASK_DESCRIPTION [d/DATE] [d/DATE] ...
To create a task
, type create-task
followed by the description of the task.
You can also include up to two dates if needed, with a single date indicating a deadline and two dates to define a start and end period.
TASK_DESCRIPTION
is case-sensitive.d/YYYY-MM-DD
Examples:
Buy cake
and Book venue
, enter the command:
create-task tk/Buy cake tk/Book venue
Finalise itinerary
with a specified deadline of 2024-12-22
, enter the command:
create-task tk/Finalise itinerary d/2024-12-22
You can assign one or more Tasks to a Person using the assign-task
command.
Format: assign-task PERSON_NUMBER TASK_NUMBER...
or atask PERSON_NUMBER TASK_NUMBER...
To assign Task(s) to a contact, enter the command list-tasks to identify the Task number in the Task
list.
Following that, type "assign-task" followed by assigned person's positional number and the Task number(s) of Tasks you wish to assign to the person.
The PERSON_NUMBER
and TASK_NUMBER
must be positive integers 1, 2, 3, ….
The PERSON_NUMBER
and TASK_NUMBER
refer to the number of the Person
in the person list and the number of the Task
in the task list, respectively.
The TASK_NUMBER corresponds to each Task's position in the `Task` list
In this example, the TASK_NUMBER
2 refers to the Task with the description "Send invitations", and the command assign-task 1 2
will assign the "Send invitations" task to the contact with PERSON_NUMBER
1, which is "Alex Yeoh".
Examples:
Buy cake
and Finalise itinerary
:
list
to see all Persons and list-task
to see all Tasks.assign-task 1 2 3
You can unassign one or more Task from a Person using the unassign-task
command.
Format: unassign-task PERSON_NUMBER PERSON_TASK_NUMBER...
or unatask PERSON_NUMBER PERSON_TASK_NUMBER...
To remove a Task from a contact, type unassign-task
followed by the positional number of the Person and the Person's Task number(s).
PERSON_TASK_NUMBER
here refers to the Task's position within a Person's assigned tasks, not the TASK_NUMBER in list-task
.PERSON_NUMBER
and PERSON_TASK_NUMBER
must be positive integers 1, 2, 3, ….The PERSON_TASK_NUMBER corresponds to each Task's position within a Person's assigned tasks.
unassign-task 1 3
will remove the "Send invitations" Task from the Person with PERSON_NUMBER
1, which is "Alex Yeoh".Examples:
Buy cake
and Finalise itinerary
from the first person in the contact list:
unassign-task 1 2 3
You can mark one or more Tasks as completed by using the mark-task
command.
Format: mark-task TASK_NUMBER...
or mtask TASK_NUMBER...
To mark a task
to be completed, enter the command list-tasks to identify the Task number(s) of task(s) you wish to mark.
Following that, type mark-task
followed by the Task number(s).
Task
as completed.Examples:
Finalise itinerary
as complete:
list-tasks
.mark-task 1
.You can mark one or more Tasks
as not completed by using the unmark-task
command.
Format: unmark-task TASK_NUMBER...
or untask TASK_NUMBER...
To mark a task
as not completed, enter the command list-tasks to identify the Task number(s) of task(s) you wish to mark.
Following that, type unmark-task
followed by the Task number(s).
TASK_NUMBER
must be a positive integer 1, 2, 3, ….Examples:
Finalise itinerary
as incomplete:
list-tasks
.unmark-task 1
.You can delete a specific Task from WedLinker by using the delete-task
command.
Format: delete-task TASK_NUMBER
or dtask TASK_NUMBER
To delete a task
, enter the command list-tasks to identify the Task number in the task
list.
Following that, type "delete-task" and the Task number of the task that you wish to delete.
TASK_NUMBER
must be a positive integer 1, 2, 3, ….Examples:
Buy cake
:
list-tasks
.delete-task 1
.You can use the assign-vendor
command to designate a contact to be a Vendor.
Format: assign-vendor PERSON_NUMBER
or asv PERSON_NUMBER
To designate a contact as a Vendor, type assign-vendor
followed by the positional number of the person in the contact list.
PERSON_NUMBER
must be a positive integer 1, 2, 3, ….Vendor
can now have Tasks
assigned to them.Examples:
assign-vendor 1
.
You can use the unassign-vendor
command to remove a Vendor
designation from a contact, making them a regular non-vendor contact in WedLinker.
Format: unassign-vendor PERSON_NUMBER [f/]
or uv PERSON_NUMBER [f/]
To remove a Vendor
designation from a contact, type unassign-vendor
followed by the positional number of the person in the contact list.
PERSON_NUMBER
must be a positive integer 1, 2, 3, ….Vendor
at the specified PERSON_NUMBER
such that the Person
is no longer a Vendor
. Tasks
can no longer be assigned to this Person
.Vendor
before they are unassigned.Vendor
has tasks assigned to them, you can use the label f/
to force the removal of the vendor designation and remove all tasks currently assigned to that Vendor
.Examples:
unassign-vendor 1
.When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the preferences.json
file created by the application before running the application again.
If you minimize the Help Window and then run the help
command (or use the Help
menu, or the keyboard shortcut F1
) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.
The commands untag
and unassign-wedding
are case-sensitive. So, if a person, person 2, is assigned to a wedding, Wedding 2, entering the command unassign-wedding 2 w/wedding 2
will not remove Wedding 2 from person 2.
When you use the assign-wedding
function with both p1/
and p2/
, WedLinker will default to assigning the person as the first partner for the specified wedding.
Action | Format, Examples |
---|---|
Add | add n/NAME [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG_NAME]… [w/WEDDING_NAME]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/florist |
Assign Task | assign-task PERSON_NUMBER TASK_NUMBER… or atask PERSON_NUMBER TASK_NUMBER… e.g., assign-task 2 1 3 |
Assign Vendor | assign-vendor PERSON_NUMBER or asv PERSON_NUMBER e.g., asv 2 |
Assign Wedding | assign-wedding PERSON_NUMBER w/WEDDING_NAME… [p1/] [p2/] [f/] or asw PERSON_NUMBER w/WEDDING_NAME… [p1/] [p2/] [f/] e.g., asw 2 w/Casey's Wedding p1/ w/Wedding August 29th |
Clear | clear |
Create Tag | create-tag t/TAG_NAME or ctag t/TAG_NAME e.g., create-tag t/photographer |
Create Task | create-task tk/TASK_DESCRIPTION [d/DATE] [d/DATE]… or ctask tk/TASK_DESCRIPTION [d/DATE] [d/DATE]… e.g., create-task tk/Order Wedding Cake ctask tk/Book Venue d/2025-02-01 create-task tk/Meet Caterer d/2024-11-19 d/2024-11-20 |
Create Wedding | create-wedding w/WEDDING_NAME or cw w/WEDDING_NAME e.g., cw w/JJ's Wedding |
Delete | delete PERSON_NUMBER e.g., delete 3 |
Delete Tag | delete-tag t/TAG_NAME [f/] or dtag t/TAG_NAME [f/] e.g., delete-tag t/photographer |
Delete Task | delete-task TASK_NUMBER or dtask TASK_NUMBER e.g., dtask 6 |
Delete Wedding | delete-wedding w/WEDDING_NAME [f/] or dw w/WEDDING_NAME [f/] e.g., delete-wedding w/Lav's Wedding |
Edit | edit PERSON_NUMBER [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] e.g., edit 2 n/James Lee e/jameslee@example.com |
Edit Wedding | edit-wedding WEDDING_NUMBER [a/ADDRESS] [d/DATE] or ew WEDDING_NUMBER [a/ADDRESS] [d/DATE] e.g., edit-wedding 2 a/Jurong Christian Church |
Exit | exit |
Find | find n/NAME… or find p/PHONE… or find e/EMAIL… or find a/ADDRESS… or find t/TAG_NAME… or find w/WEDDING_NAME… or find tk/TASK_NAME… e.g., find n/James Jake find a/Serangoon a/Blk 13 |
Help | help |
List | list |
List Weddings | list-weddings or lw |
List Tags | list-tags or ltags |
List Tasks | list-tasks or ltasks |
Mark Task | mark-task TASK_NUMBER… or mtask TASK_NUMBER… e.g., mark-task 1 mtask 1 2 3 |
Tag | tag PERSON_NUMBER t/TAG_NAME… [f/] e.g., tag 2 t/florist t/photographer |
Unassign Task | unassign-task PERSON_NUMBER PERSON_TASK_NUMBER… or unatask PERSON_NUMBER PERSON_TASK_NUMBER… e.g., unatask 2 1 3 |
Unassign Vendor | unassign-vendor PERSON_NUMBER [f/] or uw PERSON_NUMBER [f/] e.g., unassign-vendor 3 |
Unassign Wedding | unassign-wedding PERSON_NUMBER w/WEDDING_NAME… or uw PERSON_NUMBER w/WEDDING_NAME… e.g., uw 2 w/John's Wedding |
Unmark Task | unmark-task TASK_NUMBER… or untask TASK_NUMBER… e.g., untask 1 unmark-task 1 2 3 |
Untag | untag TASK_NUMBER t/TAG_NAME… e.g., untag 4 t/available t/chef |
To transfer your data to another computer, follow these steps:
Once this is done, you should have all your data transferred successfully to the new computer.