Back to blocks
BlockBookingFree

Booking / Reservation Form React component

A booking form in one card: service cards, a month calendar with closed days and keyboard navigation, time slots built from your opening hours with booked ones struck out, a guest counter, contact fields, a live summary and a confirmation screen.

About the Booking / Reservation Form component

Booking / Reservation Form puts the whole booking flow in one card: pick a service, a day on the calendar and a free time, add the number of guests and your details, and see a summary before you book. Closed days, past days and days too far ahead are disabled, and time slots already taken are struck out.

Time slots are built from your opening hours, the slot interval and the length of the chosen service, so a 90 minute session never runs past closing. Your onBook promise drives the button; success shows a confirmation with the details and a button to book another time.

When to use it

Use it for salons, studios, clinics, consultants, restaurants or any service that books by the slot.

Connect isBooked to your availability so taken times show as unavailable before people pick them.

Installation

Add the Booking / Reservation Form component to your project with the shadcn CLI. It lands in components/booking-reservation-form.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/booking-reservation-form

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install motion clsx tailwind-merge

Related components

Blog Section
Free
Portfolio Grid Block
Free
Content Section
Free
Integrations Grid
Free
Waitlist Form Block
Free
Logo Cloud / Trusted By
Free