Set Up the Booking System
Configure resources (rooms, tables, courts, agents) so your AI can actually book โ with conflict prevention.
EmirVoice's booking engine prevents double-bookings at the database level using a Postgres exclusion constraint.
1. Define your resources
Go to Resources in the dashboard. Add what's bookable:
- Hotel room: type
room, capacity 2-6, price per_night - Restaurant table: type
table, capacity 2-12, price per_slot - Padel court: type
court, capacity 4, price per_hour - Agent (real estate): type
agent, capacity 1, price per_session - Coach (sports/fitness): type
coach, capacity 1-4, price per_session
Each resource has metadata (JSON) for context โ view, surface, area.
2. Reminder offsets
Default: 24 hours before for hotel check-ins, 1 hour before for everything else. Configurable per-resource.
3. Test conflict-free booking
Try booking the same court twice via the assistant โ the second one is rejected automatically with "that slot just got taken โ want X?"
4. Waitlist (Wave D autonomy)
When a popular slot fills up, the AI offers waitlist. The moment a cancellation happens, the worker auto-WhatsApp the next waiter โ within 60 seconds.
5. No-show handling
After booking start time + grace period (default 30 min), un-checked-in bookings auto-flip to no_show. The freed slot becomes available โ and the waitlist gets notified.