User Guide
HireHub is a desktop app for managing candidates, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). Within Hirehub, recruiters can easily manage their candidates, jobs and job applications. If you can type fast, HireHub can get your candidate management tasks done faster than traditional GUI apps.
- Tips on using this user guide
- Quick start
-
Features
- Viewing help :
help
- Adding a person:
add
- Adding a job:
add_job
- Adding an application:
add_app
- Edit candidate details:
edit
- Edit a job:
edit_job
- Adding a comment on a candidate:
comment
- Tag a candidate:
tag
- Delete tag of a candidate:
delete_tag
- Change status of an application:
status
- Delete a candidate:
delete
- Delete a job:
delete_job
- Delete an application:
delete_app
- Clearing all entries :
clear
- Search for matching candidates :
search
- Search for matching jobs :
search_job
- Search for matching applications :
search_app
- Accessing by index:
get
- Finding remaining vacancies:
slots_left
- Listing all persons :
list
- Listing all jobs :
list_job
- Listing all applications :
list_app
- Exiting the program :
exit
- Saving the data
- Editing the data files
- Viewing help :
- FAQ
- Known issues
- Command summary
- Appendix: Country codes
Tips on using this user guide
- Go through Quick Start to ensure that you are able to use hirehub.
- Go through Features to familiarise yourself with the terms used. You may want to have a separate pdf for viewing the Features, so that you can easily refer to it if you have forgotten any part of it.
- To navigate to any command quickly, click the corresponding section in the Table of Contents.
- If you are facing any problems, you may want to go to the FAQ section to see if it addresses the problems.
Quick start
-
Ensure you have Java
11
or above installed in your Computer. -
Download the latest
hirehub.jar
from here. -
Copy the file to the folder you want to use as the home folder for your HireHub.
-
Open a command terminal,
cd
into the folder you put the jar file in, and use thejava -jar hirehub.jar
command to run the application.
A 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 n/John Doe e/johnd@example.com c/HK p/61234567 t/Internal
: Adds a contact namedJohn Doe
to the Address Book. -
delete 3
: Deletes the 3rd contact shown in the current list. -
clear
: Deletes all contacts. -
exit
: Exits the app.
-
-
Refer to the Features below for details of each command.
Features
Notes about the command format:
-
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/John Doe
. -
These are the constraints for each of the parameters (this applies to all commands):
Parameter | Prefix | Format |
---|---|---|
NAME | n/ | Cannot be blank, and only alphanumeric characters and spaces are allowed. In particular, special characters such as / and - and non-English characters (e.g. Chinese characters) are not allowed. This would be part of the planned improvements. |
PHONE | p/ | Cannot be blank and must adhere to the following constraints: 1. International phone numbers should contain a country code in front (+ followed by 1 to 3 digits), then a space, followed by a combination of digits, spaces, parentheses or hyphens with at least 3 digits. 2. If country code is omitted, it must be a valid Singapore phone number. It must start with 3, 6, 8 or 9 and must be in the following formats: XXXXYYYY , XXXX-YYYY or XXXX YYYY . 3. Other than the above constraints, there is no other validation to check if a country code is valid. Furthermore, given a country code, there is no phone validation specific to the country code. This would be part of the planned improvements. |
e/ | Must be of the format local-part@domain and adhere to the following constraints: 1. The local-part should only contain alphanumeric characters and these special characters, excluding the parentheses, (+_.-). The local-part may not start or end with any special characters. 2. This is followed by a ‘@’ and then a domain name. The domain name is made up of domain labels separated by periods. The domain name must: 2a. end with a domain label at least 2 characters long 2b. have each domain label start and end with alphanumeric characters 2c. have each domain label consist of alphanumeric characters, separated only by hyphens, if any. |
|
COUNTRY | c/ | Must be a valid ISO-3166-1 alpha-2 code which can be found from https://www.iso.org/obp/ui/#search/code/. It is case-sensitive and must be in ALL CAPITALS. Alternatively, you can refer to the appendix for the exact ISO code to use for each country. Note that the value for country field shown on the UI is the English display name equivalent of the ISO code for user convenience, and what is actually stored in the backend is the ISO code. |
TAG | t/ | Cannot be blank (except in edit command), and only alphanumeric characters with no whitespace are allowed. |
COMMENT | m/ | Can be blank and does not have any constraints. |
TITLE | ti/ | Cannot be blank and has a character limit of 100. |
DESCRIPTION | d/ | Can be blank and does not have any constraints. |
VACANCY | v/ | Must be a positive integer. |
STATUS | s/ | Must be one of the following 5 statuses (not case-sensitive): PRESCREEN, IN_PROGRESS, WAITLIST, OFFERED, REJECTED |
- These are the primary key (i.e. no 2 items can have the same parameter) of candidates, jobs and applications respectively:
- Candidates: EMAIL
- Jobs: TITLE
- Applications: (EMAIL, TITLE) - either EMAIL or TITLE can be the same, as long as both are not the same.
-
Items in square brackets are optional.
e.gn/NAME [t/TAG]
can be used asn/John Doe t/friend
or asn/John Doe
. -
Items with
…
after them can be used multiple times including zero times.
e.g.[t/TAG]…
can be used ast/friend
,t/friend t/family
etc. -
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE
,p/PHONE n/NAME
is also acceptable. -
Extraneous parameters for commands that do not take in parameters (such as
help
,list
,exit
andclear
) will be ignored.
e.g. if the command specifieshelp 123
, it will be interpreted ashelp
. - 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.
Viewing help : help
Shows a message explaining how to access the help page.
Format: help
Adding a person: add
Adds a person to the candidate list.
Format: add n/NAME e/EMAIL c/COUNTRY p/PHONE [t/TAG]…
Examples:
add n/John Doe e/johnd@example.com c/HK p/61234567
add n/John Doe e/asdf@gmail.com c/SG p/61234567 t/Internal
The following is an example of how the add
command can be run in the GUI.
After the application has been successfully added, a success message will be shown in the output box. You can also see your new person in the person list display as seen below.
Adding a job: add_job
Adds a job to the job list.
Format: add_job ti/TITLE [d/DESCRIPTION] v/VACANCY
Examples:
add_job ti/Software Engineer d/Must be proficient in C++ v/10
add_job ti/ML Engineer v/15
The following is an example of how the add_job
command can be run in the GUI.
After the application has been successfully added, a success message will be shown in the output box. You can also see your new job in the job list display as seen below.
Adding an application: add_app
Adds a job application from a candidate to the application list.
Format: add_app e/EMAIL ti/TITLE [s/STATUS]
- The application added will contain the candidate with the specified email and the job with the specified title.
- If
STATUS
is omitted, then theSTATUS
of the application will bePRESCREEN
. - There cannot be 2 or more applications with the same pair of candidate and job.
- The addition of an application to a job will fail if any of these conditions are met:
- The status of the application to be added is
OFFERED
, and the number ofOFFERED
applications to the job is already equal to the number of vacancies of the job. - The candidate list does not contain a candidate with the specified email.
- The job list does not contain a job with the specified job title.
- The status of the application to be added is
Examples:
add_app e/lidavid@example.com ti/Software Engineer (Singapore)
add_app e/berniceyu@example.com ti/Software Engineer (Singapore) s/OFFERED
The following is an example of how the add_app
command can be run in the GUI.
After the application has been successfully added, a success message will be shown in the output box. You can also see your new application in the application list display as seen below.
Edit candidate details: edit
Edits an existing candidate in the candidate list.
You can edit any of the valid candidate details including name, email, country and tags at the specified INDEX. Here, INDEX refers to the index number of candidates shown in the displayed candidate list.
Format: edit INDEX [n/NAME] [e/EMAIL] [c/COUNTRY] [p/PHONE] [t/TAG]…
- Even though you can edit multiple candidate details at once, attribute to edit must be non-empty. In other words, you must edit at least one attribute specified above.
- When editing tags, the existing tags of the candidate will be removed. Thus, you must specify every tag you want to keep on the candidate whenever you edit the candidate details.
- Applications involving the candidate to edit will be updated to involve the edited candidate.
-
Comment field for the candidates cannot be edited by
edit
as there is a dedicated method for editing it separately.
Examples:
edit 2 n/Johnny Doe e/johnnydoe@gmail.com c/SG
This command edits name, email, and country of residence of the candidate with index 2 to Johnny Doe, johnnydoe@gmail.com, and Singapore, respectively.
edit 3 n/Jeb Song e/jebsong@gmail.com t/IMOGold
This command edits name, email, and the tag for acceptance status of the candidate with index 3 to Jeb Song, jebsong@gmail.com, and IMOGold, respectively. Note that the existing tag(s) on this candidate (if any) is/are completely removed and a new tag IMOGold
is added.
If edit command is successfully executed, the app will display the edited candidate with the new attributes.
Edit a job: edit_job
Edits an existing job in the job list.
You can edit any of the valid job details including title, description and vacancy at the specified INDEX. Here, INDEX refers to the index number of job shown in the displayed job list.
Format: edit_job INDEX [ti/TITLE] [d/DESCRIPTION] [v/VACANCY]
Example:
edit_job 1 ti/Quantitative Trader d/Must have strong statistics background v/3
- Even though you can edit multiple job details at once, attribute to edit must be non-empty. In other words, you must edit at least one attribute specified above.
- Applications involving the job to edit will be updated to involve the edited job.
- Editing of the vacancy of a job will fail if the edited vacancy is less than the current number of applications to the job with
OFFERED
status.
Adding a comment on a candidate: comment
Leaves comments on important points to note down for individual candidates during the recruitment process. This overwrites existing comment (if any) and displays the resulting candidate.
-
INDEX
must be within the range1
ton
, wheren
is the number of candidates in the displayed candidate list.
Format: comment INDEX COMMENT
Examples:
comment 3 Managed to solve every round 3 interview questions. He must be a strong candidate, potentially to be recruited as a quantitative research intern at Jane Street.
-
comment 1
deletes the comment from candidate of index 1.
Tag a candidate: tag
Appends the tag or tags to a candidate’s list of tags.
You can list any number of tags greater than 0, and all of them will be added to the specified INDEX. Here, INDEX refers to the index number of candidates shown in the displayed candidate list.
Duplicate tags or already-present tags will not affect the candidate.
Format: tag INDEX t/TAG [t/TAG]…
- At least one tag must be provided.
Examples:
-
tag 2 t/smart
adds the tag “smart” to the candidate with index 2. -
tag 4 t/ExceptionalWork t/IMOGold t/PhD
adds the tags “ExceptionalWork”, “IMOGold” and “PhD” to the candidate with index 4.
If tag command is successfully executed, the app will display the candidate with the new tags.
Delete tag of a candidate: delete_tag
Deletes existing tag(s) from a candidate’s list of tags.
You can delete tags for any candidates in the displayed list at the specified INDEX. Here, INDEX refers to the index number of candidates shown in the displayed candidate list. The candidate index must be within the range from 1 to n, where n represents the number of candidates in the candidate list displayed in the UI.
Format: delete_tag INDEX t/TAG [t/TAG]…
- At least one tag must be provided.
- The specified tag(s) must be in the candidate’s list of tags.
Example:
-
delete_tag 2 t/colleagues t/friends
removes these tags from the 2nd candidate displayed.
Change status of an application: status
Changes the interview status of an application.
Interview status must be one of the following: PRESCREEN
, IN_PROGRESS
, WAITLIST
, OFFERED
, REJECTED
.
When an application is added, by default it has status PRESCREEN
.
You can edit status of any applications in the displayed list at the specified INDEX. Here, INDEX refers to the index number of applications shown in the displayed application list. The application index must be within the range from 1 to n, where n represents the number of applications in the application list displayed in the UI.
Format: status INDEX STATUS
- The status update to an application of a job will fail under this condition:
- The status of the application to change to is
OFFERED
, and the number ofOFFERED
applications to the job is already equal to the number of vacancies of the job.
- The status of the application to change to is
Example:
-
status 2 WAITLIST
changes the status of the application with index 2 toWAITLIST
.
If status command is successfully executed, the app will display the application with the new status.
The image below demonstrates an error from the app when the user attempts to add more applications with OFFERED
status than the initial vacancy for the target job:
The above example attempts to add more OFFERED
candidates for the job titled Senior Software Engineer (Singapore)
with initial vacancy 1 where there is already 1 candidate, “Alex Yeoh”, whose status is OFFERED
for this position.
Delete a candidate: delete
Deletes an existing candidate from the candidate list.
You can delete any candidates in the displayed list at the specified INDEX. Here, INDEX refers to the index number of candidates shown in the displayed candidate list. The candidate index must be within the range from 1 to n, where n represents the number of candidates in the candidate list displayed in the UI.
Format: delete INDEX
- If INDEX provided is valid, a confirmation message would be displayed where the user would type Y/N (case-sensitive) to confirm the deletion. If Y is selected, it will delete the candidate from the list and display the deleted candidate. If N is selected, it will display that the delete operation is cancelled.
- Applications involving the candidate to delete will also be deleted.
Example : delete 1
removes the candidate at first position in the candidate list displayed.
The following is an example of how the delete
command can be run in the GUI.
A confirmation message will show up. Type Y to confirm the deletion.
After the person has been successfully added, a success message will be shown in the output box. You can see the person deleted from the person list, and all corresponding applications associated with the deleted person have been removed as well, as seen below.
Delete a job: delete_job
Deletes an existing job from the job list displayed in the UI.
You can delete any jobs in the displayed list at the specified INDEX. Here, INDEX refers to the index number of jobs shown in the displayed job list. The job index must be within the range from 1 to n, where n represents the number of jobs in the job list displayed in the UI.
Format: delete_job INDEX
- If INDEX provided is valid, a confirmation message would be displayed where the user would type Y/N (case-sensitive) to confirm the deletion. If Y is selected, it will delete the job from the list and display the deleted job. If N is selected, it will display that the delete operation is cancelled.
- Applications involving the job to delete will also be deleted.
Example:
-
delete_job 3
removes the job at third position in the job list displayed.
Delete an application: delete_app
Deletes an existing application from the application list displayed in the UI.
You can delete any applications in the displayed list at the specified INDEX. Here, INDEX refers to the index number of applications shown in the displayed application list. The application index must be within the range from 1 to n, where n represents the number of applications in the application list displayed in the UI.
Format: delete_app INDEX
- If INDEX provided is valid, a confirmation message would be displayed where the user would type Y/N (case-sensitive) to confirm the deletion. If Y is selected, it will delete the application from the list and display the deleted application. If N is selected, it will display that the delete operation is cancelled.
Example:
-
delete_app 2
removes the application at second position in the application list displayed.
Clearing all entries : clear
Clears all entries from Hirehub’s candidate list. All applications will be cleared as well.
- If the candidate list is not empty, a confirmation message would be displayed where the user would type Y/N (case-sensitive) to confirm the deletion. If Y is selected, it will clear the candidate list and display a success message. If N is selected, it will display that the clear operation is cancelled.
Format: clear
Search for matching candidates : search
Searches candidates whose attributes match the specified attributes in the search criteria.
Format: search [n/NAME] [e/EMAIL] [c/COUNTRY] [m/COMMENT] [p/PHONE] [t/TAG]
- At least one of the optional fields must be provided.
- The search is case-sensitive, e.g.
hans
will not matchHans
. - For email, country and phone, only full matches will be returned.
- For name, comment and tag, partial matches will be returned, e.g.
Han
will matchHans
. - The search will fail if any of the specified fields is in an invalid format.
- If multiple fields are specified, only candidates that match all the specified attributes will be returned.
Examples:
-
search n/John c/SG
returns candidates whose names containJohn
and whose country is fromSingapore
. -
search t/Internal
returns candidates whose tags containInternal
.
Search for matching jobs : search_job
Searches jobs whose attributes match the specified attributes in the search criteria.
Format: search_job [ti/TITLE] [d/DESCRIPTION] [v/VACANCY]
- At least one of the optional fields must be provided.
- The search is case-sensitive, e.g.
engineer
will not matchEngineer
. - For title and description, partial matches will be returned.
- For vacancy, only jobs with the same number of vacancies will be matched.
- The search will fail if any of the specified fields is in an invalid format.
- If multiple fields are specified, only jobs that match all the specified attributes will be returned.
Examples:
-
search_job ti/Engineer d/C++
returns jobs whose titles containEngineer
and whose description containC++
. -
search_job v/10
returns jobs whose number of vacancies is 10.
Search for matching applications : search_app
Searches applications whose attributes match the specified attributes in the search criteria.
Format: search_app [e/EMAIL] [ti/TITLE] [s/STATUS]
- At least one of the optional fields must be provided.
- For title, partial matches will be returned.
- For email and status, only full matches will be returned.
- For email and title, the search is case-sensitive.
- For status, the search is case-insensitive.
- The search will fail if either email or status is in an invalid format.
- If multiple fields are specified, only applications that match all the specified attributes will be returned.
Examples:
-
search_app e/alexyeoh@example.com s/PRESCREEN
returns applications from the candidate with emailalexyeoh@example.com
and with statusPRESCREEN
. -
search_app e/alexyeoh@example.com ti/Engineer
returns the application from candidate with emailalexyeoh@example.com
to the job with title containingEngineer
. -
search_app ti/Software Engineer
returns applications to the job with title containingSoftware Engineer
.
Accessing by index: get
Accesses candidates by INDEX. Here, INDEX refers to the index number of candidates shown in the candidate list. The candidate index must be within the range from 1 to n, where n represents the number of candidates in the candidate list displayed.
Format: get INDEX
-
INDEX
must be within the range1
ton
, wheren
is the number of candidates currently displayed in the"Candidates"
column of the app.
Example:
-
get 4
returns the candidate with index 4.
Finding remaining vacancies: slots_left
Finds the remaining vacancies of a job at the specified INDEX from the list of jobs displayed in the Hirehub app. The remaining vacancies is the number of vacancies of the job, subtracted by the number of applications to the job with OFFERED
status.
The remaining vacancies of the job will be displayed in the message box.
Format: slots_left INDEX
Example:
Candidate named “Alex Yeoh” has applied for a job titled “Senior Software Engineer (Singapore)” with initial vacancy 1. Currently, Alex Yeoh’s application status is PRESCREEN
.
If the user types in slots_left 1
, the remaining vacancy displayed for the job is 1 as shown below:
Now, the status of application for candidate “Alex Yeoh” is updated to OFFERED
. If the user types in slots_left 1
to find out the remaining vacancy, the output is 0 since Alex Yeoh got an offer for this position:
Listing all persons : list
Shows a list of all persons in the address book.
Format: list
Listing all jobs : list_job
Shows a list of all jobs in the job list.
Format: list_job
Listing all applications : list_app
Shows a list of all applications in the application list.
Format: list_app
Exiting the program : exit
Exits the program.
Format: exit
Saving the data
HireHub data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data files
HireHub data are saved automatically as JSON files [JAR file location]/data/addressbook.json
, [JAR file location]/data/jobs.json
and [JAR file location]/data/applications.json
. Advanced users are welcome to update data directly by editing those data files.
Furthermore, certain edits can cause HireHub to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data files only if you are confident that you can update it correctly.
FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data files it creates with the files that contain the data of your previous HireHub home folder.
Q: What is the difference between edit
and tag
?
A: edit
will overwrite any current tags with new tags, while tag
will append the new tags to the current ones. For example, suppose that John is candidate 1 with tags Internal
and Waitlist
. edit 1 t/QuantResearcher
will change John’s tags to just QuantResearcher
, while tag t/QuantResearcher
will change John’s tags to Internal
, Waitlist
and QuantResearcher
.
Q: Why can’t I add/edit a candidate/job respectively?
A: Check the email/title of the candidate/job again. After add/edit operation, no 2 candidates can have the same email (not name), and no 2 jobs can have the same title.
Known issues
-
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.
Command summary
Action | Format, Examples |
---|---|
Add |
add n/NAME e/EMAIL c/COUNTRY p/PHONE [t/TAG]… e.g., add n/John Doe e/asdf@gmail.com c/SG p/61234567 t/Internal
|
Add job |
add_job ti/TITLE [d/DESCRIPTION] v/VACANCY e.g., add_job ti/Software Engineer d/Must be proficient in C++ v/10
|
Add application |
add_app e/EMAIL ti/TITLE [s/STATUS] e.g., add_app e/john@example.com ti/Software Engineer s/OFFERED
|
Clear | clear |
Comment |
comment INDEX COMMENT e.g., comment 3 Managed to solve every round 3 interview questions.
|
Delete |
delete INDEX e.g., delete 3
|
Delete job |
delete_job INDEX e.g., delete_job 3
|
Delete application |
delete_app INDEX e.g., delete_app 3
|
Delete tag |
delete_tag INDEX t/TAG [t/TAG]… e.g. delete_tag 1 t/ExceptionalWork t/IMOGold
|
Edit |
edit INDEX [n/NAME] [e/EMAIL] [c/COUNTRY] [p/PHONE] [t/TAG]… e.g., edit 2 n/Johnny Doe e/johnnydoe@gmail.com c/SG
|
Edit job |
edit_job INDEX [ti/TITLE] [d/DESCRIPTION] [v/VACANCY] e.g., edit_job 1 ti/Quantitative Trader d/Must have strong statistics background v/3
|
Get |
get INDEX e.g., get 4
|
Help | help |
List | list |
List jobs | list_job |
List applications | list_app |
Search |
search [n/NAME] [e/EMAIL] [c/COUNTRY] [m/COMMENT] [p/PHONE] [t/TAG] e.g., search n/John c/SG
|
Search jobs |
search_job [ti/TITLE] [d/DESCRIPTION] [v/VACANCY] e.g., search_job ti/Engineer d/C++
|
Search applications |
search_app [e/EMAIL] [ti/TITLE] [s/STATUS] e.g., search_app e/alexyeoh@example.com s/PRESCREEN
|
Slots left |
slots_left INDEX e.g., slots_left 3
|
Status |
status INDEX INTERVIEW_STATUS e.g., status 1 IN_PROGRESS
|
Tag |
tag INDEX t/TAG [t/TAG]… e.g., tag 5 t/ExceptionalWork t/IMOGold t/PhD
|
Appendix: Country codes
This is the list of ISO-3166-1 alpha-2 codes:
Code | Country Name |
---|---|
AD | Andorra |
AE | United Arab Emirates |
AF | Afghanistan |
AG | Antigua & Barbuda |
AI | Anguilla |
AL | Albania |
AM | Armenia |
AO | Angola |
AQ | Antarctica |
AR | Argentina |
AS | American Samoa |
AT | Austria |
AU | Australia |
AW | Aruba |
AX | Åland Islands |
AZ | Azerbaijan |
BA | Bosnia & Herzegovina |
BB | Barbados |
BD | Bangladesh |
BE | Belgium |
BF | Burkina Faso |
BG | Bulgaria |
BH | Bahrain |
BI | Burundi |
BJ | Benin |
BL | St. Barthélemy |
BM | Bermuda |
BN | Brunei |
BO | Bolivia |
BQ | Caribbean Netherlands |
BR | Brazil |
BS | Bahamas |
BT | Bhutan |
BV | Bouvet Island |
BW | Botswana |
BY | Belarus |
BZ | Belize |
CA | Canada |
CC | Cocos (Keeling) Islands |
CD | Congo - Kinshasa |
CF | Central African Republic |
CG | Congo - Brazzaville |
CH | Switzerland |
CI | Côte d’Ivoire |
CK | Cook Islands |
CL | Chile |
CM | Cameroon |
CN | China |
CO | Colombia |
CR | Costa Rica |
CU | Cuba |
CV | Cape Verde |
CW | Curaçao |
CX | Christmas Island |
CY | Cyprus |
CZ | Czechia |
DE | Germany |
DJ | Djibouti |
DK | Denmark |
DM | Dominica |
DO | Dominican Republic |
DZ | Algeria |
EC | Ecuador |
EE | Estonia |
EG | Egypt |
EH | Western Sahara |
ER | Eritrea |
ES | Spain |
ET | Ethiopia |
FI | Finland |
FJ | Fiji |
FK | Falkland Islands |
FM | Micronesia |
FO | Faroe Islands |
FR | France |
GA | Gabon |
GB | United Kingdom |
GD | Grenada |
GE | Georgia |
GF | French Guiana |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GL | Greenland |
GM | Gambia |
GN | Guinea |
GP | Guadeloupe |
GQ | Equatorial Guinea |
GR | Greece |
GS | South Georgia & South Sandwich Islands |
GT | Guatemala |
GU | Guam |
GW | Guinea-Bissau |
GY | Guyana |
HK | Hong Kong SAR China |
HM | Heard & McDonald Islands |
HN | Honduras |
HR | Croatia |
HT | Haiti |
HU | Hungary |
ID | Indonesia |
IE | Ireland |
IL | Israel |
IM | Isle of Man |
IN | India |
IO | British Indian Ocean Territory |
IQ | Iraq |
IR | Iran |
IS | Iceland |
IT | Italy |
JE | Jersey |
JM | Jamaica |
JO | Jordan |
JP | Japan |
KE | Kenya |
KG | Kyrgyzstan |
KH | Cambodia |
KI | Kiribati |
KM | Comoros |
KN | St. Kitts & Nevis |
KP | North Korea |
KR | South Korea |
KW | Kuwait |
KY | Cayman Islands |
KZ | Kazakhstan |
LA | Laos |
LB | Lebanon |
LC | St. Lucia |
LI | Liechtenstein |
LK | Sri Lanka |
LR | Liberia |
LS | Lesotho |
LT | Lithuania |
LU | Luxembourg |
LV | Latvia |
LY | Libya |
MA | Morocco |
MC | Monaco |
MD | Moldova |
ME | Montenegro |
MF | St. Martin |
MG | Madagascar |
MH | Marshall Islands |
MK | Macedonia |
ML | Mali |
MM | Myanmar (Burma) |
MN | Mongolia |
MO | Macau SAR China |
MP | Northern Mariana Islands |
MQ | Martinique |
MR | Mauritania |
MS | Montserrat |
MT | Malta |
MU | Mauritius |
MV | Maldives |
MW | Malawi |
MX | Mexico |
MY | Malaysia |
MZ | Mozambique |
NA | Namibia |
NC | New Caledonia |
NE | Niger |
NF | Norfolk Island |
NG | Nigeria |
NI | Nicaragua |
NL | Netherlands |
NO | Norway |
NP | Nepal |
NR | Nauru |
NU | Niue |
NZ | New Zealand |
OM | Oman |
PA | Panama |
PE | Peru |
PF | French Polynesia |
PG | Papua New Guinea |
PH | Philippines |
PK | Pakistan |
PL | Poland |
PM | St. Pierre & Miquelon |
PN | Pitcairn Islands |
PR | Puerto Rico |
PS | Palestinian Territories |
PT | Portugal |
PW | Palau |
PY | Paraguay |
QA | Qatar |
RE | Réunion |
RO | Romania |
RS | Serbia |
RU | Russia |
RW | Rwanda |
SA | Saudi Arabia |
SB | Solomon Islands |
SC | Seychelles |
SD | Sudan |
SE | Sweden |
SG | Singapore |
SH | St. Helena |
SI | Slovenia |
SJ | Svalbard & Jan Mayen |
SK | Slovakia |
SL | Sierra Leone |
SM | San Marino |
SN | Senegal |
SO | Somalia |
SR | Suriname |
SS | South Sudan |
ST | São Tomé & Príncipe |
SV | El Salvador |
SX | Sint Maarten |
SY | Syria |
SZ | Swaziland |
TC | Turks & Caicos Islands |
TD | Chad |
TF | French Southern Territories |
TG | Togo |
TH | Thailand |
TJ | Tajikistan |
TK | Tokelau |
TL | Timor-Leste |
TM | Turkmenistan |
TN | Tunisia |
TO | Tonga |
TR | Turkey |
TT | Trinidad & Tobago |
TV | Tuvalu |
TW | Taiwan |
TZ | Tanzania |
UA | Ukraine |
UG | Uganda |
UM | U.S. Outlying Islands |
US | United States |
UY | Uruguay |
UZ | Uzbekistan |
VA | Vatican City |
VC | St. Vincent & Grenadines |
VE | Venezuela |
VG | British Virgin Islands |
VI | U.S. Virgin Islands |
VN | Vietnam |
VU | Vanuatu |
WF | Wallis & Futuna |
WS | Samoa |
YE | Yemen |
YT | Mayotte |
ZA | South Africa |
ZM | Zambia |
ZW | Zimbabwe |