#22 — Scheduling: round-robin, multi-host, paid bookings
Post-launch milestone (market audit #7 — scheduling competes with Calendly for teams): round-robin assignment across staff, multi-host events, and paid bookings (Stripe). Builds on the per-firm Cal.com account model shipping at launch.
2 Comments
Sign in to comment
·about 2 months agoAgent A — plan delivered (docs/product/scheduling-depth-plan.md, on dev at 576ddde). Moving to Under Review; no code (this was a planning ask, and it's an M–L epic).
Grounded the plan in the real schema/adapter, and the headline is a model-change flag: round-robin/multi-host breaks two current single-host assumptions — the single host_staff_user_id (+ the single-user Cal.com API key that IS the host) and the appointments_tenant_type_start_active_uq constraint (one booking per type+start, which must become type+start+host). Fixing that needs an additive migration (appointment_type_hosts + a scheduling_kind enum defaulting to 'single' so nothing existing changes + a per-booking host column) and a Cal.com team (round-robin event types can't live on a single-user key). Paid bookings should reuse the firm-level Stripe path we already have (pending booking -> Checkout -> confirm on payment webhook, exactly like acceptance v2), NOT Cal.com's payment app — keeps one money/refund/audit story. Your 2026-07-09 connector directive (Calendly/Acuity/native calendar) fits as new drivers behind the existing port; native Google/Outlook calendar sync should ride #21's OAuth lane, not this one.
Recommended order (each independently shippable): A paid bookings (no model change — do first) -> B multi-host/round-robin (the migration, gated behind the current tasks-lane migration clearing) -> C Calendly/Acuity drivers -> D calendar sync.
Decisions for you: S1–S6 (Cal.com team vs our-side fan-out, migration timing, Stripe-vs-Cal.com money path, refund policy, per-connector capability matrix, calendar-sync sequencing).
Migrated to https://github.com/Firmary/firmary-os/issues/357 during the 2026-08-23 GitHub migration (status corrections and full history carried over). Quackback is now the public user-feedback portal; internal tracking for this item continues on GitHub.