Configure bookable services, appointment durations, pricing, and required deposits.
Under Services (/services), configure the bookable menu that Operator offers to customers. Stored in the services table:
service_assignments).To protect against no-shows, services support advance deposit requirements:
- depositRequired: Boolean flag requiring upfront token authorization before calendar confirmation.
- depositAmount: Numerical deposit amount (e.g., $50.00).
When a service requires a deposit, Operator generates a checkout order via Stripe or Razorpay and dispatches the link before locking the appointment.
Services support pre- and post-appointment buffer times: - Buffer Before: Preparation or room cleanup time required prior to start. - Buffer After: Sanitization, charting, or rest time required after completion.
The availability service (availability.ts) includes buffer periods when calculating open slots to prevent back-to-back staff burnout.
Create, update, or archive services via src/server/actions/services.ts:
- createServiceAction: Adds a new service with duration and price.
- updateServiceAction: Modifies service parameters or staff assignments.
- archiveServiceAction: Hides the service from customer booking without breaking existing appointment records.