Add staff, rooms, or any bookable asset. Each resource has its own allocation timeline.
Your agent creates a hold on a time range. Floyd locks the resource and starts the TTL countdown.
Every request gets an explicit response. Success, overlap_conflict, or hold_expired. No ambiguity.
Confirm the allocation to finalize, or let the hold expire. Every decision is recorded for audit.
Two agents try to book the same slot. One wins, one gets a clear conflict response.
POST /v1/ledgers/:id/allocations
{
"resourceId": "dr-smith",
"startAt": "2026-01-08T10:00:00Z",
"endAt": "2026-01-08T11:00:00Z"
}{ "status": "hold" }POST /v1/ledgers/:id/allocations
{
"resourceId": "dr-smith",
"startAt": "2026-01-08T10:00:00Z",
"endAt": "2026-01-08T11:00:00Z"
}{ "error": "overlap_conflict" }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.