# Staff shifts & hours

> Build your team's rota against your session calendar, email everyone their shifts, and export hours for payroll.

Who can do this: admins only.

Shifts puts your team's rota on a calendar with your sessions behind it, adds up everyone's hours, emails each person their own shifts, and exports totals for payroll. It's off by default.

<Screenshot shot="admin-shifts-week" alt="The Shifts week view, with staff and their hours along the top and shifts on the calendar" caption="Your team and their hours along the top; shifts on the grid, with sessions behind them." />

## Turn shifts on

<Steps>
<Step title="Switch it on">
In [Settings → Company](/go/admin/settings/company), under **Features**, turn on **Enable staff scheduling**. A **Shifts** item appears in your menu.
</Step>
<Step title="Check your team is there">
Shifts can only be assigned to people on your team, so add anyone missing under [Settings → Team](/go/admin/settings/team) first. See [Admins & staff](/docs/team).
</Step>
</Steps>

<Screenshot shot="admin-shifts-settings" alt="The Enable staff scheduling switch under Features in Settings then Company" mat="sage" />

## Add a shift

Open **Shifts** from the menu. There are **Day**, **Week** and **Month** views; Week is where most rotas get built.

<Steps>
<Step title="Draw it, or use the button">
Drag down a day column to draw a shift, or press **Add shift** in the header and fill in the times.
</Step>
<Step title="Pick the days and people">
Tick every day the shift runs and everyone on it. Session creates one shift per day, with a bar per person.
</Step>
<Step title="Add a note if it helps">
Notes such as "opening" appear on the shift and in each person's email.
</Step>
</Steps>

<Screenshot shot="admin-shifts-add" alt="The Add shift dialog, with times, days, location and the staff picker" caption="One shift can cover several days and several people at once." mat="peach" />

To change a shift, click it to edit its date, times, person or note. You can also drag it to a new time, or in **Week** view sideways onto another day, and drag its top or bottom edge to change its length. Hold Alt (Option on a Mac) while dragging to leave a copy behind. To copy a shift without dragging, for example on a phone, open it, set the date and times you want, and press **Duplicate**.

<Callout variant="tip">
In **Week** view, **Copy last week** copies the previous week's shifts into this one. Shifts already there are left alone, so it's safe to press twice, and anyone no longer on your team is skipped.
</Callout>

## Read the week

Your sessions show behind the shifts in grey, so a session with nobody on it stands out. Along the top, everyone working that week is listed with their total hours; click someone to show only their shifts. Each person keeps their own colour, on their initials here and on every shift they work, so you can pick them out at a glance.

If you run more than one site, the site buttons narrow the rota and the hours to one site. On **All**, sessions are hidden from behind the shifts, so pick a site to see them. The week starts on the day set under [Settings → Company](/go/admin/settings/company) → **Regional settings**.

<Screenshot shot="admin-shifts-month" alt="The Shifts month view, one line per shift in each day cell" caption="A month at a glance. A busy day shows the first few and a link to open that day." mat="clay" />

## Email your team their shifts

<Steps>
<Step title="Open the sheet and set the dates">
Press **Email shifts** at the end of the row of names. It starts on the week you're viewing; change the dates to send any period.
</Step>
<Step title="Choose who to send to">
Everyone with shifts in that period is ticked. People with no email address can't be sent to, so add their address under [Settings → Team](/go/admin/settings/team). With one site picked, the email covers that site only.
</Step>
<Step title="Write your message and send">
Your subject and message are remembered for next time, and the preview shows what one person will receive.
</Step>
</Steps>

<Screenshot shot="admin-shifts-email" alt="The Email shifts sheet: dates, who to send to, the message, and a preview of what one person receives" caption="The preview shows exactly what that person will get." />

Each person gets their own email with only their own shifts, so nobody sees anyone else's working pattern.

## Export hours for payroll

**Export hours** shows each person's total for the week, split by site, and downloads it as a CSV. It always covers every site.

<Callout variant="warning">
These are the hours you've put people down for, not hours worked. Nobody clocks in or out, so check the totals against what actually happened before you pay.
</Callout>

## What your team sees

Staff get a read-only **My shifts** page showing only their own week and hours. Admins see their shifts on the main rota.

Anyone can also see their own shifts in Google Calendar, Apple Calendar or Outlook: select **Add to your calendar** on **My shifts** to create a [calendar link](/docs/calendar-feed).

## Common questions

1. **Can staff add their own shifts?** No. Only admins build the rota.

2. **Why does my week look empty when I know there are shifts?** If a name along the top is selected you're only seeing theirs, so click it again. Also check you haven't picked a site nobody is working at.

3. **Can I use it on my phone?** Yes. On a phone the rota opens on the Day view, starting on a site with people working that day. Week and Month are on a laptop or tablet.

4. **Do shifts show on my booking page?** No. Nothing about your rota is visible to customers.

5. **What happens to my team if I turn it off?** Shifts disappears from the menu and staff lose My shifts, but every shift is kept for when you turn it back on.

6. **Everyone's times look wrong by twelve hours.** The rota and the emails use your venue's clock. Check **12-hour** or **24-hour** under [Settings → Company](/go/admin/settings/company) → **Regional settings**.
