Manage appointments, availability, deposits, reminders, Stripe payments, intake forms, and CRM follow-up from one connected booking system.
Service-defined duration, buffer windows, attendee caps, deposit-or-pay-in-full Stripe checkout, and per-tenant timezone — all wired into the same workspace as the CRM and the marketing automations.
Each BookingServices row carries duration, before-and-after buffer minutes, max attendees, price, deposit amount, and a cancellation policy with deadline hours.
Weekly hours per day with multiple time slots, plus dated overrides for holidays and one-off blocks. Each schedule has its own timezone — defaults to America/New_York.
Optional `requiresPayment` flag on the service triggers Stripe checkout at booking time — full price or just the deposit. Payment status, intent ID, and paid timestamp all stored on the booking.
Bookings live in five states: Pending, Confirmed, Canceled, Completed, No Show. Cancellations record the reason and the canceled-at timestamp.
Per-service `maxAttendees` lets the same slot accept multiple bookings — so classes, tours, and group calls are first-class, not a workaround.
Each booking carries a reminder-sent flag and a free-text admin notes field. Reminders fire on the same workflow runner that powers the rest of the automation graph.
Customer picks a slot. Evara reserves the time, charges the deposit through Stripe, writes the booking, fires the `booking-confirmed` workflow trigger, opens or updates the CRM contact, logs a Booking activity, and queues the reminder — all without leaving the workspace or paying a separate scheduling tool.
The configurable cancellation deadline (hours before the slot) is checked at cancel time — refund logic, deposit retention, and customer messaging live in the same record.
The booking widget is a builder element — drop it on any page, theme it with the same site tokens, and target a specific service or category.