Booking

Booking is a Date Picker block from Orvain UI, built for React and Vue with a matching Figma frame.

Best for

Scheduling pages: a host, a month of availability and the day's times, one step at a time

Anatomy

Host · 15 / 30 / 45 min length switch and time-zone menu · three-dash step marker · Next free chip · month in a soft panel, bookable days tinted, few-left dots · folds into the picked day with Change · times as pills, three per row · optional note · summary bar that turns brand-tint with Confirm · booked ticket with Reschedule and Add to calendar

MCPConnect the MCP server
Aria ParkProduct strategy · intro call

Step 2 of 3 · Pick a time

Monday, February 95 of 6 times free

Pick a time on Mon 9 Feb

In the Orvain Library

Get Booking for your product

The block’s code in React and Vue, its frame in the Figma file, and the Orvain MCP so your AI tools build with it. Part of every Library plan, alongside every other block.

  • React
  • Vue
  • Figma frame
  • Orvain MCP

About this block

Part of Date Picker

What’s inside

10parts

The pieces it is built from. Keep them all, or drop the ones your product doesn’t need.

  1. Host
  2. 15 / 30 / 45 min length switch and time-zone menu
  3. Three-dash step marker
  4. Next free chip
  5. Month in a soft panelbookable days tinted, few-left dots
  6. Folds into the picked daywith Change
  7. Times as pillsthree per row
  8. Optional note
  9. Summary barthat turns brand-tint with Confirm
  10. Booked ticketwith Reschedule and Add to calendar

Responsive behaviour

440 px

Drawn at this width and never stretched past it. Below it, controls, text and spacing step down from the box the block sits in, not the window.

1440pxDesktop · 12 columns

When to use it

Where Date Picker earns its place

Reach for Date Picker

  • A form field whose value is a calendar day and the reader knows roughly which one.
  • A report filter where the common answers are spans: last week, this month, last quarter.
  • Booking, where availability differs day by day and the grid has to show which days still have room.
  • A field where the neighbouring days carry information: days already committed, days blacked out.

Reach for something else

  • A date of birth or anything decades away. Paging back hundreds of months is punishment; use a typed field with a forgiving parser, or year and month selects.
  • An operator entering dates all day, faster than they can click. Keep the typed input primary and hang the calendar off it as an optional popover.
  • A time of day or a duration. A day grid has nowhere to put 09:30. That is a time picker's job.

Accessibility

06to keep

What the block ships with. Hold on to these as you make it yours.

  • Named controlsEvery icon-only button keeps a text label, so a screen reader can say what it does.
  • Keyboard firstEvery control is reachable with Tab, and its focus ring stays visible.
  • More than colourA state never rides on colour alone; a mark or a word goes with it.
  • Contrast holdsRetheme freely, but keep text at or above the contrast it ships with.
  • Calm motionFor visitors who ask for reduced motion, things simply appear.
  • Room to hitTargets stay at least 24px, with space between neighbours.

Notes for AI

1 line

Is all your assistant needs. With the Orvain MCP connected, it builds the block from your own tokens and components.

Add the Orvain “Booking” block to this page: host, 15 / 30 / 45 min length switch and time-zone menu, three-dash step marker, Next free chip, month in a soft panel, bookable days tinted, few-left dots, folds into the picked day with Change, times as pills, three per row, optional note, summary bar that turns brand-tint with Confirm, booked ticket with Reschedule and Add to calendar.

Works in
Connect the MCP

Questions about Booking.

What is the Booking block?

Booking is a Date Picker block from Orvain UI, built for React and Vue with a matching Figma frame. Best for scheduling pages: a host, a month of availability and the day's times, one step at a time.

What is the Booking block made of?

Is the Booking block responsive?

Is the Booking block accessible?

How do I add the Booking block to my project?

When should I not use a Date Picker block?

More Date Picker blocks

All Date Picker

Week schedule

A day's plan under a week strip: dashboards, team pages, anything that opens on today

Day planner

A to-do list for the day under a week strip: habit trackers, personal dashboards, daily plans

Event date

Picking a date in a form while seeing what that day already holds, drawn to scale

Date picker

The picker on its own, with quick picks for the usual days: a popover for a field, a filter, a form step

Range picker

Reports and filters: presets for the common spans, two months for everything else

The Orvain Dispatch

Premium components, free in your inbox.

Join the Orvain Dispatch and get production-ready components, free to keep: React and Vue code plus the Figma frame, yours to ship.

Just components, never spam. You can unsubscribe anytime.