Harbor Mutual Bank — product requirements
Harbor Mutual Online Banking lets retail customers register, sign in and manage their accounts: see balances and activity, open accounts, move money between their own accounts, pay bills, search transactions, request loans and keep contact details current.
Problem. Customers need to self-serve everyday banking without visiting a branch, and must be able to trust that every figure on screen reconciles to the cent.
Users
- Retail customer — Check balances, move money and pay bills quickly, with clear confirmation of what happened.
- New customer — Open an online profile and a funded first account in one step.
- Support agent — Point customers to self-service recovery when they forget their login.
Goals
- Every money movement records a matching debit and credit; no money is created or lost.
- Totals always equal the sum of the parts they summarise.
- Invalid input is rejected per field, before any money moves.
Out of scope
- Payments to real networks
- Branch or admin consoles
- Performance under load
Contents
Registration
Self-service sign-up that creates the profile and a first checking account.
- Submitting an empty form shows "<Field> is required." for each of the 11 fields
- Values already entered are kept when the form is shown again
- A mismatch shows "Passwords did not match." and no profile is created
- An existing username in any letter case shows "This username already exists."
- Confirmation "Your account was created successfully. You are now logged in."
- Accounts Overview lists exactly one account with Balance, Available and Total $515.50
Sign-in and login recovery
Customer login, logout and lookup of forgotten credentials.
- Empty fields: "Please enter a username and password."
- Wrong credentials: "The username and password could not be verified."
- Menu items: Open New Account, Accounts Overview, Transfer Funds, Bill Pay, Find Transactions, Update Contact Info, Request Loan, Log Out
- This plain-text reveal is accepted behaviour for this product version
Accounts overview and activity
Balances across all accounts and per-account transaction history.
- Available is lower than Balance when funds are on hold
- An overdrawn account shows a negative Balance and Available $0.00
- A filter with no matches shows "No transactions found."
Open new account
Open a CHECKING or SAVINGS account funded from an existing one.
- The new account shows one Credit "Funds Transfer Received" $100.00 dated today
- Message "Account could not be opened: account <n> does not have the $100.00 minimum deposit."
- No account is created and balances do not change
Transfer funds
Move money between the customer’s own accounts.
- Empty, non-numeric, negative, zero or 3-decimal amounts show "Please enter a valid amount." and move nothing
- Confirmation "$<amount> has been transferred from account #<from> to account #<to>."
- Source gains Debit "Funds Transfer Sent", target gains Credit "Funds Transfer Received", both dated today
- The Total is unchanged
Bill pay
Pay an external payee from one of the customer’s accounts.
- Each failing field shows its own message
- A mismatch shows "The account numbers do not match." and no debit occurs
- Confirmation "Bill Payment to <payee> in the amount of $<amount> from account <n> was successful."
Find transactions
Search one account’s history by ID, date, date range or amount.
- A transaction of another account is never returned
- "Please enter a valid date." / "Please enter a valid amount."
- No match shows "No transactions found."
Request loan
Instant loan decision funded into a new loan account.
Contact info
Keep the customer’s address and phone current.
Non-functional requirements
Glossary and rules
| Available | Balance minus holds; never below $0.00. |
|---|---|
| Hold | A pending deposit that counts toward Balance but not Available. |