Skip to main content

BookingsTable

Implemented

Producer bookings list — 7 columns (buyer+email stacked, event, venue, date, tickets, total, status pill). Composes the DataTable organism with a BookingRow column config (Wave-3 L8c). Five semantic-tint status pills (confirmed / pending / cancelled / refunded / checked-in). Bilingual via the `locale` prop (default `"fr"`). Caption is screen-reader-only by default. i18n: organism owns zero message-catalog keys — inline bilingual literals (Wave-3 W4 / VenueAccessMap / ActivityList precedent); caller-localize `rows`.

Categoryorganisms
Sourcecomponents/organisms/bookingstable/BookingsTable.tsx
AI HintRead-only bookings list — no sorting, no row actions. Zero live consumers today: the producer dashboard's RecentBookings renders AdminSortableTable (sortable + filter chips) instead; reach for BookingsTable when a locale-aware, non-sorting bookings table is wanted. Exported from the barrel.

Tableau des réservations récentes avec statuts (confirmée, en attente, annulée, remboursée, arrivée). FR-CA : « Marie Tremblay · Festival Jazz MTL · Place des Festivals ».

BookingsTable

Organism — Admin family (Family 9)

Tableau accessible (scope=col sur chaque en-tête, légende sr-only) avec défilement horizontal clavier sur mobile, ligne par réservation et pastille de statut sémantique. Compatible avec un lecteur d'écran — chaque ligne expose le nom, l'événement, le lieu et le total en colonnes distinctes.

Réservations ePassLive — 7 derniers jours
AcheteurÉvénementLieuDateBilletsTotalStatut
Marie Tremblay
Festival Jazz MTL — QuartetPlace des Festivals2026-04-12296,00 $Confirmée
Jean-Pierre Gauthier
OSM — Symphonie n° 5Maison symphonique2026-04-184288,00 $Arrivée
Sophie Lavoie
Lion d'Or — Galas jazzLion d'Or2026-05-02154,00 $En attente
Mehdi Boudjellal
Salle Wilfrid-Pelletier — RécitalSalle Wilfrid-Pelletier2026-04-222112,00 $Remboursée
Aline Robitaille
Festival Jazz MTL — HommagePlace des Festivals2026-06-303162,00 $Annulée

This component supports light and dark mode.

Props

Prop
Type
Default
Description
rows*
BookingRow[]
—

Lignes du tableau (id, buyer, email, event, venue, date, tickets, total, status).

caption
string
Réservations ePassLive — 7 derniers jours

Légende sr-only pour les lecteurs d'écran. Surcharge la valeur par défaut de la locale.

locale
"fr" | "en"
fr

Locale des en-têtes de colonnes, des pastilles de statut, de la légende et de l'état vide. Le contenu des lignes est localisé par l'appelant.

className
string
—

Classes additionnelles ajoutées à la racine DataTable.

Props

Preview

BookingsTable

Prop
Type
Required
Default
Description
rows
BookingRow[]
Required
—

Row data.

caption
string
Optional
'Réservations ePassLive — 7 derniers jours' (fr) / 'ePassLive bookings — last 7 days' (en)

Screen-reader-only caption. Overrides the locale default when provided.

locale
'fr' | 'en'
Optional
'fr'

Locale for column headers, status pill labels, the default caption, and the empty-state message. Row content is caller-localized.

className
string
Optional
—

Additional CSS classes appended to the DataTable root.

Quick use:<BookingsTable />

Accessibility

ARIA roletable

Type

1 rule

NASA Rule 5

rows required; row type includes all 9 fields (id, buyer, email, event, venue, date, tickets, total, status)

ARIA

1 rule

WCAG 1.3.1

<caption> must be present (screen-reader only, NOT visible); <th scope='col'> on every column header

i18n

1 rule

Wave-3 W4 / VenueAccessMap precedent

column headers, status pill labels, and the default caption must match the resolved locale; the organism owns no message-catalog keys

Usage

Import

tsxSnippet
import { BookingsTable } from "@epasslive/design-system"

Example 1

tsxSnippet
<BookingsTable rows={bookings} locale="fr" caption="Réservations — 7 derniers jours" />

Anti-patterns

— Do not fetch data directly in organisms

— Avoid tight coupling to specific data sources

Design System v4.1.0 | ePassLive