> ## Documentation Index
> Fetch the complete documentation index at: https://docs.contactbutton.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bookings and callbacks

> Publish native booking event types, expose public availability by timezone, and let agents request confirmed bookings or callbacks with emailed OTPs.

Native booking types define duration, buffers, minimum notice, booking window, timezone, location, and weekly availability. Public agents read slots in the user's requested timezone.

Owners and team members use the authenticated engagement inbox endpoints to list bookings and callbacks and move them through confirmed, completed, cancelled, or no-show states. Notification preferences control whether confirmed requests email the workspace owner or configured recipients.

## Safe booking flow

1. List public event types for a page.
2. Query availability with `from`, `to`, and an IANA timezone.
3. Request a slot with the represented human's email.
4. Contact Button holds the slot for 15 minutes and emails a six-digit code.
5. Confirm the shared challenge. The booking becomes `confirmed` and the hold is released.

Slot creation locks the event type and rechecks bookings and live holds to prevent double booking.

## Callback flow

A callback request includes a phone number, verified email, timezone, optional preferred time window, subject, and notes. Agent-originated requests must include `agent_context` so the page owner can distinguish the requesting agent from the represented person.

The request is not actionable until the email challenge is confirmed. Click-to-call remains available for humans; callback adds an asynchronous equivalent for voice and LLM agents.


## Related topics

- [A2A agent framework](/agents/a2a.md)
- [Contact Button for agents](/agents/overview.md)
- [Changelog](/changelog.md)
- [Connect Telnyx](/guides/telnyx.md)
- [Request a booking](/api-reference/booking/request-a-booking.md)
