RealtorTrackerPlusMax (RTPM) is the hottest new computer app for realtors. RTPM allows you to manage your clients, optimized for use via a Command Line Interface (CLI), aimed at maximising your speed in entering data. Whether you are learning how to get into the real estate industry, or looking for a simple and free app to get rid of your cluttered spreadsheets, RTPM is for you!
Ensure you have Java 11
or above installed in your computer. For more info, check the FAQ.
Download the latest rtpm.jar
here.
Move the application to the folder you want to use as the setup folder for RTPM. (On startup, the application will generate a few files for configuration and storage.)
You should be able to run the application by double-clicking. If this does not work for you, check the FAQ.
A display similar to the below should appear in a few seconds. If you are starting the app for the first time,
there will be some sample data loaded.
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:
buyer n/John Doe
: Adds a buyer named John Doe to the RTPM.
list
: Lists all buyers and sellers.
bdelete 2
: Deletes the 2nd buyer shown in the current list.
exit
: Exits the app.
Refer to the Features below for details of each command.
If you are looking to change the size of the application, resizing can simply be done by clicking and dragging the borders in the direction you desire. If you do this to the white header atop the app, you can also move the window around. Both size and position of the application are saved, so that you don't need to spend time fiddling with the window.
For advanced users only:
You can change the location in which RTPM's data is stored by editing the preferences.json file using any text editing app of your choice, such as Notepad or Microsoft Word. Edit the filePath string to the directory that you wish to move it to, relative to the RTPM.jar location. Note that backslashes need to be repeated twice.
Here are some things regarding RTPM's features to take note of before using them.
Notes about the command format:
Words in UPPER_CASE
represent the parameters, or data, to be supplied by the user.
e.g. in buyer n/NAME
, NAME
is a parameter which can be used as buyer n/John Doe
.
Prefixes in the format small_letters/
indicate to RTPM where your data is located.
e.g. in buyer n/NAME
, n/
is a prefix which tells the app that NAME
is representing a buyer's name.
You must include a space before the prefix.
Items in square brackets are optional.
e.g n/NAME [t/TAG]
can be used as n/John Doe t/friend
or as n/John Doe
.
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/friend
, t/friend t/family
etc.
The order in which you input data is not fixed by RTPM.
e.g. if the command specifies n/NAME p/PHONE_NUMBER
, p/PHONE_NUMBER n/NAME
is also acceptable.
Notes about the command format (Continued):
All commands and prefixes ignore case. Parameters however, are case-sensitive.
e.g. if the command specifies buyer n/NAME
, BUYER N/NAME
is also acceptable.
Extra parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
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.
General notes about features:
RTPM does not require all fields to be filled in when creating buyers or sellers. Fields that have been omitted will be set to RTPM's preset default values.
RTPM accepts unconventional entries for data values to an extent. However, the warning system informs the user of any valid but possibly unintended inputs. For more information, refer to Appendix A: Warnings
The priority system allows for the designation of levels of importance to each buyer and seller, which will be displayed as a tag in RTPM. When this priority is set to nil
, there will be no tag.
RTPM data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
RTPM data are saved automatically as a JSON file [JAR file location]/data/rtpm.json
.
Note that RTPM checks for duplicate and similar entries. Refer to Appendix C: Similar Names for more info.
If you manually make changes to the saved data file such that the JSON format is invalid, RTPM will discard all data and start with an empty data file at the next run. Hence, manually modifying the saved data file is not recommended.
buyer
You can add buyers with a few keystrokes, instead of having to use an excel sheet.
The buyer
command allows you to add a buyer with just their name,
so that you can quickly add them on the go.
You can also include contact details of the buyer with the [p/PHONE_NUMBER]
and [e/EMAIL]
fields,
and add more details about them with the [t/TAG]
field.
Format: buyer n/NAME [p/PHONE_NUMBER] [e/EMAIL] [ah/HOME_ADDRESS] [i/HOUSE_INFO] [prio/PRIORITY] [t/TAG]…
Example:
buyer n/Jane Doe p/91234567 e/janedoe@gmail.com ah/1 College Ave East i/Central Area 5 Room Condominium prio/high
Expected output when the command succeeds:
Got it. I've added a buyer contact:
Jane Doe; Phone: 91234567; Email: janedoe@gmail.com; Address: 1 College Ave East; House Info: Central Area 5 Room Condominium; Priority: high; Tags:
Possible invalid inputs & their corresponding error messages:
Invalid command format!
buyer: Adds a buyer to the address book. Parameters: n/NAME [p/PHONE] [e/EMAIL] [ah/ADDRESS] [i/INFO] [prio/PRIORITY] [t/TAG]...
Example: buyer n/John Doe p/98765432 e/johnd@example.com ah/311, Clementi Ave 2, #02-25 i/Central Area 5 Room Condominium prio/medium t/friends t/owesMoney
Emails must contain at least one '@'.
seller
Similar to buyer
,
the seller
command allows you to add clients who have homes to sell.
Additionally, you can add information about the house that your client wants to sell with the [i/HOUSE_INFO]
field.
Format: seller n/NAME [p/PHONE_NUMBER] [e/EMAIL] [ah/HOME_ADDRESS] [as/SELLING_ADDRESS] [i/HOUSE_INFO] [prio/PRIORITY] [t/TAG]…
Example: seller n/Ryan p/91234567 e/ryan@gmail.com ah/My Secret Home as/47D Lor Sarhad, Singapore 119164 i/4 Room Flat in Sarhad Ville prio/high
Got it. I've added a seller contact:
Ryan; Phone: 91234567; Email: ryan@gmail.com; Address: My Secret Home; Selling Address: 47D Lor Sarhad, Singapore 119164; House Info: 4 Room Flat in Sarhad Ville; Priority: high; Tags:
Invalid command format!
seller: Adds a seller to the address book. Parameters: n/NAME p/PHONE e/EMAIL ah/ADDRESS as/SELLING_ADDRESS i/HOUSE_INFO [t/TAG]...
Example: seller n/Ryan p/91234567 e/ryan@gmail.com ah/My Secret Home as/47D Lor Sarhad, Singapore 119164 i/4 Room Flat in Sarhad Ville prio/medium t/friends t/owesMoney
Emails must contain at least one '@'.
bedit
Congratulations on adding buyers and sellers! Now, when you have time to review your client's information, you can fill in additional information about buyers, or edit their existing information.
The bedit
command allows you to edit any information about your buyer,
so that you can capture the dynamic needs of your client.
To select the buyer you want to edit, just indicate their index number.
Format: bedit INDEX PREFIX/VALUE [MORE_PREFIX/VALUE]…
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the buyers' listPREFIX/VALUE
: Refer to the appendix linked above.Example: bedit 3 e/example@email.com ah/Residential Street
Got it. I've edited a buyer contact:
Jane Doe; Phone: 91234567; Email: something@else.com; Address: 1 College Ave East; House Info: Central Area 5 Room Condominium; Priority: nil; Tags:
Invalid command format!
bedit: Edits the details of the buyer identified by the index number used in the displayed buyer list. Existing values will be overwritten by the input values.
Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [ah/ADDRESS] [i/HOUSE_INFO] [t/TAG]...
[prio/PRIORITY] Example: bedit 1 p/91234567 e/johndoe@example.com
At least one field to edit must be provided!
The buyer index provided is higher than the last number in the list!
sedit
Similar to bedit
,
the sedit
command allows you to edit the information of a home seller.
Format: sedit INDEX PREFIX/VALUE [MORE_PREFIX/VALUE]…
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the sellers' listPREFIX/VALUE
: Refer to the appendix linked above.Example: sedit 3 e/example@email.com ah/Residential Street
Got it. I've edited a seller contact:
Ryan; Phone: 91234567; Email: ryan@gmail.com; Address: Another Place; Selling Address: 47D Lor Sarhad, Singapore 119164; House Info: 4 Room Flat in Sarhad Ville; Priority: nil; Tags:
Invalid command format!
sedit: Edits the details of the seller identified by the index number used in the displayed seller list. Existing values will be overwritten by the input values.
Parameters: INDEX (must be a positive integer) [n/NAME] [p/PHONE] [e/EMAIL] [ah/ADDRESS] [as/SELLING_ADDRESS] [i/HOUSE_INFO] [t/TAG]...
[prio/PRIORITY] Example: sedit 1 p/91234567 e/johndoe@example.com
At least one field to edit must be provided!
The seller index provided is higher than the last number in the list!
bdelete
Congratulations on helping a buyer find their dream home! With the deal now complete, it's time to shift your focus onto securing the next deal and making the next buyer satisfied.
The bdelete
command allows you to delete a buyer based on their index number in the buyers’ list, so that you can keep
your buyer list organised and de-cluttered by keeping only the relevant buyers and removing outdated entries.
Format: bdelete INDEX
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the buyers' listExample: bdelete 3
Got it. I’ve deleted a buyer contact:
Jane Doe; Phone: 91234567; Email: janedoe@gmail.com; Address: 1 College Ave East; House Info: Central Area 5 Room Condominium; Priority: nil; Tags:
Invalid command format!
bdelete: Deletes the buyer identified by the index number used in the displayed buyer list.
Parameters: INDEX (must be a positive integer)
Example: bdelete 1
The buyer index provided is higher than the last number in the list!
sdelete
Similar to bdelete,
the sdelete
deletes a seller based on their index number in the sellers’ list, so that you can keep
your seller list organised and de-cluttered by keeping only the relevant sellers and removing outdated entries.
Format: sdelete INDEX
INDEX
: A positive integer (1, 2, 3, …), which must not exceed last index in the sellers’ listExample: sdelete 3
Got it. I’ve deleted a seller contact:
Ryan; Phone: 91234567; Email: ryan@gmail.com; Address: My Secret Home; Selling Address: 47D Lor Sarhad, Singapore 119164; House Info: 4 Room Flat in Sarhad Ville; Priority: nil; Tags:
Invalid command format!
sdelete: Deletes the seller identified by the index number used in the displayed seller list.
Parameters: INDEX (must be a positive integer)
Example: sdelete 1
The seller index provided is higher than the last number in the list!
clear
Clears all entries from the address book.
Format: clear
Address book has been cleared!
bprio
Get your priorities straight. Focus on the tasks that matter the most, and maximise your time and productivity by securing the most important deals, first and foremost.
The bprio
command allows you set the priority level of a buyer based on their index number in the buyer's list,
so that you can seamlessly differentiate buyers at a glance by their priority level.
The priority tags are colored intuitively for you to easily spot a buyer's priority level at first glance.
After assigning priorities
to your buyers, a simple bsort prio/d
command would then sort your buyer list by priority level, with the
higher priority buyers appearing first at the top of the list, allowing you to get started with the right
client, right away.
Note that this command throws warnings. For more info on warnings, head here.
Format: bprio INDEX PRIORITY
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the buyer's listPRIORITY
: See here.Example: bprio 3 high
Note:
PRIORITY
only considers the first letter of the input (h
for high, m
for medium, l
for low, or n
for nil). For example, bprio 3 hlow
sets the priority of buyer 3 to high.PRIORITY
will be ignored. For example, bprio 3 high low
is equivalent to bprio 3 high
.The buyer's priority level has been set:
Jane Doe; Phone: 91234567; Email: something@else.com; Address: 1 College Ave East; House Info: Central Area 5 Room Condominium; Priority: high; Tags:
Invalid command format!
bprio: Sets a priority level for the buyer, identified by index in the displayed buyer list. INDEX must be a positive integer, while PRIORITY can be either 'high', 'medium', 'low', or 'nil'.
Parameters: INDEX PRIORITY
The buyer index provided is higher than the last number in the list!
sprio
Note that this command throws warnings. For more info on warnings, head here.
Similar to bprio
, the sprio
command allows you to set the priority level of a seller (instead of a buyer)
based on their index number in the seller's list, so that you can seamlessly differentiate sellers too at a glance
by their priority level.
Format: sprio INDEX PRIORITY
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the buyer's listPRIORITY
: See here.Example: sprio 3 high
Note:
PRIORITY
only considers the first letter of the input (h
for high, m
for medium, l
for low, or n
for nil). For example, bprio 3 hlow
sets the priority of buyer 3 to high.PRIORITY
will be ignored. For example, bprio 3 high low
is equivalent to bprio 3 high
.The seller's priority level has been set:
Ryan; Phone: 91234567; Email: ryan@gmail.com; Address: Another Place; Selling Address: 47D Lor Sarhad, Singapore 119164; House Info: 4 Room Flat in Sarhad Ville; Priority: high; Tags:
Invalid command format!
sprio: Sets a priority level for the seller, identified by index in the displayed seller list. INDEX must be a positive integer, while PRIORITY can be either 'high', 'medium', 'low', or 'nil'.
Parameters: INDEX PRIORITY
The seller index provided is higher than the last number in the list!
filter
Say goodbye to the struggles of scrolling through your entire list to find that one elusive client.
The filter
allows you to find any client by name easily, so you never have to waste time searching for a client no matter how long your lists get.
Format: filter KEYWORD [MORE_KEYWORDS]…
KEYWORD
: No restrictions; case-insensitiveExample: filter John Doe
Tip: filter John Doe
will display
Expected output when the command succeeds:
1 buyer(s) and 0 seller(s) listed!
If you don't put any keywords to filter for:
Invalid command format! filter: Filters all buyers and sellers whose names contain any of the specified keywords (case-insensitive) and displays them as a list with index numbers. Parameters: KEYWORD [MORE_KEYWORDS]... Example: filter alice bob charlie
list
The list
command allows you to display all buyers and sellers, so that you can get back to work after using the filter
command or editing the data file directly.
Format: list
blist
The blist
command allows you to display the information of any buyer as a status message, so that you can view it, or highlight and copy it for further use.
Format: blist INDEX
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the buyers' listExample: blist 3
Expected output when the command succeeds:
Got it. Here's the information of this buyer:
Jane Doe; Phone: 91234567; Email: janedoe@gmail.com; Address: 1 College Ave East; House Info: Central Area 5 Room Condominium; Priority: nil; Tags:
slist
The slist
command allows you to display the information of any seller as a status message, so that you can view it, or highlight and copy it for further use.
Format: slist INDEX
INDEX
: A positive integer (1, 2, 3, …) which must not exceed the last index in the sellers' listExample: slist 3
Expected outputs when the command succeeds:
Got it. Here's the information of this seller:
Ryan; Phone: 91234567; Email: ryan@gmail.com; Address: My Secret Home; Selling Address: 47D Lor Sarhad, Singapore 119164; House Info: 4 Room Flat in Sarhad Ville; Priority: nil; Tags:
bsort
Elevate your contact list through organisation based on your priorities.
The bsort
command allows you to quickly organise your buyer contacts by various criteria, so that you can sieve out
your most important contacts to maintain and the most valuable opportunities you have.
Format: bsort [PREFIX/DIRECTION]
PREFIX
: Choose one of:
n
- sort by nameah
- sort by home addressi
- sort by house infoprio
- sort by priorityDIRECTION
: "a" OR "d" for ascending or descending respectivelyTip: When no prefix and direction is provided, bsort
sorts by the list's original order.
Examples:
bsort
to sort by original orderbsort n/d
to sort by name descendingExpected outputs when the command succeeds:
Got it. I've sorted the buyer list!
Expected outputs when the command fails:
Invalid command format!
bsort: Sorts the buyers in RTPM. Parameters: Choose zero or one of [n/] [ah/] [i/] [prio/] a/d (for ASC/DESC)
Example: bsort prio/d
Multiple values specified for the following single-valued field(s): ...
Note:
bsort
keyword and before the next
valid prefix (n
, ah
, i
or prio
).
bsort qwerty z/asdf prio/d
will execute bsort prio/d
.bsort
will sort by only one of the provided prefixes, which is chosen
based on this order:bsort prio/d n/d
will execute bsort n/d
.ssort
Elevate your contact list through organisation based on your priorities.
The ssort
command allows you to quickly organise your seller contacts by various criteria, so that you can sieve out
your most important contacts to maintain and the most valuable opportunities you have.
Format: ssort [PREFIX/DIRECTION]
PREFIX
: Choose one of:
n
- sort by nameah
- sort by home addressi
- sort by house infoprio
- sort by priorityDIRECTION
: "a" OR "d" for ascending or descending respectivelyTip: When no prefix and direction is provided, ssort
sorts by the list's original order.
Examples:
ssort
to sort by defaultssort n/d
to sort by name descendingExpected outputs when the command succeeds:
Got it. I've sorted the seller list!
Expected outputs when the command fails:
Invalid command format!
ssort: Sorts the sellers in RTPM. Parameters: Choose zero or one of [n/] [ah/] [i/] [prio/] a/d (for ASC/DESC)
Example: ssort prio/d
Multiple values specified for the following single-valued field(s): ...
Note:
bsort
, the ssort
command will also ignore any extraneous inputs and invalid prefixes after the ssort
keyword and before the next
valid prefix (n
, ah
, i
or prio
).bsort
, when two or more valid prefixes are provided, ssort
will sort by only one of the provided prefixes, which is chosen
based on this order: undo
Made a mistake? The undo
command allows you to undo the previous action, easily correcting your mistakes and keeping
your contact list on track.
Format: undo
Tip: Using undo
multiple times will undo multiple actions in order.
Expected output when the command succeeds:
Last command was undone.
If there is no command to undo:
No commands to undo!
redo
The redo
command allows you to restore a previously undone action, making it easy to go back to any state and
continue working from there.
Format : redo
Tip: Using redo
multiple times will redo multiple actions in order.
Expected output when the command succeeds:
The next command was redone.
If there is no command to redo:
No commands to redo!
help
Unsure of how to use our system or forgot the available commands? The help
command allows you to access our user
guide, ensuring that you have all the information you need at your fingertips.
Format: help
exit
Wrap up your contact management session and start making the deals happen.
The exit
command allows you to terminate the program gracefully and securely, safeguarding all data and changes
you've made during the session.
Format: exit
Note: Upon exit, the latest data is saved to your computer at data/rtpm.json.
A list of frequently asked questions to resolve common issues you may have.
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 RTPM home folder.
Q: My entries are missing! Did they get deleted somehow?
A: One possible fix is to try calling the list
command. If you manually edit the data file, or you filtered the list,
the entries may not appear in the application until you refresh the list.
Q: I made a mistake! How do I fix it?
A: You can make use of the handy undo and redo
commands to fix any errors made.
Q: I can't double-click on the application to run it!
A: First, check that you have Java 11 installed. If you do, and you still can't double-click, try this:
Open a command terminal,use the cd
command to change into the folder you put the application file in,
and type in the java -jar rtpm.jar
command to run the application.
Q: How do I install Java 11?
A: Try installing from the official Oracle archive here.
Q: I still have issues!
A: Try contacting our developer team by creating an issue on our
GitHub, and we will see how we can help.
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.
Adding multiple contacts with excessively long names (>5000 characters) may cause RTPM to lag significantly. It is recommended to use nicknames or initials if necessary.
Long fields can cause the details of a client to not be displayed fully. A workaround is to use the
slist
/blist
commands to display the details of the client in the result box.
Action | Format, Examples |
---|---|
Add Buyer | buyer n/NAME [p/PHONE_NUMBER] [e/EMAIL] [ah/HOME_ADDRESS] [i/BUY_HOUSE_INFO] [prio/PRIORITY] [t/TAG] e.g. buyer n/Jane Doe p/91234567 e/janedoe@gmail.com ah/1 College Ave East i/Central Area 5 Room Condominium prio/high |
Add Seller | seller n/NAME [p/PHONE_NUMBER] [e/EMAIL] [ah/HOME_ADDRESS] [as/SELLING_ADDRESS] [i/SELLING_HOUSE_INFO] [prio/PRIORITY] [t/TAG] e.g. seller n/Ryan p/91234567 e/ryan@gmail.com ah/My Secret Home as/47D Lor Sarhad, Singapore 119164 i/4 Room Flat in Sarhad Ville prio/high |
Edit Buyer | bedit INDEX PREFIX/VALUE [MORE_PREFIX/VALUE] e.g. bedit 3 e/example@email.com ah/Residential Street |
Edit Seller | sedit INDEX PREFIX/VALUE [MORE_PREFIX/VALUE] e.g. sedit 3 e/example@email.com as/Selling Street |
Delete Buyer | bdelete INDEX e.g. bdelete 2 |
Delete Seller | sdelete INDEX e.g. sdelete 2 |
Clear | clear |
Set Buyer Priority | bprio INDEX PRIORITY e.g. bprio 3 high |
Set Seller Priority | sprio INDEX PRIORITY e.g. sprio 3 high |
List All | list |
Filter | filter KEYWORD [MORE_KEYWORDS] e.g. filter John Doe |
List Buyer | blist INDEX e.g. blist 1 |
List Seller | slist INDEX e.g. slist 1 |
Sort Buyers | bsort [PREFIX/DIRECTION] e.g. bsort n/d |
Sort Sellers | ssort [PREFIX/DIRECTION] e.g. ssort prio/a |
Undo | undo |
Redo | redo |
Exit | exit |
Help | help |
RTPM allows you to flexibly input most fields of data, so that the app doesn't unnecessarily restrict you. For example, you can insert chinese characters as names, or use slashes to abbreviate "son of" as "s/o".
Hence, the warning system aims to inform you of any valid but possibly unintended inputs. The warning system is able to alert you of multiple errors at once, allowing you to correct all mistakes together instead of one-by-one.
The warning system is also used to notify you when there are two similar buyers or sellers, or when a buyer shares the same name as a seller. This reduces the chance that you will accidentally make two entries for the same person, cluttering your data. See Appendix C for more details.
Here is a non-exhaustive list of some warning messages.
Warning!; [Phone numbers should only contain numbers, and it should
be at least 3 digits long. Area codes are allowed, signified by a
'+' and up to 3 numbers, followed by a space separating this from
the main number.]
Please ignore if this is expected.
Warning!; [Emails should 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:
- end with a domain label at least 2 characters long
- have each domain label start and end with alphanumeric
characters
- have each domain label consist of alphanumeric characters,
separated only by hyphens, if any.]
Please ignore if this is expected.
Here, we provide the exact checks that our application does for you, and the warning given if the field is inappropriate.
Field | Valid | Appropriate | Exact warning given |
---|---|---|---|
Name | Must not be blank | Alphanumeric characters only | Names should contain only alphanumeric characters and spaces |
Phone Number | At least one numerical character | Only numerical characters, and at least 3 digits long. Area codes allowed as provided in warning. | Phone numbers should only contain numbers, and it should be at least 3 digits long. Area codes are allowed, signified by a '+' and up to 3 numbers, followed by a space separating this from the main number. |
At least one @ character | See warning message. | Emails should 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: - end with a domain label at least 2 characters long - have each domain label start and end with alphanumeric characters - have each domain label consist of alphanumeric characters, separated only by hyphens, if any. | |
Address | Must not be blank | Nil | Nil |
Info | Must not be blank | Nil | Nil |
Field | Valid | Appropriate | Exact warning given |
---|---|---|---|
Priority | Starts with one of the letters h,l,m,n | Matches the first part of one of the words high, low, medium, nil . | Inputs should be 'high', 'medium', 'low' or 'nil'. However, if at least the first letter is valid, we will read correctly. |
Tags | Must not be blank | Alphanumeric characters only | Tags names should be alphanumeric |
RTPM does checks to ensure users do not accidentally enter the same person twice, preventing cases where you have duplicate entries. This is also true if you try to edit two people to have the same name.
There may be some ambiguity when names are similar but not exactly the same; in this case, the app will warn the user in case this was unintentional, but will not prevent the command from executing.
RTPM's definition of 'similar' is as follows: Either one of the names is contained in the other, or the names require 2 or fewer edits (deletions, insertions, substitutions) to make them the same. (for more details look for the definition of Levenshtein distance here.
An example when the same name is detected across buyers and sellers:
This seller potentially also exists in the buyer list: If so, please verify that their contact information is the same
An example when similar names are detected:
The seller is similar to one of the sellers in the list!
An example when the same name is detected:
This seller already exists in the address book
(This is not allowed, hence the command will not execute.)
Provided is a useful definition list of terms that were used in the guide and in the application.