Skip to content

Weekly schedule

A grid of seven days and one row per staff member, showing every shift planned for the week. This is the day-to-day planning surface for the manager.

What it does

The Week tab answers two questions a manager has every morning: who is supposed to be working this week, and what changes do I need to make? Without it, the answer lives in a notebook, a printed rota, or a chat thread — and any change ripples through messages to staff and reminders to oneself.

Here, the entire week is on one screen. Each cell shows the shifts scheduled for one staff member on one day. Empty cells are clickable: tap to add a shift. Filled cells are clickable too: tap to change or cancel.

Two kinds of shifts share the grid:

  • One-off shifts that the manager added by hand, just for that date.
  • Recurring shifts generated from a weekly pattern (see Recurring shifts). These appear automatically on every matching day of the week without any extra clicks. They look slightly different — a dashed border and a small “Template” tag — so you can tell at a glance which shifts come from the recurring pattern and which were added one-off.

How to use it

Open the page from Settings → Roster and stay on the Week tab (the default).

Top of the page:

  • and arrows step one week back or forward.
  • This week snaps back to the current week.
  • The week range is shown in the middle (“May 4–10, 2026”).
  • The venue’s time zone is shown on the right (“Venue TZ: Asia/Bangkok”) — the grid renders all hours in that time zone.

Adding a one-off shift

  1. Find the row for the staff member and the column for the day.
  2. Tap the empty cell.
  3. A dialog opens. Pick the start and end times. If the shift crosses midnight (e.g. 8 PM to 2 AM), tick Ends next day.
  4. Tap one or more departments — Kitchen, Dining Room, Bar. (At least one is required.) A staff member can be assigned to several departments in the same shift if they’re covering multiple roles.
  5. Optionally add a note (“late opening — no aperitivo today”).
  6. Tap Save.

The shift appears as a card in the cell, with the time and a colour-coded department chip.

Editing or cancelling a shift

Tap the existing shift card.

  • Editing a one-off shift is straightforward — change the times, departments, or notes, then save. The grid updates immediately.
  • Editing a recurring shift (the dashed-border one) creates an exception for just that date. The recurring pattern itself stays unchanged — every other week is unaffected. The shift card on screen loses its “Template” tag and becomes a solid-border card for that day.
  • Cancelling a recurring shift on one day uses the Cancel this occurrence button. The cell goes empty for that date; future weeks stay on the original pattern.
  • Deleting a one-off shift uses the Delete button. It disappears entirely.
  • Closing the dialog without saving discards your changes — nothing is touched.

If you want to change the recurring pattern for every future week (not just one date), use the Templates tab instead.

What happens behind the scenes

The grid is two data streams merged on the fly:

  • The shifts the manager has explicitly created (one-offs and exceptions to recurring patterns).
  • The shifts implied by the recurring patterns from the Templates tab, computed live for every day in the visible week.

When you save an edit to a recurring shift, the system writes a new “exception” record keyed to that date and that template. The next time the page loads, the merger sees the exception and shows it instead of the pattern.

When you cancel a recurring shift on one day, it writes the same kind of exception but marks it as “cancelled” — which makes the pattern stay hidden for that date too.

Nothing leaves the venue when you save: there’s no email, no SMS. The grid simply updates for everyone with the page open. (Notifying staff of their schedule is a separate task — see overview for what’s coming on that front.)

Examples

🍽️ Standard week Marco is on the Templates tab as “Mon–Fri 6 PM to 11 PM, Kitchen”. On the Week tab, his row already has dashed-border cards on every weekday from 18:00 to 23:00, with a red “Kitchen” chip. The manager doesn’t have to do anything — the week is already planned.

📅 One-off cover Sara is normally off on Sundays. The manager taps her empty Sunday cell, picks 11 AM to 4 PM, selects “Dining Room”, saves. A blue card appears in that cell. The recurring pattern (her weekday shifts) is untouched.

🔄 Swap between two staff Sara is sick on Tuesday — Luca will cover. The manager taps Sara’s Tuesday card, taps Cancel this occurrence. Sara’s Tuesday cell goes empty. Then taps Luca’s empty Tuesday cell, picks the same hours, saves. Done — the rota for that one day reflects the swap, and next Tuesday is back to normal.

⚠️ Wrong department picked The manager creates Marco’s Friday shift but accidentally selects “Bar” instead of “Kitchen”. After saving, the chip is wrong. Tap the card, untick Bar, tick Kitchen, save. The chip recolours to red.

⚠️ Long shift across midnight The bar closes at 2 AM. The manager adds Luca’s Saturday shift as 8 PM to 2 AM, and ticks Ends next day. The card on Saturday shows “20:00–02:00” (the system handles the date math). The Coverage view will count Luca as present in those late-night hours on Saturday’s service day.

Exporting the week

Two buttons live next to the week navigator:

  • ⬇ CSV downloads the visible week as a spreadsheet file (roster-week-YYYY-MM-DD.csv). One row per staff member, one column per day. Each cell contains the shift’s time range and department(s) — multiple shifts on the same day are joined by |. Useful for payroll, archives, or attaching to an email to the team.
  • 🖨 Print / PDF opens the browser’s print dialog. The page styles itself for A4 landscape, hides the sidebar and chrome, and keeps department colours so the printout stays readable. Choose “Save as PDF” in the print destination dropdown to export as a PDF. No backend or external service involved — it’s all in your browser.

For send-to-staff via Line / WhatsApp / email, see the overview — that’s still in the backlog.

  • Coverage view — same shifts, viewed as headcount per department per hour. Use this to confirm you’re not under-staffing peak hours.
  • Recurring shifts (templates) — define the weekly pattern that fills in the Week grid automatically.
  • Departments — the catalog you draw from when picking which area a shift covers.
  • Comparing plan with reality — once shifts have been worked, see how the actual clock-in/out compared.