Skip to main content
Clever Ops

Event Ticket Tiers

GA and VIP tickets as perforated stub cards, mono serials, tabular prices, and an honest sold-out state. Box-office paper, not SaaS pricing chrome.

Preview & code

Loading Event Ticket Tiers preview

Installation

pnpm dlx shadcn@latest add @cleverui/event-ticket-tiers

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { EventTicketTiers } from '@/components/blocks/event-ticket-tiers'
Exampletsx
import { EventTicketTiers } from '@/components/blocks/event-ticket-tiers'

export default function EventTicketTiersDemo() {
  return (
    <div className="mx-auto w-full">
      <EventTicketTiers
        eyebrow="SAT 26 JULY · THE TIVOLI"
        heading="Tickets"
        buyLabel="Get tickets"
        note="All prices include booking fees. Doors 7:00 PM · 18+ with photo ID."
        tiers={[
          {
            name: 'General',
            price: '$89',
            priceNote: 'Standing · main floor',
            serial: 'NO. 000481',
            perks: [
              'Full lineup access',
              'Cloakroom included',
              'Festival poster PDF',
            ],
            href: '#general',
          },
          {
            name: 'Reserved',
            price: '$145',
            priceNote: 'Seated · balcony',
            serial: 'NO. 000182',
            perks: [
              'Assigned seat with sightline',
              'Express entry lane',
              'Programme booklet',
              'One drink voucher',
            ],
            featured: true,
            ctaLabel: 'Reserve seat',
            href: '#reserved',
          },
          {
            name: 'VIP Box',
            price: '$280',
            priceNote: 'Private box · 4 seats',
            serial: 'NO. 000041',
            soldOut: true,
            perks: [
              'Private box for four',
              'Dedicated host',
              'Complimentary bar tab',
              'Meet-and-greet lottery entry',
            ],
          },
        ]}
      />
    </div>
  )
}

API reference

EventTicketTiers accepts the following props.

PropTypeDefaultDescription
headingstring'Tickets'
eyebrowstringdated mono kicker, preformatted, never derived from Date
tiers*TicketTier[]
buyLabelstring'Get tickets'fallback CTA label when a tier omits its own
notestring

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Referenced types

Typestsx
export interface TicketTier {
  name: string
  /** preformatted, e.g. '$89' */
  price: string
  priceNote?: string
  perks: string[]
  /** stub number, e.g. 'NO. 000481' */
  serial?: string
  soldOut?: boolean
  featured?: boolean
  ctaLabel?: string
  href?: string
}

Frequently asked questions

How do I install the Event Ticket Tiers component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/event-ticket-tiers`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does Event Ticket Tiers require?

Event Ticket Tiers uses motion and lucide-react on top of React and Tailwind CSS. You don't need to install them manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Event Ticket Tiers to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services