Where it lives
/employees— directory and add-employee form./employee-tickets— internal support tickets from staff./leave-permission-requests— leave / permission request queue for managers./staff/panel/requests— request submission UI for staff./staff/panel/responsibilities— shift task tracker./staff/tickets— ticket creation + history for staff.
Anatomy of an employee record
- Identity — full name, email (becomes the staff-portal login), phone, role label (free text), photo.
- Brand and primary location — defaults applied when scheduling shifts.
- Contract — type (hourly, salaried), hourly wage or monthly gross, start date.
- Permission scopes — checkboxes per area: shifts, invoices, shopping, requests, tickets. The staff portal sidebar reflects the boxes you tick. Without any ticked, the staff member sees only
/staff/panel. - Status — active / inactive. Inactive employees keep their history but can't be scheduled.
Permission scopes, in detail
Permissions are intentionally coarse — five scopes, ticked or not — so onboarding a new manager is fast and audit is simple. Each scope drives both sidebar visibility and API access:
- Shifts — view
/staff/shiftsand the staff panel's shift summary. - Invoices — view
/staff/invoicesread-only. - Shopping — accept and complete shopping requests, record receipts.
- Requests — submit leave / permission-to-leave-early requests.
- Tickets — open and respond to internal tickets.
Leave and permission requests
Staff submit requests at /staff/panel/requests; managers approve or reject from /leave-permission-requests. Pending requests for a date show inline on the schedule grid for that date — you don't have to flip between screens to decide.
Two flavours:
- Leave — multi-day absence (vacation, sick leave). Approved leave hides the employee from drag-to-assign for the affected days.
- Permission — same-day adjustment (leave early, come in late). Approved permission updates the shift's start / end automatically.
Internal tickets
A lightweight communication channel between staff and managers — for one-off questions and incidents that don't fit on a shift note or in chat. Each ticket has a status (open / closed), a subject, a thread of replies and an optional location tag. Tickets aren't the same as the customer-facing support address — support@getup.dev still goes to us.
Shift responsibilities
Per shift, you can pin a list of tasks the assigned employee must confirm done before requesting a check-out code on the tablet. The check-out screen blocks until every box is ticked. Responsibilities are scoped to a shift, not a person — so the morning closer's task list can differ from the evening closer's.