Skip to main content
Clever Ops

Which Appointment Should I Book?

Consult types compared in plain language, length and fee in quiet figures, an honest best-for line each, and a calm not-sure fallback. A React and Tailwind decision aid for clinics.

Preview & code

Loading Which Appointment Should I Book? preview

Installation

pnpm dlx shadcn@latest add @cleverui/appointment-types-panel

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

Usage

tsx
import { AppointmentTypesPanel } from '@/components/blocks/appointment-types-panel'
Exampletsx
'use client'

import { AppointmentTypesPanel } from '@/components/blocks/appointment-types-panel'

export default function AppointmentTypesPanelDemo() {
  return (
    <AppointmentTypesPanel
      heading="Which appointment should I book?"
      intro="Most things fit a standard consult, here's how to tell which length you need."
      types={[
        {
          name: 'Standard consult',
          length: '15 min',
          fee: 'Bulk billed',
          bestFor:
            'Scripts, referrals, certificates, and one straightforward concern.',
          bookHref: '#book-standard',
        },
        {
          name: 'Long consult',
          length: '30 min',
          fee: '$85',
          bestFor:
            'Two or more issues, a new problem that needs careful history, or a medication review.',
          note: 'Reception may suggest this if your booking note mentions more than one concern.',
          bookHref: '#book-long',
        },
        {
          name: 'Extended consult',
          length: '45 min',
          fee: '$130',
          bestFor:
            'Complex care planning, multiple chronic conditions, or a full health assessment.',
          bookHref: '#book-extended',
        },
        {
          name: 'Video consult',
          length: '15 min',
          fee: '$70',
          bestFor:
            'Follow-ups, results discussion, and issues that do not need a physical exam.',
          note: 'Medicare rebates apply when you are eligible for telehealth.',
          bookHref: '#book-video',
        },
      ]}
      bookLabel="Book this type"
      footnote="Not sure? Book a standard consult, if you need longer, we'll simply extend it."
    />
  )
}

API reference

AppointmentTypesPanel accepts the following props.

PropTypeDefaultDescription
headingstring'Which appointment should I book?'
introstringone calming sentence, e.g. how to choose a consult length
types*AppointmentType[]3–5 consult types; order is presentation only
bookLabelstring'Book this type'
footnotestring"Not sure? Book a standard consult, if you need longer, we'll simply extend it."honest fallback that removes the fear of choosing wrong

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

Referenced types

Typestsx
export interface AppointmentType {
  name: string
  /** preformatted, e.g. '15 min' */
  length: string
  /** preformatted, e.g. '$85' or 'Bulk billed' */
  fee?: string
  /** plain language, e.g. 'Scripts, referrals and one straightforward concern' */
  bestFor: string
  note?: string
  bookHref?: string
}

Frequently asked questions

How do I install the Which Appointment Should I Book? component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/appointment-types-panel`. 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 Which Appointment Should I Book? require?

Which Appointment Should I Book? uses motion on top of React and Tailwind CSS. You don't need to install it manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Which Appointment Should I Book? 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