Booking for Convex
Add appointments, room bookings or equipment reservations to a Convex app.
@mrfinch/booking stores bookings and availability in an isolated Convex component.
Use the included React Booker, or build your own interface against its API.
What you get
- Availability from weekly schedules, date overrides and resource timezones.
- Single-resource bookings and bundles with quantity-based equipment pools.
- Booking confirmation, cancellation and rescheduling, including management links.
- A React calendar, duration picker, booking form and live presence indicators.
- Optional email notifications through Resend.
Your application decides who can book or administer each resource and which booking policies apply. The component checks and updates inventory atomically.
Three concepts
| Concept | Example |
|---|---|
| Resource — what is being booked | A meeting room, a person, or a pool of ten cameras |
| Schedule — when it is available | Monday to Friday, 09:00–17:00 in Europe/Berlin |
| Event type — how it can be booked | A 30-minute meeting linked to that room |
A resource must be linked to an event type before it can be booked. The concepts guide explains durations, quantities and timezones.
Start here
Follow the Quick Start to install the component and render a working booking page. You need a Convex app, Convex 1.46 or newer, and React if you use the included UI.
Prefer to explore first? Try the demo or run it locally. The hosted demo is a shared sandbox that resets every hour.
For custom integrations, see the backend API, React components and authorization guide.