AI Agents
Booking Agent
The most operationally complex specialist — DST-safe availability and two-way Google Calendar sync.
Manual- LangGraph.js
- Google Calendar API
- OAuth 2.0
- PostgreSQL
- Deno
- Automated tests
- 100+
- Live QA scenarios
- 40
Read the steps as a list
- trigger Delegated by orchestrator
- ai Booking agent loop · GPT-5-mini
- integration list_services
- integration check_availability
Pure DST-safe engine: hours (including split shifts and windows crossing midnight) − bookings − live Calendar free/busy.
- condition Slot free?
- action create_booking
Guarded by a database exclusion constraint — two racing agents cannot both win.
- integration Write to Google Calendar · Google Calendar
Generates a Meet link automatically for virtual services.
- action Offer next available
- output Booking confirmed
The problem
Cached availability is wrong the moment a daylight-saving transition happens, or the moment the owner adds something to their own calendar. And two people asking for the same slot at the same time must not both get it.
How it works
Books real appointments against a real calendar. Availability is recomputed from scratch on every request from business hours, buffer time, lead time, the booking window, existing bookings and live Google Calendar free/busy.
The outcome
Nothing is cached — it is recomputed every time, which is the only way to stay correct across a DST change. Double-booking is prevented by a database exclusion constraint rather than application logic, so a collision is physically impossible to commit; the loser gets a clean “someone just took that” retry.