# Time Range Picker block

> Session time picker card with start and end Selects, quick-duration presets and live duration

Booking card to pick a meeting or work-session time: ReUI Frame with Avatar header, Select start and end menus, quick-duration preset Buttons, Tooltip and live duration, Cancel and Apply. Schedule, time-slot, duration picker.

- Type: Pro block
- Category: [Schedule](https://web.dev.reui.io/blocks/application/schedule.md)
- Page: https://web.dev.reui.io/blocks/application/schedule/schedule-2
- MCP: `get_block("schedule-2")`
- Built with: Avatar, Button, Dropdown Menu, Frame, Label, Select, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

A time range with no date: start and end Selects in 15 minute steps, 10 duration presets up to 8 hours and a live total

## Agent notes

- `handleApply` only sets `confirmed` and never rejects an end before the start; add your save call and a range check there
- The Alex Johnson header and the two `DropdownMenuItem` entries have no data source or handler; replace them with your host and actions
- `QUICK_DURATIONS` presets set only the end time from the start and snap it to 15 minutes, matching the `TIME_OPTIONS` grid

## When not to use

- The time range has to open in a modal over the page, not sit in a card: use [Duration Picker](https://web.dev.reui.io/blocks/application/dialog/dialog-1.md) (`get_block("dialog-1")`)
- The slot also needs a day picked from a month calendar: use [Session Booking](https://web.dev.reui.io/blocks/application/schedule/schedule-9.md) (`get_block("schedule-9")`)

## Install

```bash
npx shadcn@latest add @reui/schedule-2
```

## About Schedule blocks

### When to use

- Booking a session or setting up a meeting: a day, a time slot, a duration and a confirm step
- A month view card with the picked day's events and attendees, or a team's attendance counts
- Creating a scheduled event with members and files, or an event's detail card with an RSVP

### When not to use

- A full page week or month grid where people drag, resize and create events: use the [Event Calendar blocks](https://web.dev.reui.io/blocks/application/event-calendar.md)
- A plain day or range field in a form, with no slots, agenda or booking card: use [Calendar](https://web.dev.reui.io/components/calendar.md) (`get_component("calendar")`)
- A drop zone for attachments on its own, with no booking or meeting fields: use [File Upload](https://web.dev.reui.io/components/file-upload.md) (`get_component("file-upload")`)

### Agent notes

- `Schedule` takes no props and saves or sends nothing; add a callback to hand the picked day, time or form values to your app
- Each `Schedule` caps its width with a max-w class on its root `Frame`, and page.tsx centers it with p-10 md:p-20; drop both inside your layout

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