Open-source booking engine

Give any AI assistant the power to book.

Connect Floyd's MCP Server instead of building REST wrappers. 5 booking tools with signed slot tokens, agent-friendly errors, and explicit user confirmation. Any MCP client discovers them automatically.

TOOL floyd_hold_booking
{
  "slotId": "slot_v1.<payload>.<sig>"
}
 OK
{
  "bookingId": "bkg_mcp_1",
  "status": "hold",
  "expiresAt": "2026-03-01T09:05:00Z"
}
// signed token verified - no raw time manipulation

5 MCP Tools, Zero Wrappers

Standard MCP protocol. Any compatible client discovers booking tools automatically.

Signed Slot Tokens

HMAC-signed slot tokens. Floyd verifies integrity before creating a hold.

Agent-Friendly Errors

Every error includes a recovery hint. The agent adapts automatically.

Key Capabilities

Everything you need to handle real-world booking complexity out of the box.

01

5 MCP Booking Tools

get_available_slots, hold_booking, confirm_booking, cancel_booking, get_booking - a complete booking workflow exposed as standard MCP tools.

02

Signed Slot Tokens

Availability responses include HMAC-SHA256 signed tokens encoding service, resource, and time range. Prevents agents from fabricating or altering slot data.

03

Agent-Friendly Error Mapping

Floyd error codes map to actionable hints: slot_unavailable → 'Try a different time', policy_rejected → 'That date is blocked', hold_expired → 'Create a new hold'.

04

Explicit User Confirmation

confirm_booking requires a userConfirmed flag set to true. Enforces human-in-the-loop - the agent cannot silently finalize a booking.

05

Two-Phase Booking

Same hold → confirm lifecycle as the REST API. Holds expire if the user doesn't confirm. No phantom bookings from abandoned conversations.

06

Works with Engine or Cloud

Point the MCP Server at Floyd Cloud (managed) or your self-hosted Floyd Engine. Same tools, same behavior, your choice of backend.

MCP Booking Flow

3 API calls. Hold, confirm, done.

1
Get Available Slots
TOOL floyd_get_available_slots

{
  "serviceId": "svc_consultation",
  "startTime": "2026-03-01T00:00:00Z",
  "endTime": "2026-03-01T23:59:59Z",
  "durationMinutes": 30
}
{ "slots": [{ "slotId": "slot_v1.<payload>.<sig>", "startTime": "09:00" }] }

Slots include signed tokens for tamper-proof booking.

2
Hold a Slot
TOOL floyd_hold_booking

{
  "slotId": "slot_v1.<payload>.<sig>"
}
{ "bookingId": "bkg_mcp_1", "status": "hold", "expiresAt": "..." }

Signed token verified. Hold created with TTL.

3
Confirm Booking
TOOL floyd_confirm_booking

{
  "bookingId": "bkg_mcp_1",
  "userConfirmed": true
}
{ "bookingId": "bkg_mcp_1", "status": "confirmed" }

Requires explicit user approval.

Holds expire automatically after a TTL. Conflicts are handled at the database level.

Ready to integrate?Ship bookings today

Sign up for Floyd and integrate our REST API to handle bookings in your agent framework.