Appointment service editor — visibility, deposits, technicians, catalog
Appointment venues can activate services, set Public vs POS-only, configure deposits, assign technicians with duration/price, and organize categories, collections, and tags — without Nailtech-only special cases.
# Appointment service editor S-1…S-6 (2026-09-17) Platform-wide appointment-venue service editor for `organizations.booking_mode === 'appointments'` (and mixed venues keeping class chrome). Nailtech is the proof salon, not a slug special-case. ## What landed - **S-1** — Single-service Activate/Deactivate via `setServiceActive` + shop visibility (`everyone` / `members_only` / `restricted` / `hidden`). Distinct from `is_online_available` (remote delivery). Soft-archive `deleteService` remains. - **S-2** — Deposit admin: fixed vs %, `deposit_collection` (always / online_only / client_choice / inherit venue), refundable, allow full payment. Pure resolver in `service-deposit-policy.pure.ts`; money still uses existing catalog/appointment engines. - **S-3** — Technicians card: primary, custom duration/price, include/exclude (`is_active`), weekly hours summary from `provider_schedules`, jump to working-hours settings. No share-hours build. - **S-4** — Shorter cards + `?` guides; editor modules stay under 1000 lines. - **S-5** — Bulk bar: Activate / Deactivate / Set category primary; other ops under More. - **S-6** — Schema + admin UI for collections (marketing albums) and tags (filter facets); categories remain `service_categories`. ## Migration `20261020000136_service_editor_visibility_deposits_catalog.sql` — additive columns + collections/tags tables. Apply via Staging Deploy → attested Production Migrations (never MCP `apply_migration` on repo files). ## Out of scope Widget consumption (Session 2), marketing products, share-hours, PoS gift/rollover, class-chrome hiding, kill-switch flips.
Appointment-only venues hide leftover class labels
With Venue-type class chrome on, appointment-only venues no longer show leftover class wording on flash sales, campaigns, flows, email templates, or collaboration pay. Class and mixed studios stay as they are. Courses on Nailtech stay visible. Turning the switch does not email clients.