## Overview

Some services are not sold by the hour, they are sold by the **shift**. An upholstery-cleaning crew
that arrives at 10:30 is not free again at 11:30: they take the whole morning. The customer still
needs to pick an **arrival time**, but the rest of that shift has to leave the calendar the moment
they book.

That is what the **"The whole shift"** option does. It lives on the event type, under **What one
booking takes off the calendar**:

- **Only the chosen time** (default): the appointment plus its buffers. This is how Agenda has always
  worked, and nothing changes for event types that already exist.
- **The whole shift**: booking any time reserves the **entire availability range** it falls in. Book
  10:30 inside 08:00–12:00 and the whole morning disappears from the public page — only the afternoon
  shift stays for sale.

> **The shift IS the availability range.** There is no separate "shift" field: Agenda uses the ranges
> you already configure under **Availability**. A day with two shifts is a day with **two ranges
> separated by a gap**.

## Prerequisites

- **Agenda** module enabled and an **event type** created.
- The day's **availability** split into separate ranges — that is what defines the shifts.
- A role allowed to edit event types.

## Step by step

1. Open **Availability** (on the calendar or on the event type itself) and split each day into the
   shifts you work. The classic shape:
   - `08:00 – 12:00` (morning)
   - `14:00 – 18:00` (afternoon)
   Use **Add time range** to create the second one. **Leave a gap between them.**
2. Save the availability.
3. Open the **event type** and, under **What one booking takes off the calendar**, choose **The whole
   shift**.
4. Set the **duration** to the real length of the service (that is what the customer sees, and what
   reaches Google and the .ics file) and the **slot interval** to how often you want to offer
   arrivals: every 30 minutes, every hour…
5. Save and test on the public page: pick a morning time and confirm the whole morning is gone, with
   only the afternoon left.

## Settings & options

- **What one booking takes off the calendar**: *Only the chosen time* or *The whole shift*.
- **Duration**: the real length of the service. It does not have to match the shift — the customer
  sees this duration, and it is what lands on their calendar.
- **Slot interval** (under **Agenda settings → Scheduling defaults**): how often arrivals are offered
  inside the shift.
- **Buffers**: with shift occupancy they protect the **edges of the shift** — the buffer before pushes
  its start, the buffer after extends its end.
- **Availability**: each day's ranges. **They are what define the shifts.**

## Use cases

- Upholstery cleaning: arrival between 08:00 and 10:00, but the crew stays all morning.
- Removals and freight: one job per shift, two a day.
- On-site technical installation: the customer picks "morning" and the technician sets the route order.
- Renting a space by period: morning, afternoon, or both.

## Tips, limits & best practices

- **Leave a gap between shifts.** Two ranges that touch (12:00–14:00 right after 08:00–12:00) are
  merged into **one** 08:00–14:00 range, and then a booking takes both. The lunch break is not just a
  pause: it is what separates one shift from the next.
- **A shift that runs past midnight works.** A range cannot cross midnight, so a 22:00–02:00 shift is
  written across two days: Monday `22:00–24:00` and Tuesday `00:00–02:00`. Because they touch at
  midnight they count as **one shift** — a 23:00 booking takes the small hours with it, and a customer
  can pick a start whose appointment ends after midnight.
- **A day with a single range is one shift.** If the day is only `08:00–18:00`, one booking takes the
  whole day. That may be exactly what you want (one job a day) — it just has to be deliberate.
- Any appointment inside the shift kills it, not only bookings from the public page: an event created
  directly in the agenda or imported from Google at 09:00 also takes the morning off sale.
- **Rescheduling inside the same shift is allowed** — the shift is already the customer's, so moving
  from 10:30 to 11:00 works normally.
- On the dashboard grid the booking shows at its real time, with the reserved shift drawn as a **faded
  band behind it**. It is not a second appointment: it is the same booking, rendered.
- **On Google:** the technician gets the appointment at its real time (10:30–11:30), not the whole
  shift. The shift reservation lives in Conversa Labs Agenda — anyone booking straight into Google
  needs to check Agenda too.

## Troubleshooting

- **I booked one time and the whole day disappeared**: the day probably has a single range, or two
  ranges that touch. Open Availability and separate the shifts with a gap.
- **The afternoon went away with the morning**: the two ranges are back to back (e.g. 08:00–12:00 and
  12:00–18:00) and were merged. Leave a real gap between them.
- **The page offers no times at all**: the duration may be longer than the shift. A 4-hour service
  does not fit in a 3-hour range.
- **Only one time per shift shows up**: raise the **slot interval** — it is what decides how many
  arrivals are offered inside the shift.
- **The customer says their appointment is wrong on their calendar**: it is not. Their invite is the
  real time they picked; the whole-shift reservation is internal, which is why it is not in the invite.

## See also

- [Event types, availability and buffers](/hc/ajuda/articles/calendar-scheduling-tipos-de-evento-disponibilidade-buffers-en)
- [Account scheduling defaults and inheritance](/hc/ajuda/articles/calendar-scheduling-padroes-de-agendamento-da-conta-en)
- [Cascading availability: account, calendar and event type](/hc/ajuda/articles/calendar-scheduling-disponibilidade-em-cascata-en)
- [Prevent overlapping appointments](/hc/ajuda/articles/calendar-scheduling-impedir-compromissos-sobrepostos-en)