Authenticate by PIN
Identify the current POS operator on Harbor Soho by entering a 4-character PIN on the selected TPV terminal. A successful match selects the staff member, such as Olivia Hart, for the POS screen only; it does not create a new app login, open a service, create a ticket, start a payment, print, or invoice.
In this article
Use this guide when a POS operator needs to confirm who is working on the active Harbor Soho TPV screen before continuing service.
PIN authentication checks an active staff TPV credential for the current location and sends the selected terminal id when one is available, so terminal-scoped PINs can be respected.
The PIN is a secret value. Product captures should show masked dots and runtime placeholders only, never the actual digits.
Before you start
- You are signed in to Harbor Demo Group and working in Harbor Soho.
- You can open the live POS screen. The POS surface requires `tpv:use`, and the PIN confirmation control is available with `tpv:use` or `tpv:card-auth`.
- Employee access for the active terminal is set to `pin`, either from TPV settings or from the selected terminal override.
- The POS route includes `terminalId=${TPV_TERMINAL_ID}` when terminal-scoped credentials must be enforced.
- A service session is active if the documentation path expects the PIN prompt to open automatically.
- Olivia Hart has an active 4-character PIN credential for Harbor Soho, and any terminal restriction includes the selected TPV terminal.
Instructions
- 1.
Open the POS on the active terminal
Open Harbor Soho POS on the floor tab with `terminalId=${TPV_TERMINAL_ID}`. If a service is active and no operator is selected, the employee access prompt can open automatically.
- 2.
Open the PIN prompt
Use the employee prompt shown by the POS. If another operator is already selected, reopen the prompt from the employee control in the POS header.
- 3.
Enter the 4-digit PIN
Tap the numeric keypad to enter the staff PIN. The interface masks the entry and stops accepting digits after four characters.
- 4.
Confirm the PIN
Tap Confirm. The app checks the PIN for Harbor Soho and includes the selected terminal id when one is available.
- 5.
Check the selected operator
After a successful match, the modal closes, the PIN input clears, and the POS header shows the returned staff member, for example Olivia Hart.
Validations and limits
- The PIN keypad accepts numeric digits plus Clear and Delete, and `TPV_PIN_LENGTH` is 4.
- Confirm stays disabled until the trimmed PIN length is exactly 4 and the user has credential-auth access.
- A wrong, missing, inactive, other-location, or terminal-excluded PIN shows an error and leaves the selected operator unchanged.
- If employee access mode is `selector`, `card`, or `disabled`, the PIN keypad is not shown.
- The backend accepts `POST /api/app/{orgId}/{locationId}/tpv-auth/pin` and does not return the credential value.
- Terminal restrictions affect authentication only when `terminal_id` is sent.
- A successful PIN selects the POS staff operator only; it does not create a persistent login session or start any ticket, service, payment, print, or invoice action.
- There is no failed-attempt counter, lockout, PIN expiry, or PIN-specific rate limit in this route.
Expected result
The current Harbor Soho POS screen has Olivia Hart selected as the operator, with the PIN cleared and the credential value never exposed to the frontend.