# Itinerary Builder block

> Travel Itinerary Builder with Day Tabs, Reorderable Stops, Timing Checks and Stop Margins

Admin itinerary editor for one booked package: day tabs over a stop timeline, drag stops into new slots, timing checks with one-click fixes, margin by stop and day against target and a stepped traveler preview. ReUI Sortable, Stepper, Frame.

- Type: Pro block
- Category: [Travel](https://reui.io/blocks/solutions/travel.md)
- Page: https://reui.io/blocks/solutions/travel/solution-travel-2
- MCP: `get_block("solution-travel-2")`
- Built with: Alert, Alert Dialog, Avatar, Badge, Button, Dropdown Menu, Empty, Field, Frame, Icon Stack, Icon Tile, Input, Input Group, Progress, Select, Sheet, Skeleton, Sortable, Stepper, Tabs
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## Best for

One booked package itinerary: day tabs over a stop timeline, timing checks with one-click fixes and a stepped traveler preview

## Agent notes

- Replace the Larkspur world in data.ts (`PACKAGE`, `DAYS`, `SUPPLIERS`, `STOPS`); `isOwnBooking` keeps the travelers' flights out of every total
- `findConflicts` in selectors.ts derives every conflict during render; `timingIssue` checks a draft and returns the `fix` slot that Fix and Fix All apply
- `ItineraryBuilder` holds stops and publish state; wire `onStopChange`, `onDayReorder`, `onPublishChange` and `onChaseSuppliers` (`ItineraryBuilderProps`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)
- dnd kit v6: [API reference](https://dndkit.com/legacy/api-documentation/context-provider/dnd-context/), [docs](https://dndkit.com/legacy/introduction/getting-started/), through ReUI Sortable (these are the Legacy docs; dndkit.com's default docs cover the newer @dnd-kit/react, a different API)

## Install

```bash
npx shadcn@latest add @reui/solution-travel-2
```

## About Travel blocks

### When to use

- A travel operator's home page: order KPIs, recent package orders, upcoming events and the team's tasks
- One booked package's itinerary day by day: reorderable stops, timing checks and margin by stop and day

### When not to use

- Appointments booked by time slot and staff member, or hotel stays on a room board: use the [Bookings blocks](https://reui.io/blocks/solutions/bookings.md)
- Stock, warehouse and shipping fulfillment for physical goods: use the [Inventory blocks](https://reui.io/blocks/solutions/inventory.md)

### Agent notes

- Each block keeps the Larkspur demo world in its own data.ts with `REFERENCE_DATE` as the frozen today; swap the records, keep the rules

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.
