diff --git a/CHANGELOG.md b/CHANGELOG.md index 6418eb7..b676ce6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,31 @@ fine and still supported. --- +## v1.11.0 — June 15, 2026 + +**Holiday coverage and last-minute pickups.** Two related additions: + +- **Holidays now have their own day shift.** An admin can schedule a holiday for + any date with `/oncall admin holiday add` — a single daytime shift (8am-5pm ET) + that can have more than one person on it. The bot shows the holiday in the + schedule with a button to grab an open slot, and holiday slots can be set to + pay a higher rate (1.5x by default). On the holiday itself the after-hours + phones automatically route to whoever claimed a slot, from 8am to 5pm, and + switch back to normal at 5pm — no one has to touch the phone system. If a + holiday goes by with nobody signed up, calls fall back to the default + extension. Admins can also list upcoming holidays and remove one they no longer + need. Holidays take priority over both regular overrides and the standing + weekly schedule for that date. +- **Picking up a shift after it has already started now needs an admin to say + yes.** Before, you could only pick up a shift that hadn't started. Now, if a + shift is already underway (8am for a day/holiday shift, 5pm for a night shift) + but hasn't ended yet, asking to pick it up sends every admin an Approve/Deny + message — the same way swaps are confirmed. The first admin to approve wins, + and once approved the shift is handed over and the phones are repointed right + away. Picking up a shift that hasn't started yet still happens instantly, and + a shift that has already ended can't be picked up at all. This applies to both + regular and holiday shifts. + ## v1.10.1 — June 15, 2026 **Payroll summary emails are sending again.** The automated weekly pay summary diff --git a/README.md b/README.md index 5bbf386..e789c92 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ The bot also has an **About** page: open the bot in Slack and click its **Home** |---|---| | `/oncall` | Show this week's schedule | | `/oncall next` | Show next week's schedule | -| `/oncall pick ` | Pick up an available shift | +| `/oncall pick ` | Pick up an available shift — instant if the shift hasn't started; if it's already underway (but not ended) it needs admin approval (see [Late-pickup approval](#late-pickup-approval)) | | `/oncall drop ` | Drop your shift (marks it available) — blocked within 24h of shift start; swap or ask an admin instead | | `/oncall swap @person` | Request a swap — the other person gets an Accept/Decline DM and the shift only moves once they accept | | `/oncall register ` | Link your Slack account to your phone extension | @@ -44,9 +44,16 @@ Available to users listed in `admin_users` in the CONFIG record: | `/oncall admin roster add ` | Add an employee to the roster | | `/oncall admin roster remove ` | Remove an employee | | `/oncall admin roster rename ` | Rename an employee | +| `/oncall admin holiday add [x]