Service catalog
/dashboard/calendar-services — one row per service the client offers.
Fields
- Name — display name (e.g. “Haircut”, “Dental check-up”, “Table for 4”)
- Description — optional, shown on the hosted page + booking emails
- Duration — minutes (5 – 1440). Drives slot generation.
- Buffer — minutes between back-to-back bookings (cleaning / turnover time). Counts towards effective slot length when computing availability.
- Capacity — concurrent customers per slot. Phase 1 ships with capacity = 1; Phase 2 enables group bookings (yoga class, restaurant table for N).
- Price — minor units (paise / cents) + currency
- Colour — hex chip + Google Calendar event colour hint
- Display order — render order in catalog list
Soft-delete only
Archiving a service sets is_active = false. Past bookings’ service_id references
stay intact — we never hard-delete a service that’s been used. Toggle Show
archived in the catalog UI to see hidden services + reactivate via Edit.
Share / embed per service
Each row has two share buttons:
- Share link — copies
[origin]/book/[agency]/[client]/[service]to the clipboard. Customer pastes, picks a slot, books. - Copy embed — copies a
[script]snippet for the embed widget.
Last updated on