From f9610c839252727c77174958ae75321f8f2680c9 Mon Sep 17 00:00:00 2001 From: Stephen Adamson Date: Sat, 7 Mar 2026 17:46:15 +0000 Subject: [PATCH] docs: update obsidian deposits section to reflect 24h rule, optional forgiveness, and admin enforcement toggle --- obsidian/Crussell/Crussell Nails.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/obsidian/Crussell/Crussell Nails.md b/obsidian/Crussell/Crussell Nails.md index 36b85c1..0f81472 100644 --- a/obsidian/Crussell/Crussell Nails.md +++ b/obsidian/Crussell/Crussell Nails.md @@ -100,11 +100,15 @@ SM|- [x] **Auto-complete** - Bookings auto-complete when duration elapses - [ ] **Tax data export** - Admin endpoint for tax-software-compatible format #### Deposits System (Simplified) -- [x] `users.deposits_required` INT DEFAULT 3 -- [x] 48h notice required when `deposits_required > 0` +- [x] `users.deposits_required` INT (0-3) tracks outstanding deposit obligations +- [x] **24h late cancellation rule**: < 24h without forgiveness = `no_show` + 3 deposits (resets to 3, not +=), ≥ 24h = normal cancellation +- [x] Optional `forgive_no_show` boolean at cancellation - admin can forgive penalty case-by-case, counts as `client_cancelled` +- [x] Optional `enforce_deposits` boolean in admin booking creation - admin can bypass deposit checks when needed - [x] Reduces by 1 when booking completes with payment -- [x] Increases by 3 on <12h cancellation (bad behavior) -- [ ] Frontend display of deposits_required +- [x] 2+ unforgiven no-shows in 6 months = 3 deposits (blocks new bookings) +- [x] Deleted: `ForgiveNoShowsForUser()` function (now per-cancellation forgiveness) +- [x] Implementation complete in `bookings.go` (24h threshold, forgiveness logic) and `manage.go` (admin deposit enforcement) +- [ ] Frontend display of deposits_required status to users #### CalDAV Contact Sync - [x] Profile photos synced to CardDAV contacts (PHOTO field in vCard)