Source: https://www.hype-stack.dev/docs/packs-templates/templates/clinic

# Clinic

A clinic's own website and booking app. Visitors see every doctor's open times without signing in, pick one, and land on
that hour after they log in. This is the `clinic` template, and it runs on the
[Booking](/docs/packs-templates/packs/pack-booking) pack.

## What's inside

- A **starter** for auth (you pick WorkOS or Better Auth at install).
- A **layout** shell (defaults to the glass layout, swappable at install).
- A separate [admin app](/docs/packs-templates/packs/admin) from the starter.
- [Booking](/docs/packs-templates/packs/pack-booking) as a fixed feature pack: the calendar, guest booking with email
  confirmation, reminders, clients, and the staff control center.
- A public site: a home page with an open calendar across every doctor, service pages, doctor profiles, a price list,
  and a contact page.
- A patient dashboard and a **Today** page for the team, on the violet theme in light mode.

There is no billing pack. Add one with `npx @hype-stack/cli compose` if you want to charge through the app.

## Make it yours

| What                                     | Where                                                                  |
| ---------------------------------------- | ---------------------------------------------------------------------- |
| Phone, email, address, hours, home stats | `src/features/site/config.ts`                                          |
| Service, doctor, FAQ, and review copy    | `src/features/site/content/`                                           |
| The waiting-room photo                   | `src/assets/images/clinic.jpg`, or `photos.clinic: null` in the config |
| Doctors, services, prices, open times    | in the app, under `/booking/setup`                                     |

The site never hard-codes doctors or prices. It reads them live from the booking pack, so the website and the calendar
cannot disagree.

## What you need to set up

1. **Auth** - follow the guide for the starter you picked:
   - [SaaS Starter (Better Auth)](/docs/packs-templates/packs/starter-saas-betterauth) (default), or
   - [SaaS Starter (WorkOS)](/docs/packs-templates/packs/starter-saas-workos)
2. **Email** - set `RESEND_API_KEY`. Online booking is on from the start, and a guest confirms a visit from a link in an
   email. Without the key the link only shows up in the backend log.
3. **Admin** - set `SUPER_ADMIN_EMAIL` to sign in to the [admin app](/docs/packs-templates/packs/admin) the first time.

Then add your doctors and services in `/booking/setup`. Online booking can be switched off under Setup > Business.

## Why use the template instead of composing packs yourself

Composing the starter, a layout, and the booking pack gets you a working booking app. The template adds the part a
clinic's patients actually see: the public site wired to live availability, and the sign-in flow that returns a visitor
to the hour they picked.
