Skip to content

Settings overview

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

From the Cashier (POS) shell, open Settings in the side nav to land on /point-of-sale/settings. This is the hub for all configuration of this lane PC: the active store, peripherals, language, and local admin tools (Vendor Desktop only).

Source: apps/vendor-web/src/app/point-of-sale/pages/settings/settings-page.tsx.

Cashier settings hub Image: the full settings hub — 3 sections (Operations / Hardware / Application) visible. Spec owner: cashier-screenshots.spec.ts → "settings — hub".

Visible when the cashier has pos write. Items:

ItemPathExtra condition
Store/point-of-sale/settings/storeActive store is selected
LanePosSettingsLanePickerModalStore has > 1 active lane and the employee has no pinned pos_register_id
Work shift/point-of-sale/work-shift—
Slideshow/point-of-sale/settings/slideshow—
Barcode labels/point-of-sale/barcode—

Visible when vendorShowPointOfSaleHardwareHubSection(profile) returns true (owner / settings write only). Each item opens a dedicated page built on the shared <DeviceSettings> component:

ItemPathhardwareFocusDevice type
Terminal/point-of-sale/settings/terminalterminalspayment_terminal (PAX / CodePay)
Receipt printer/point-of-sale/settings/printerprintersreceipt_printer
Cash drawer/point-of-sale/settings/cash-drawercash-drawerreceipt_printer (subtype)
Scale/point-of-sale/settings/scalescaleweighing_scale

Visible when the cashier has settings read/write or pos write. Items:

ItemPathModal / RouteCondition
LanguagePosSettingsLanguageModalModalAlways shown
Startup/point-of-sale/settings/startupRouteElectron + settings/pos write
About/point-of-sale/settings/aboutRouteElectron + settings/pos write
Local data/point-of-sale/settings/local-dataRouteElectron + settings/pos write

settings-page.tsx checks 3 permission helpers (vendor-module-access.ts):

HelperMeaning
vendorHasPointOfSaleWriteAccess(profile)Has pos write → see the Operations section
vendorHasPointOfSaleSettingsAccess(profile, pathname)Has settings read/write → see Application items
vendorShowPointOfSaleHardwareHubSection(profile)Has settings write → see the Hardware section

If all three are false, the cashier sees only the yellow lockedHint banner — ask the owner to grant the missing module.

Above the sections, <PointOfSaleElectronDisplaySettings /> renders only when isElectron() && (showHardwareHub || canPosWrite || canSettings) — letting the owner configure the secondary customer display straight from the hub.