Booking Flow
Date, time, and resource selection flows for appointments, reservations, and service bookings. Design for minimal friction and clear confirmation.
What is it?
A booking flow is the sequence of screens and interactions through which a user selects a date, time, and/or resource for a service — a restaurant reservation, hotel room, appointment, event ticket, or meeting slot. The flow must surface availability clearly, handle selection smoothly, and confirm the booking unambiguously.
Why it matters
Booking flows have a specific failure mode: users who encounter friction at any step (unclear availability, multi-step date selection, confusing confirmation) will call instead or go to a competitor. Every redirect to a third-party booking site loses 30%+ of bookings (OpenTable data). The booking moment is the highest-intent moment in hospitality and service UX.
Best Practices
- Show availability inline on the date selector — don't make users select a date, then discover it's unavailable.
- Calendar UI: highlight available dates, grey out unavailable ones, mark "fully booked" dates distinctly.
- Time slots: display as a grid or list, not a dropdown — easier to scan.
- Party size selector before date/time — availability depends on party size in many contexts.
- Embed the booking widget on the homepage or primary page — every redirect loses users.
- Show confirmation inline: "Your booking for Saturday June 14 at 7pm for 2 guests is confirmed."
- Email confirmation with add-to-calendar link (Google Calendar, Apple Calendar, Outlook).
- Allow rescheduling and cancellation via email link — reduces support load.
- For appointment booking, show provider bio and photo — trust matters for personal services.
- Integrate with Google Calendar for real-time availability in service businesses.
Common Mistakes
- Date selection before availability information — users pick a date, then discover it's fully booked.
- Calendar with no visual distinction between available and unavailable dates.
- Time slot dropdowns — grid layout is significantly more scannable.
- No embedded booking — redirect to a third-party site (loses 30%+ of bookings).
- No rescheduling or cancellation from the confirmation email.
- No add-to-calendar link in confirmation.
- Requiring account creation before allowing booking.
Checklist
Research & Theory
OpenTable Data on Direct Booking
OpenTable data shows that every redirect step between intent and booking completion reduces conversion by 25–35%. Embedded booking widgets dramatically outperform click-to-third-party flows.
Why it's relevant
Embed the booking experience. Never redirect users to a separate booking site if you can avoid it.
Real-World Examples
Calendly
Timezone-aware, self-serve appointment booking. Availability calendar is clear and visual. Confirmation screen with add-to-calendar. Rescheduling from email. The benchmark for appointment booking.
OpenTable
Party size → date → time. Availability shown before date selection. Instant confirmation. Pre-filled with returning user details. Calendar integration.
Airbnb
Interactive calendar with price variation by date. Real-time availability. Confirmation within the product. Pre-filled user details. Instant Book vs. Request to Book clearly distinguished.