---
title: "Shifts and rotas"
description: "Write down the shifts your business works — a morning, a night that ends the next day — and the rotas your crews repeat, and see what each one counts as work."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.beelocity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shifts and rotas

A business that never stops does not keep its staff on one week. A dairy, a plant running three
shifts, a clinic, a guarding firm or a bakery whose oven is lit at three in the morning has people
who start at ten at night and finish at six, and who rest on a Tuesday rather than on the Friday.
Beelocity keeps the shifts such a business works, so that every hour is counted the way the law
counts it, and the month's payroll pays from them: the shift allowance, the night allowance and the
meal allowance per shift ([Pay shift work from the roster](../payroll/shift-pay.html)).

This page is for whoever keeps the staff register. If everybody in your business works the same
office week, you do not need any of it: the working week you set on **Rest days and leave** still
counts for them ([Holidays and leave](holidays-and-leave.html#set-your-working-week)).

<a id="define-the-shifts"></a>
## Define the shifts

Open **Human Resources › Setup** and choose the **Shifts** tab, then press **New**. A shift says:

- **Name** — what your people call it: *Morning*, *Night*, *Day (12 hours)*.
- **Starts** and **Ends** — the times, on the 24-hour clock. Press the clock in the field and pick
  the hour, then the minutes; or type `2200` and the field writes `22:00`. **An end at or before
  the start is the next morning**: 22:00 to 06:00 is one night, and you do not split it in two.
- **Break (minutes)** — the pause inside the shift. The law caps it at one hour and counts half an
  hour of it as work.
- **People needed** — how many people the shift takes on each day it runs, if you want the roster
  to count them ([How many people a shift needs](changing-the-plan.html#people-needed)). Leave it
  empty otherwise.

Press **Save**. The record then shows the shift's code and what the shift is worth:

- **Code** — the letter or two the roster prints for it in each day's box. You do not choose it:
  Beelocity makes it from the name, `M` for *Morning* and `N` for *Night*. When that letter is
  taken, a one-word name tries its first two letters (*Midday* beside *Morning* is `MI`), and then
  a number (`M2`). Two shifts cannot share one, and **Edit** changes it if you would rather another.
- **Effective hours** — the hours that count as work: the length of the shift, less the part of
  the break beyond half an hour. A shift from 06:00 to 14:00 with an hour's break counts seven and
  a half hours; the same shift with half an hour's break counts eight.
- **Night hours** — the hours that fall between 21:00 and 05:00 ([Night work](#night-work)).
- **Ends the next day** — whether the shift runs past midnight.

Beelocity refuses a shift it could not count:

- one that ends at the time it starts;
- a break of more than an hour, or one as long as the shift itself;
- **more than twelve hours of work.** Ordonnance 97-03 caps a working day at twelve hours, so a
  shift from 18:00 to 06:00 with no break is the longest you can write.

A shift you no longer work is deactivated rather than deleted: press **Deactivate** on its
record. A shift a rota uses cannot be deleted at all, because the rota still says who works it.

<a id="build-a-rota"></a>
## Build a rota

A rota is the cycle your crews repeat: so many days, each a shift or a rest day. Two twelve-hour
shifts followed by two days off is a rota of four days. Three eight-hour shifts over four crews is
often twenty-eight. A six-day week whose rest day moves is seven.

Open **Human Resources › Setup**, choose the **Rotas** tab and press **New**. Give the rota a
**Name** and its **Cycle (days)**, from 1 to 84, and press **Save**. The new rota rests on every day
of its cycle, and the **Days** beside the record list them, one row each.

On each row, pick in the **Shift** column the shift the crews work that day, or leave it on **Rest
day**. The row saves as you pick, and shows the day's **Effective hours** and **Night hours**. The
days follow the cycle: to add one, lengthen the cycle and the new days arrive at the end as rest
days; shorten it and the last days go.

Beelocity refuses a rota nobody could work: **a shift still running when the next day's starts.** A
night from 22:00 to 06:00 followed next morning by a shift at 05:00 is refused, and the message names
both days. A shift that starts the minute the one before it ends is allowed. The last day runs into
the first, as it does on the morning a crew starts the cycle again. The same check runs when you
change a shift's times: a later end that would collide on a rota is refused, naming the rota.

The record's **Weeks** say what the rota asks of the people on it:

- **Average weekly hours** — its hours of work spread evenly over its weeks. The legal week is
  forty hours (ordonnance 97-03, art. 2), and no text lets a cycle average them out, so the hours
  above forty in a week are overtime. The usual four-crew, three-shift rota averages forty-two.
- **Busiest week** — the most hours of work any seven days in a row hold.
- **Full day of rest** — whether every seven days in a row hold one, and if not, which days run
  without.

Neither a week above forty hours nor seven days without a full day of rest is refused: both can be
lawful in a business that never stops. The rota shows them so that you decide knowingly.

<a id="the-weekly-rest"></a>
### The weekly rest

The law gives everybody a whole day of rest a week, normally the Friday (loi 90-11, art. 33). A
business whose activity cannot stop may give it on another day, by rota, or defer it (art. 37).

Beelocity counts a day as a **full day of rest** only when no shift starts on it and none from the
day before is still running. After a night ending at 06:00, the day it ends on is not a whole day
off. So six nights followed by one free day leave no full day of rest at all, and the rota says so:
*No day of the cycle is a full day of rest.* Six mornings followed by the same free day do leave
one.

<a id="set-up-the-crews"></a>
## Set up the crews

A crew is the people who work a rota together and hand over to the next crew: *Crew A*, *the night
crew*. Crews on one rota start its cycle on different days, so that between them every shift is
worked. On a four-week rota of a week of mornings, a week of afternoons, a week of nights and a week
off, four crews starting a week apart cover all three shifts every day, with one crew resting.

Open the rota, choose its **Crews** tab and press **New**. Give the crew a **Name**, and set its
**Start of the cycle**: the day the crew is on day 1 of the rota. It opens on today. Any date works,
past or future, because it only says where in the cycle the crew is; nobody works a day of it until
they are put on the crew. Press **Save**.

The crew's **Next fourteen days** tab shows the fortnight from today as the rota lays it on the
crew: each date, its day of the cycle, and the shift worked or *Rest day*. Nothing there is typed:
change the rota or the start of the cycle and it follows. That is the quickest way to check that
two crews never land on the same shift.

A crew is deactivated rather than deleted once people have been on it, and a rota that crews follow
cannot be deleted at all.

<a id="put-people-on-a-crew"></a>
## Put people on a crew

A person's crews are kept on their own record, because everything that decides whether they may
work a crew's shifts is about them: their employment's dates, their age, their gender and the job
title they hold. Open the person's record, choose the **Crews** tab and press **Add**. Pick the
**Crew** — each is named under its rota, *Rota › Crew* — and the **From** date, and leave **To**
empty while they stay on it. The row saves as you fill it.

From that day the person works the crew's shifts instead of your business's working week: they rest
on the crew's rest days, even on a weekday the office works, and work its shifts, even on a Friday.

A person is on one crew at a time. To move somebody, set the **To** of their current crew to the day
before, then add the next crew from the day after. The other order is refused, because the two
would overlap. The crew's own **Members** tab shows the same rows from the crew's side, and adds
them the same way with the crew already chosen.

Beelocity also refuses:

- a time on a crew before the person's hire date, or starting after the day they left;
- a date inside a month payroll has already closed, because that month's pay was counted on it.

**Once somebody has worked a day on a crew, the plan behind it is fixed.** The shift's times, the
rota's days and length, and the crew's start of the cycle read only from then on, while their names
still change. Changing them would rewrite what was already counted: a leave, an attendance sheet, a
month's pay. A new pattern is a new rota, and the crews' people move to it from a date.

<a id="night-work"></a>
## Night work

The law calls any work between 21:00 and 05:00 *night work* (loi 90-11, art. 27), and leaves what
it is paid to your collective agreement. Each shift shows how many of its hours fall inside that
window: a night from 22:00 to 06:00 holds seven, an afternoon ending at 22:00 holds one, and a
bakery shift starting at 03:00 holds two. The break is not taken off the night hours, because
where it falls inside the shift is not fixed.

On every crew whose shifts hold a night hour, Beelocity applies the two rules the law makes:

- **Nobody under nineteen works at night** (art. 28). A person who turns nineteen on 14 November
  may join a night crew whose first night is the 14th, and not one whose first night is the 13th.
- **No woman works at night** unless the job title she holds that night carries the labour
  inspector's derogation, granted on or before it (art. 29, and
  [Job titles § Night work](departments-and-job-titles.html#night-work)).

The rule is checked whenever something could break it: putting somebody on a crew, changing their
birth date, gender or job title, clearing or postponing a derogation, putting a night shift on a
rota's day, moving a crew's start of the cycle, or **changing one day of somebody's plan** — a night
call-in or another shift at night is refused exactly as a night crew is
([Change the plan](changing-the-plan.html)). The message names the first night that fails,
and the person when you are not on their record. A record with no birth date or no gender is
refused on a night crew too: the personnel register asks for both, and a guess either way would be
the wrong one.

<a id="read-the-roster"></a>
## Read the roster

Open **Human Resources › Roster** to see the month as your crews will work it: a row per person
under each crew, and a column per day. Choose the **Year** and the **Month** above it, and pick a
**Crew** to see only its people.

Each day's box says what the person's plan holds that day:

- the shift's **mark** — `J` for a day, `M` for a morning — on a day they work;
- the mark on a dark ground, with a moon, when the shift is **night work**. It is drawn in the box
  of the day it starts: a night from 19:00 on Sunday to 07:00 on Monday is Sunday's, and the Monday
  is the rest after it;
- **nothing** on the crew's rest day;
- an umbrella where an **approved leave** covers a shift. Hold the pointer over the box to read
  which leave, and which shift it stands in place of;
- a **shaded** box on a public holiday, with the shift still in it when the rota works that day;
- the shift's mark in grey on a rest day the person is **called in** on: the day stays their rest;
- a briefcase on the **ordinary working day** a moved rest leaves an office worker;
- beside any of these, a second mark when the day is a **change of plan**: two arrows turning for
  another shift, a cup for a day off, a telephone for a call-in, two opposite arrows for a swap, two
  people for a cover. The legend under the roster repeats them.

Somebody on no crew appears under **Not on a crew** for the days a change puts them on, such as an
office worker covering a night. Under everybody, a **People needed** row per shift that says how
many people it needs reads, each day it runs, how many are there against that need: `2/3`, marked
when it is short.

After each Friday, a **Week** column adds up the hours of that week's shifts, call-ins and changes
included, Saturday to Friday —
the whole week, even its days in the month before or after. A warning mark beside the total says the
rota asks more hours that week than the person's contract states: a rota of twelve-hour shifts can
plan 48 hours one week and 36 the next. Beelocity shows it and does not refuse it, because the law
allows those hours as overtime, and the month pays the hours worked beyond the contract
([Hours on rest days and above the week](../payroll/shift-pay.html#the-hours-lines)). Leave does
not lower the total, which is what the rota asks.

The roster changes when a shift, a rota, a crew or somebody's time on a crew does, and when one day
of somebody's plan is changed. Whoever may change the plan clicks a day to change it, and a changed
day to open its change ([Change the plan from the roster](changing-the-plan.html#from-the-roster)). Somebody moved to another crew during the month is on both, each row showing that crew's days.
Leave is shown to whoever may read leave requests; anybody else sees the plan alone, and the page
says so. The month prints for the notice board ([Print the roster](changing-the-plan.html#print-the-roster)).

Source: https://docs.beelocity.com/en/hr/shifts-and-rotas/index.mdx
