Restaurant Reservation
A restaurant reservation form: a +/- guest count stepper clamped between 1 and 12, native date and time inputs, three selectable seating preference pills (Indoor/Outdoor/Bar), and a special requests textarea. A summary panel on the side reflects the current guest count and seating choice live.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/restaurant-reservation.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/booking/booking6.tsx instead.
Usage
The file also exports booking6Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Booking6, booking6Demo } from "@/components/blocks/booking/booking6"; export default function Page() { return <Booking6 {...booking6Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Reserve a table" | Section heading. |
| restaurantName | string | "The Copper Fig" | Name shown under the heading. |
| defaultGuestCount | number | 2 | Initial guest count, clamped between 1 and 12. |
| defaultSeating | "indoor" | "outdoor" | "bar" | "indoor" | Initially selected seating preference. |
| className | string | none | Extra classes for the outer section element. |
Behavior notes
- The guest count stepper is real useState, clamped between 1 and 12, and the +/- buttons disable at the bounds.
- Seating preference is a real single-select state driving the pill button styling and the summary panel.
- The summary panel's guest count and seating values are derived live from state, not static text.
- The date input, time input, special-requests textarea, and 'Confirm reservation' button are decorative, no data is submitted anywhere.
More Booking Blocks
View all →date-time-picker
Date & Time Picker
Split-panel scheduler: a real monthly calendar on the left, morning/afternoon time slots on the right, and a live booking summary footer.
reservation-summary
Reservation Summary
A static booking confirmation card with service, date/time, provider avatar, price breakdown, promo code field, and cancellation policy.
appointment-list
Appointment List
Upcoming and past appointments grouped by date, with provider avatar, status badge, and reschedule/cancel actions.
service-selector
Service Selector
Category-tabbed grid of bookable services with icon, description, duration, and price.
provider-picker
Provider Picker
A selectable grid of staff/provider cards with rating, reviews, availability, and an Any Provider fallback.
hotel-room-booking
Hotel Room Booking
Selectable room cards with photos and amenities, plus check-in/out dates and a live-computed total.