Add staff, rooms, or any bookable asset. Each resource has its own booking timeline.
Your agent requests a hold on a time slot. Floyd locks it atomically while details are confirmed.
Every request gets a deterministic response. Success, conflict, or expiry. No ambiguity.
Confirm the booking to finalize, or let the hold expire. Every action is logged for visibility.
Two agents try to book the same slot. One wins, one gets a clear conflict response.
POST /v1/bookings
{
"resourceId": "dr-smith"
"startTime": "2026-01-08T10:00:00Z"
}{ "status": "confirmed" }POST /v1/bookings
{
"resourceId": "dr-smith"
"startTime": "2026-01-08T10:00:00Z"
}{ "error": "conflict_overlap" }No race conditions. No double-booking. The 409 is the feature.
Lock a time slot while your agent negotiates. The hold is atomic and expires if not confirmed.
Database constraints enforce correctness. Works reliably under parallel calls, retries, and high load.
Networks fail. Pass an idempotency key and retried requests return the same result, never duplicates.
Works with Vapi, Retell, Bland, and any tool-calling agent that needs reliable booking.
Create staff, rooms, or equipment as bookable resources. Floyd tracks what is booked and when.
Every request is logged with outcome. Debug conflicts, trace failures, prove correctness.