Request a booking
request_bookingRequests an available slot for the signed-in guest using an optionId from a recent availability response, guest name, and guest zone. The guest email comes from the authenticated identity; typed email is ignored. An idempotencyKey identifies this request and prevents duplicate sends when reused on retry. The host approves or declines; nothing is booked before approval. Successful results contain guestTrackingToken for this request. guestHistoryToken is a newly issued link to this guest's requests to the host, or null when no new link was issued. Without confirm: true, the operation changes nothing and returns a read-back with status needs_confirmation. confirm: true executes the same operation after the person has confirmed that read-back. Other statuses include no_match for option_expired or slot_taken, existing_request for an overlapping request, rate_limited, and needs_sign_in. Every result has a status listed in the output schema. temporarily_unavailable indicates a temporary service failure.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"handle": "<handle>",
"optionId": "<optionId>",
"guestName": "<guestName>"
},
"name": "request_booking"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Optional note to the host. | |
| handle | Yes | The host's findtime.io handle, or their findtime.io/b/<handle> link. | |
| invite | No | The invite value from the personal link used for the availability request. | |
| confirm | No | true indicates the person confirmed the read-back returned by the same operation with confirmation omitted. | |
| subject | No | Optional meeting subject. | |
| optionId | Yes | An exact optionId from the most recent availability response. | |
| passcode | No | The page passcode, if the host gave the guest one. | |
| guestName | Yes | The guest's name as the host will see it. | |
| guestZone | No | The guest's IANA time zone, such as America/Los_Angeles. | |
| _endUserId | No | Optional opaque per-call end-user attribution token populated by the MCP host, not the LLM. Accepts a non-PII hash or token, excluding raw email addresses, names, or platform user IDs. | |
| idempotencyKey | No | Unique request identifier. The same value identifies retries of this request. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | ||
| error | No | ||
| reason | No | ||
| status | Yes | ||
| options | No | ||
| request | No | ||
| summary | No | ||
| nextStep | No | ||
| readBack | No | ||
| duplicate | No | ||
| guestHistoryToken | No | ||
| retryAfterSeconds | No | ||
| guestTrackingToken | No |