# 2.8 Staff working hours (per store)

Sets which hours each member works — useful when they differ from the store's.

**Example:** the store is open **09:00–22:00**, but Ann only works **09:00–14:00**. Without a custom
schedule the system would offer Ann's slots all day; with it, only 09:00–14:00.

1. In the staff edit page, turn on **"Use custom schedule"**.
2. **Each assigned store** gets a **7-day grid**. For each day mark **Working** and set the ranges
   (multiple per day supported, e.g. morning + afternoon).
3. Save.

**Important rules:**

- A member's available slots are the **intersection** of the store hours with their schedule. If you
  set hours **wider** than the store's, only the hours where **both** overlap count.
- Anyone assigned to **2 or more stores is required** to use a custom schedule (they must state the
  hours in each store). The toggle is **on and locked**.
- In the **day agenda**, the hours when the member **isn't at the store** are **shaded** in their
  column; dragging a booking into those hours is **rejected**.
- In **manual create/edit**, booking outside the member's hours shows an **alert** and **blocks** the
  save.

> 📸 **`02-staff-schedule.png`** — "Use custom schedule" on, with a 7-day grid per store.
![Staff schedule](images/02-staff-schedule.png)

> 📸 **`02-agenda-block.png`** — A staff member's column in the day agenda with off-hours shaded.
![Agenda block](images/02-agenda-block.png)

---