A shift is the mark that says "I'm at work". Someone opens it at the start of the working day and closes it at the end. The venue gets two things: a clear count of hours worked and — more important in service — notifications going to the right person.
{info} A shared device (the POS or kitchen tablet) never clocks a shift: it isn't a person. It counts as working the whole time it's switched on.
It's the same button, only the label changes: "Start shift" and "End shift". You'll find it in three places:
The phone places exist because the working screens on a phone have no avatar — a waiter would have nowhere to punch in; the Floor chip also shows the shift status without leaving the working screen.
{info} An open shift isn't required to use a working screen: Hall and Orders open without one. Still, better to clock in — see below.
The shift decides who gets the notification about a new order. The system first looks for the waiter assigned to the table — and picks them only if they are on shift. If there's no such waiter, the notification goes to everyone working right now, and only then to everyone subscribed.
Hence the practical rule: assigning a table to a waiter does nothing until they start their shift. Forget to clock in, and orders from your tables go to someone else (notification routing).
The reverse holds too: while the assigned colleague is on shift, the new-order push for their tables goes to them alone — nobody else gets it, even on shift. And "order ready" plus guest calls don't look at the shift at all: they always go to the table's assigned waiter.
Settings → Timesheet is a weekly grid: the team down the left, seven days across. You can see who worked when, how many hours each person put in over the week, and how many people are on shift right now.
Arrows page through the weeks, and a button brings you back to the current one. A green dot means "on shift", a dashed outline means "this record was edited by hand".
The timesheet is open to anyone with the "Staff & roles" permission; a member sees only their own shifts, in the "History" section of their own screen (the waiter screen).
A manager can correct a record: clicking an empty day cell creates a shift, clicking an existing one opens it for editing. The dialog has two time fields, "Check-in" and "Check-out", and a "Still on shift" switch for a shift that's still running.
Staff can't edit their own records — otherwise the hours would mean nothing.
{warning} Deleting a record happens immediately, with no confirmation. The dashed "manual edit" outline stays forever, even if you put the original time back.
A shift never closes itself: there is no automatic ending. An open shift keeps piling up hours and stays in the weekly total.
So a manager fixes forgotten punches in the timesheet — that's a normal part of the week, not an emergency.
{info} Day and week boundaries follow the venue's time zone, not the time on a staff member's phone. A shift started late in the evening therefore lands on whatever day it was at the venue (time zone).
A venue can compare where a staff member checked in from against its own pin on the map. The pin and the radius live in settings, under On-site check-in: drag the marker (or press "Use my location" while standing in the venue) and pick a radius.
The same card carries three modes:
{info} The shift starts either way. No mode refuses a check-in: the person is at work whatever their browser reported, and a browser position can be faked in a few clicks — a block would only stop the honest ones.
If a staff member declines the location prompt, the check-in still goes through. It simply waits for review when the third mode is on.
About the radius. Indoors a browser locates by Wi-Fi with an error of tens of metres. A radius under about a hundred metres will almost never confirm, and the review queue fills up with honest people. 150 m is a sensible start; the dashed circle on the map shows the typical error.
{warning} Until the venue pin is set there is nothing to check against: check-ins behave as usual and the settings card shows a warning.
In "Confirm manually", a check-in that could not be confirmed appears in a list above the timesheet: name, time, and the reason ("outside the area · 1.2 km with a 150 m radius", or "no location"). The manager presses Confirm or Reject — the record stays in the timesheet either way.
{info} The decision does not change logged hours. It is a note in the history — "a manager looked and did / did not accept this check-in". To change the times, edit the shift in the timesheet (fixing a record); to remove the record, delete it.
Reviewing needs the Staff & roles permission — the same one that opens the timesheet (roles).
A staff member's coordinates are not stored. At the moment of the check-in they are reduced to three numbers, and only those reach the database:
The staff member can see their own reading in their shift history and dispute it. Managers see the full reading alongside the timesheet.
{info} Location counts as sensitive personal data in Vietnam (Law 91/2025/QH15). That is why collection is off by default, switched on knowingly by the venue, and limited to what relates directly to the work.