SCHEDULING DOCUMENTATION
Calendar Booking & Concurrency Locks
How Crescelo books appointments inside the chat conversation, syncs with external calendars, and prevents race-condition double-bookings.
1. How Live Slot Verification Works
When a website visitor asks to book, Crescelo fetches active appointments from the database for that assistant and calculates available times against your configured opening hours (e.g. 9:00 AM – 5:00 PM) and default slot duration (e.g. 30 minutes).
2. The Atomic Mutex Concurrency Lock
If two visitors click the same 2:00 PM slot simultaneously, traditional bots often double-book both users. Crescelo uses acquireBookingLock(assistantId, date, timeSlot). The first request acquires a lock, verifies that no conflict was written in the interim, commits the booking, and safely releases the lock. The second user receives an immediate prompt offering the next nearest available slot.
3. Confirmations and your calendar feed
Once an appointment is committed:
- • A confirmation email with a self-service reschedule and cancel link is sent to the client.
- • The business owner is notified by email and in the dashboard.
- • The booking appears in your private calendar feed. Subscribe to its address in Google Calendar, Outlook or Apple Calendar to see bookings there. The feed is read-only; two-way sync is on the roadmap.
4. Self-Service Rescheduling & Cancellation
Every confirmation email includes a unique cryptographic manageToken. Clients can cancel or pick a new date/time on their own without calling your office, immediately freeing up the canceled slot for other visitors.