Skip to content

Cashier Login — Dedicated Employee Sign-in

import { Card, CardGrid, Steps, Aside, Tabs, TabItem } from ‘@astrojs/starlight/components’;

The Cashier Login screen (/cashier-login) is the dedicated, employee-only sign-in page that opens automatically when you launch Vendor Desktop (the Electron app installed on the lane PC). It is built specifically for cashiers and front-of-house staff — not for store owners.

- URL: `/cashier-login` - Auto-launched on **Vendor Desktop** cold start - Manually reachable at `/cashier-login` from any browser - ✅ Employees with `pos` write permission - ✅ Employees assigned to a single store (auto store) - ❌ Store owners (use `/vendor-login`) - `/point-of-sale/sale` — full-screen POS workspace - Store & lane auto-selected from your employee profile - No dashboard side menu — POS only
  • Vendor Desktop installed on the lane PC (or a modern browser for ad-hoc use)
  • An employee account with at least pos write permission
  • Your email and password given to you by the store owner
  • (Optional) An assigned store (store_id in your profile) — the store is then auto-selected
Sign-in screenURLWho it is for
Cashier login (this page)/cashier-loginCashiers / front-of-house
Operator login/loginEmployees who need the dashboard (catalog, finance, …)
Owner login/vendor-loginStore owners / managers

Owners who accidentally open /cashier-login will be logged out by the screen and shown the “Only employee accounts can sign in here” banner. Owners should always use /vendor-login.

1. **Open the Cashier Login screen.** - On **Vendor Desktop**: the app opens directly to `/cashier-login` when no session exists. - In a browser: navigate to `https:///cashier-login`.
  1. Enter your email.

    • Use the email that the store owner registered for you (e.g. cashier@store.com).
    • The field is case-insensitive but the part before @ is what we match.
  2. Enter your password.

    • Click the 👁 icon on the right to show/hide the password while typing.
    • The password is masked by default for security.
  3. (Optional) Tick “Remember me”.

    • Keeps you signed in on this device between shifts (until you sign out).
    • Default is ON for cashier sessions. Turn it OFF if the PC is shared.
  4. Click “Sign in”.

    • The button shows a spinner and “Signing in…” while we authenticate.
    • On success you are routed to /point-of-sale/sale.
  5. Wait for the POS workspace to load.

    • The Sale workspace opens full-screen with the lane picker if required.
    • If a work shift is required, the Open work shift dialog appears first.

Cashier login screen

Tuxing an employee — step by step (visual)

Section titled “Tuxing an employee — step by step (visual)”
  1. The left half is the brand panel with a hero title and subtitle describing your store benefits. It is the same on every auth screen.

  2. The right half is the form. From top to bottom:

    • Welcome title (Welcome back / Chào mừng trở lại)
    • Email field with the envelope icon (mingcute:mail-line)
    • Password field with the lock icon and an eye toggle
    • “Remember me” checkbox
    • “Sign in” button (full width)

The screen runs two layers of validation:

LayerTriggerWhere it appears
Browser / Zod (client)You submit with an invalid email or empty passwordInline message under the field
API (server)The backend rejects your credentialsRed banner above the form

These show as soon as you click Sign in with an invalid form. No request is sent to the backend.

SymptomWhat happensFix
Enter a valid email address.Email field has no @ or invalid formatRe-type the email carefully
This field is required.Password is emptyFill in the password

Cashier login — invalid email error

If the email/password are valid but the server rejects them, a red banner appears above the form and the URL stays on /cashier-login.

Banner textCauseFix
Incorrect email or password.Wrong password or the email does not existReset your password (see below) or contact the owner
Only employee accounts can sign in here.You opened this page with an Owner accountUse /vendor-login instead
This account is suspended.Owner disabled your accountContact the owner
Network errorInternet is down on Vendor Desktop (first login)Connect to the network, or sign in offline if a cached session exists

Cashier login — wrong password banner

C. Recovering access — use the password reset flow

Section titled “C. Recovering access — use the password reset flow”

If you cannot remember it:

  1. From the cashier-login screen click the “Forgot password” link in the sub-header (the orange hint line under the title).
  2. Or navigate directly to /cashier-login/forgot-password.

The dedicated cashier reset flow is documented at Forgot password — Cashier flow.

Once your email/password are accepted:

  1. The screen issues a short-lived access token and refreshes it silently.
  2. You are routed to /point-of-sale/sale (full-screen POS).
  3. The store selector on top of the workspace picks the store that is hard-coded to your employee profile. If you belong to multiple stores, you can switch.
  4. The lane selector picks the lane you were assigned to. Multi-lane stores show a picker.
  5. If the store requires a work shift, the Open work shift dialog opens before the workspace renders.

You will not see the dashboard side menu. The vendor dashboard (/dashboard/*) is not part of the cashier experience — it lives on the mall-side browser/owner login at /vendor-login.

CapabilityCashier login (/cashier-login)Operator login (/login)Owner login (/vendor-login)
Allowed vendor typesemployeeemployee
Default landing/point-of-sale/sale/dashboard/dashboard (or /point-of-sale/sale from owner menu)
Visible side menuNone (POS only)Full dashboardFull dashboard + admin tools
Hardware setup visible✅ (terminal, printer, drawer)✅✅ + advanced
Settings hub access✅✅✅
Cross-store switchLimited (per profile)✅✅
Suitable for back-office order entry❌✅✅
Suitable for retail lane✅❌ (UI optimised for desktop)❌

Rule of thumb: if your daily job is to ring up customers at a lane, sign in at /cashier-login. If you need the catalog, finance or HR pages, sign in at /login or /vendor-login.

Use the [Cashier forgot-password](/guides/cashier/getting-started/cashier-forgot-password/) flow from the same screen, or contact the store owner to reset it. You opened this URL with an **owner** account. Sign out from `/vendor-login` first, or open the owner login in a different browser. The desktop is offline and the password was not cached locally. Re-connect to the network, then sign in. You actually used `/login` (employee dashboard). Sign out and use `/cashier-login`.
HTTPMeaningAction
400Validation failed (server-side)Check email format
401Wrong credentialsReset password or contact owner
403Account is suspended OR not an employeeUse /vendor-login if owner
429Too many attemptsWait 60 seconds, retry
5xxBackend issueRetry, or check status page