# Shadcn Bookings blocks

> Appointment, reservation and service-business admin pages for consultants, clinics, salons, hotels, and local services.

- Type: Pro blocks (Solutions)
- Page: https://reui.io/blocks/solutions/bookings
- Blocks: 4
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## When to use

- An appointment front desk: booking KPIs, chair capacity and the day's queue, or one appointment's detail
- An appointment calendar by day or week, filtered by staff and service, with a double booking alert
- A hotel front desk: occupancy and ADR tiles, a room board to reserve, move and resize stays, and arrivals

## When not to use

- An activity feed or change history on its own, with no appointments or clients: use the [Timeline blocks](https://reui.io/blocks/application/timeline.md)
- A team overview of KPI tiles and a work queue for a business that takes no bookings: use the [Dashboard blocks](https://reui.io/blocks/application/dashboard.md)
- A client facing card where someone picks a day and a time slot to book one session: use the [Schedule blocks](https://reui.io/blocks/application/schedule.md)

## Agent notes

- Appointment blocks declare an `AppointmentStatus` union and the room board a `StayStatus` one; they differ in values and casing, so map them before combining
- Nothing reaches a server: each write lands in local state or a sonner `toast`; wire the room board's `onStayChange` and `onBlockChange` to your API
- The root or page.tsx caps the width at `max-w-7xl`, `max-w-6xl` or `max-w-md`, and page.tsx or the root adds padding; drop both inside an app shell

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started), used by 4 of 4 blocks
- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start), used by 2 of 4 blocks
- React DayPicker v9: [API reference](https://daypicker.dev/v9/api), [docs](https://daypicker.dev/v9/start), used by 2 of 4 blocks
- Recharts v3: [API reference](https://recharts.github.io/en-US/api/), [docs](https://recharts.github.io/en-US/guide/getting-started/), used by 1 of 4 blocks
- date-fns v4: [docs](https://date-fns.org/v4.1.0/docs/Getting-Started), used by 1 of 4 blocks

## Blocks

- [Salon Front Desk](https://reui.io/blocks/solutions/bookings/solution-bookings-1.md): Salon front desk with KPI tiles, arrivals, stylist load and booking sheets. Best for a same-day salon desk: KPI tiles, arrivals to check in, stylist load and an appointment grid with booking and detail sheets.
- [Appointment Calendar](https://reui.io/blocks/solutions/bookings/solution-bookings-2.md): Salon Appointment Calendar with Day/Week Views and Double-Book Alerts. Best for a month picker with service color dots beside a day list or 7 column week, a staff filter and a dismissible double booking alert.
- [Appointment Detail](https://reui.io/blocks/solutions/bookings/solution-bookings-3.md): Appointment Detail Sheet with Deposit Payment and Booking Timeline. Best for one booking in an inset right sheet over a 14 row list, with deposit progress, a staff note and no-show or check-in buttons.
- [Room Board](https://reui.io/blocks/solutions/bookings/solution-bookings-4.md): Hotel room board with reservations, drag to move stays and a guest worklist. Best for a front desk that reserves, blocks, drags and resizes stays on a room gantt by floor, between tiles and a day's guest worklist.

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
