Booking Detail

Detailed view of a single booking

SaaSBooking

Overview

BookingDetail displays comprehensive booking information including title, status, date/time, location, organizer, attendees with RSVP statuses, and recurrence details. It supports contextual action buttons based on booking state.

Usage

import { BookingDetail } from "@leanicon/web-builder-library/saas";

<BookingDetail
  booking={{
    id: "1",
    title: "Weekly Team Standup",
    description: "Regular weekly sync meeting.",
    status: "confirmed",
    startTime: new Date().toISOString(),
    endTime: new Date(Date.now() + 3600000).toISOString(),
    timezone: "America/New_York",
    resourceId: "room-1",
    resourceName: "Conference Room A",
    organizer: {
      userId: "1",
      name: "John Doe",
      email: "[email protected]",
      rsvpStatus: "accepted",
      isOrganizer: true,
    },
    attendees: [
      { userId: "2", name: "Jane Smith", email: "[email protected]", rsvpStatus: "accepted" },
    ],
    isRecurring: false,
    createdAt: new Date().toISOString(),
    updatedAt: new Date().toISOString(),
  }}
  showActions
  availableActions={["cancel", "reschedule"]}
  onCancel={(reason) => console.log("Cancel:", reason)}
  onReschedule={(start, end) => console.log("Reschedule:", start, end)}
/>;

Variants

Default (Confirmed)

Weekly Team Standup

Confirmed

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Description

Regular weekly sync meeting to discuss progress and blockers.

Organizer

Attendees (2)

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Default (Dark)

Weekly Team Standup

Confirmed

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Description

Regular weekly sync meeting to discuss progress and blockers.

Organizer

Attendees (2)

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Pending Status

Client Meeting

Pending

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Organizer

Attendees (1)

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Completed

Sprint Review

Completed

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Organizer

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Cancelled

Cancelled Meeting

Cancelled

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Organizer

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Recurring Booking

Weekly Standup

Confirmed
Recurring booking

Date & Time

Friday, October 2, 2026
10:23 PM - 10:53 PMEDT

Resource

Conference Room A

Organizer

Attendees (1)

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Loading

With Error

Team Standup

Confirmed
Failed to load booking details. Please try again.

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Organizer

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Read Only

Team Standup

Confirmed

Date & Time

Friday, October 2, 2026
10:23 PM - 11:23 PMEDT

Resource

Conference Room A

Organizer

Attendees (1)

Created: Oct 2, 2026 10:23 PM

Last updated: Oct 2, 2026 10:23 PM

Props

NameTypeDefaultRequiredDescription
bookingBookingData—YesFull booking data
loadingbooleanfalseNoWhether component is in loading state
errorstring—NoError message to display
showActionsbooleantrueNoWhether to show action buttons
availableActionsBookingAction[][]NoWhich actions are available based on booking state
classNamestring—NoCustom class name
onConfirm(() => void | Promise<void>)—NoAction callbacks
onCancel((reason?: string) => void | Promise<void>)—No
onReschedule((newStartTime: string, newEndTime: string) => void | Promise<void>)—No
onComplete(() => void | Promise<void>)—No
onMarkNoShow(() => void | Promise<void>)—No
onDelete(() => void | Promise<void>)—No
onEdit(() => void)—No
onClose(() => void)—No