# Alba: a free dental clinic template that books the chair, not a callback

> Alba is a free, MIT-licensed dental website template with real booking: a tooth-chart Smile Check, a chair-time planner, five studios, a kids site. Live demo.

URL: https://opencals.com/blog/templates/alba
Author: Stanislav Tyshchenko
Published: 2026-10-28
Updated: 2026-10-28
Categories: use-case, engineering

Search for a dental clinic website template and you get a page of Framer, Wix and WordPress designs. I opened two of the top ones in October 2026. Framer's DentalCare ($38) describes "placeholders for online booking". Themeisle's BrightSmile Dental talks about simplifying online booking without saying what does the booking. In both cases the clinic still has to buy a booking system and wire it in, and the nicest-looking button on the page leads to someone else's widget.

**Alba** is the template we built so the booking is the template. It's a free, MIT-licensed Next.js site for a multi-location dental group, wired to [Opencals](https://opencals.com), the booking and checkout engine we build. If you run a practice, or build sites for practices, and you want patients to pick a treatment, a clinician and a real time, pay or choose to pay at the studio, and manage their own visits, Alba does it out of the box. If you need clinical records, charting or insurance claims, that's practice-management software, and I'll say where the line is below.

> **Key takeaway**
>
> Alba is a free dental clinic booking website template (Next.js 15, MIT licence) on the Opencals API. Patients can start from a Smile Check on a 32-tooth chart that suggests the right visit, book on a chair-time planner that snaps the hygienist on straight after a check-up, pay by card or at the studio, and manage visits for the whole family in My Smile. It ships with five London studios, 26 clinicians, 25 treatments and a separate children's site. The template is free; bookings run on a free Opencals development store for testing, then cost $0.99 each or $14.98 a month for 300 (checked 28 October 2026).

![Alba chair planner: a 30-minute check-up with Dr Helena Whitmore and the hygienist straight after on one chair-time track at Marylebone, total £185, with AirFlow polish and digital X-ray add-ons](https://media.opencals.com/seo-content/inline/1793189012842-alba-dental-chair-planner.png)

## Patients don't know which appointment to book, so Alba asks about the tooth

Most dental booking flows open with a list: New Patient Exam, Check-up, Emergency Appointment, Composite Bonding Consultation. A patient with a chipped front tooth doesn't know which of those they need, so they phone, and the phone is what the website was supposed to replace.

Alba's **Smile Check** starts from the mouth instead. It's a real 32-tooth chart with FDI numbering. The patient taps the teeth on their mind, says what's going on (it hurts, chipped or broken, sensitive, colour or stains, crooked or gaps, a missing tooth, or "I'm just due a check-up") and sets a comfort dial from calm to anxious. It takes about 30 seconds, it says plainly that it's not a diagnosis, and it ends by suggesting the visit and the studio with the soonest time, with the booking already filled in.

![Alba Smile Check: a 32-tooth chart with three front teeth selected, the chart note naming them by FDI number, and 'Colour or stains' chosen as the concern](https://media.opencals.com/seo-content/inline/1793189011219-alba-dental-smile-check.png)

The comfort level doesn't stay on the website. It travels with the booking as a pre-visit answer, so the dentist sees "nervous" before the patient sits down.

## The hygienist straight after, on the same chair

The booking page at `/book` is one screen built around a **chair-time track**. Each treatment is a block as long as its minutes, add-ons hang off it as tabs, and after a check-up the hygienist snaps on as the next block: same chair, no second trip. Under the track you pick the treatment, the studio (with a notice when another studio has a sooner time), the clinician or "first available", the day, the time, extras and who the visit is for. **Pencil it in** holds the chair while the patient finishes checking out.

These are the demo store's treatments and prices, read from the live demo on 28 October 2026 (seeded data, so a starting point rather than a price guide):

| Department        | Treatment                                         | Length           | Price             |
| ----------------- | ------------------------------------------------- | ---------------- | ----------------- |
| General dentistry | Check-up                                          | 30 min           | £65               |
| General dentistry | New Patient Exam                                  | 45 min           | £95               |
| General dentistry | White filling, one surface / two or more          | 45 / 60 min      | £150 / £210       |
| Hygiene           | Hygiene clean / deep clean / AirFlow              | 30 / 45 / 45 min | £85 / £120 / £135 |
| Cosmetic          | Teeth whitening consultation / in-chair whitening | 20 / 90 min      | Free / £450       |
| Orthodontics      | Clear Aligner Consultation                        | 30 min           | Free              |
| Implants          | Implant Consultation                              | 45 min           | £95               |
| Emergency         | Emergency Appointment                             | 30 min           | £110              |
| Children's        | Kids Check-up, ages 3–6 / 7–12 / 13–17            | 30 min           | £45 / £45 / £55   |
| Video             | Emergency Video Triage                            | 15 min           | £25               |

Options such as "deep clean" or an age band are variants of one treatment, each with its own length and price. The four add-ons in the seed are happy air, fluoride varnish, an AirFlow stain polish (£35 in the demo) and digital X-rays (£40). Discounts are seeded too: the code `NEWSMILE` and an early-bird hygiene discount.

Deep links prefill the planner, which is handy for a "book with Dr Whitmore" button on a clinician's page or an email to nervous patients: `/book?service=check-up&clinic=marylebone&staff=helena-whitmore&comfort=nervous`.

## Five studios, 26 clinicians and a video room in one store

A dental group is several practices sharing one brand and one patient list. In Alba every studio is an Opencals location with its own opening hours (Marylebone, Shoreditch, Notting Hill, Canary Wharf and Clapham in the demo), plus one online location for video consultations. A **Today at Alba** board on the homepage shows each studio's status and its next free check-up and hygiene times, straight from the diary.

Clinicians are staff members, 26 of them in the demo: dentists, hygienists, paediatric dentists, orthodontists, an implant surgeon and an endodontist. Each treatment books one clinician and is offered only at the studios where its clinicians work, so a children's service only shows up at the three studios with a kids room. Patients can filter dentists by studio, speciality and language.

## Alba Kids is a second site for the patients who are scared

Children get their own site at `/kids` with its own type, colours and navigation: a cut-paper picture book called _Pip and the Tooth Town adventure_, drawn in SVG and CSS. Every children's service from the store becomes a stop on a board-game road through Tooth Town, with its price, length, age options and studios.

![Alba Kids: the road through Tooth Town, with the Kids Check-up as Check-up Castle (ages 3–6 and 7–12 £45, 13–17 £55) and the Orthodontic First Look as the Smile Observatory](https://media.opencals.com/seo-content/inline/1793189017539-alba-dental-kids-road.png)

Around it there's a fold-out "your first visit" leaflet, a two-minute brushing game, a questionnaire for parents written as a story that ends with the visit to book, and, after the appointment, a printable certificate of bravery and a stamp in the child's Tooth Town passport. The booking behind all of it is the same engine as the adult site, with "who is this for", the child's name and a nickname collected as pre-visit questions.

## A stamped appointment card, and an account that remembers the recall

Checkout is laid out as a patient record: the visits as small chair-time lanes, the patient's details, payment by card through Stripe or at the studio, and the fees. The confirmation is the classic dental appointment card, filled in with the date, time, clinician and patient and stamped by the studio. Turn it over for what to bring and how to get there.

![Alba confirmation: 'See you tomorrow' beside a dental appointment card for a check-up at 08:30 with the studio's stamp, and a 'Pencil in your check-up' strip six months ahead](https://media.opencals.com/seo-content/inline/1793189014407-alba-dental-thank-you.png)

Underneath, "Pencil in your check-up" puts a reminder six months out into the patient's own calendar, linking straight back to the booking page.

The account, **My Smile**, uses a 6-digit code or a magic link instead of a password. It shows a recall ring with when the next check-up and hygiene visit are due, the next appointment card, a history timeline and a family switch: visits booked for a child or a partner are grouped by patient. Patients can reschedule or cancel up to 24 hours before.

![Alba My Smile account: a recall ring showing the booked check-up and the hygiene visit due, the next appointment card, and the Tooth Town passport for a child](https://media.opencals.com/seo-content/inline/1793189015845-alba-dental-account.png)

## Mapping a dental group onto Opencals

Alba uses existing Opencals features only. If you're setting it up for a client practice, this is the pattern to copy:

| In the practice                      | In the Opencals store                                                                              |
| ------------------------------------ | -------------------------------------------------------------------------------------------------- |
| A studio or surgery                  | A location with its own opening hours                                                              |
| Video consultations                  | One location of type online                                                                        |
| A department (hygiene, implants)     | A collection, mapped to a department in `lib/site-config.ts`                                       |
| A treatment with options             | A product group whose options are variants, each with its own length, price and clinicians         |
| A dentist, hygienist or orthodontist | A staff member; bios, titles and languages live in `lib/site-config.ts`                            |
| Pre-visit questions                  | Checkout questions (who the visit is for, date of birth, comfort level, concern, child's nickname) |
| The hygienist straight after         | A second appointment in the cart, starting where the first one ends                                |
| Happy air, X-rays, fluoride          | Add-ons                                                                                            |

Because answers travel with each visit, a family booking keeps each patient's details apart. A store without those questions simply books every visit for "Myself".

## What Alba costs a five-studio practice

The template is free and stays yours under the MIT licence. You can build and test the whole site on a free development store, where every feature works and there's no card, but it's in test mode and can't take real payments. A live store pays per booking or a fixed monthly plan ([opencals.com/pricing](https://opencals.com/pricing), checked 28 October 2026). A check-up with the hygienist straight after is two appointments.

| Appointments a month | Elastic ($0.99 each) | Custom ($14.98, 300 included, then $0.20) | Custom + customer self-service ($14.99) |
| -------------------- | -------------------- | ----------------------------------------- | --------------------------------------- |
| 500                  | $495.00              | $54.98                                    | $69.97                                  |
| 1,500                | $1,485.00            | $254.98                                   | $269.97                                 |
| 3,000                | $2,970.00            | $554.98                                   | $569.97                                 |

Elastic includes every feature and suits the first weeks. Past about 16 appointments a month the Custom plan is cheaper, and a five-studio group passes that in its first day. Patients rescheduling and cancelling from My Smile is the customer self-service add-on on Custom. Hosting the site (Vercel or any Node host) and Stripe's card fees are billed by them.

## Where Alba stops

Alba is a booking website, and dentistry needs more than booking. Before you choose it:

- **It's not a practice management system.** There are no clinical notes, charting, X-ray storage, treatment plans or insurance claims. The Smile Check's tooth chart is a booking questionnaire, not a clinical chart. Most practices will run Alba next to their existing clinical software, not instead of it, and I haven't built a sync between the two.
- **Deposits and no-show fees are in beta in Opencals.** If your whitening or implant consultations need a deposit at booking, test it on a development store first, or take full payment for those treatments.
- **Health data deserves a conversation.** Pre-visit answers such as date of birth and comfort level are stored with the booking. If your practice needs a specific compliance commitment for patient data, talk to us before you launch; I'm not going to claim a certification on a template page.
- **Recall reminders are the patient's.** The six-month recall is a calendar note the patient saves, plus the due date on My Smile. The template doesn't run recall email campaigns.
- **Currency follows the store.** The demo store is created in the United Kingdom, which is why it prices in pounds. Create yours in your own country.

## Launching it for your practice

1. Create a free development store at [app.opencals.com](https://app.opencals.com/sign-up). To get the demo as it is, create it in the **United Kingdom** and choose the **Alba Dental** dataset: five studios plus video, 26 clinicians with portraits, 25 treatments in eight departments, four add-ons, the pre-visit questions, two discounts and sample bookings.
2. In the dashboard, open Users → your user → API Keys and create a **private storefront key** (it starts with `spk_`). Alba calls the API from its server and forwards each visitor's IP, so rate limits count per visitor, not per server.
3. Deploy with the button below and paste the key when Vercel asks.

[Deploy to Vercel](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fletsopencals%2Ftemplate-alba\&env=OPENCALS_API_KEY,AUTH_SECRET\&envDescription=API%20key%20from%20your%20Opencals%20dashboard%20and%20a%20random%20secret%20for%20auth\&project-name=alba-dental\&repository-name=template-alba)

| Variable           | What goes in it                                                                                                                     |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------- |
| `OPENCALS_API_KEY` | Your private storefront key (starts with `spk_`). The template forwards each visitor's IP with it, so rate limits count per visitor |
| `AUTH_SECRET`      | Any random string, used to encrypt patient sessions                                                                                 |
| `ALBA_PREVIEW`     | Optional. `1` turns on the `/preview` screens (appointment card, kids certificate, My Smile) in production                          |

Then put your deployed URL in **Storefront Base URL** in the Opencals dashboard, so the view, reschedule and cancel links in booking emails open your site. To rebrand, edit `lib/site-config.ts` (studios, clinicians, departments, Smile Check wording, recall intervals), `lib/kids/kids-config.ts` for the children's site, and the six colour tokens in `app/globals.css`. If you'd rather have an AI agent do the scaffolding, the [Opencals Agent Skills](https://github.com/letsopencals/skills) work in Claude Code, Cursor, Codex and Gemini CLI.

- [Alba live demo](https://template-alba.vercel.app): Run a Smile Check and pencil in a check-up with the hygienist after.
- [Alba on GitHub](https://github.com/letsopencals/template-alba): MIT-licensed source. Fork it for your practice or a client.
- [Clarity: clinic template](https://opencals.com/blog/templates/clarity): Department-first booking with medical intake, on the same engine.
- [Clinic booking software compared](https://opencals.com/blog/best-clinic-booking-software): Six clinic booking tools and what each one costs.
- [Appointment deposits and no-show fees](https://opencals.com/blog/appointment-deposit-fee): When a deposit pays for itself, and when it costs you bookings.
- [Booking across several locations](https://opencals.com/blog/multi-location-booking-system): What changes when patients choose which studio to book.
- [Gable: coworking template](https://opencals.com/blog/templates/gable): Desks, rooms and booths planned on one day sheet.
- [Opencals pricing](https://opencals.com/pricing): $0.99 per booking or $14.98 a month for 300.

## Frequently asked questions

### Is the Alba dental template free?

Yes. The code is MIT-licensed on GitHub, so you can use it for your own practice or for client work. Bookings run on Opencals: a development store is free for building and testing but can't take real payments; live stores pay $0.99 per booking or $14.98 a month for 300 bookings (checked October 2026).

### Can patients choose their dentist or hygienist?

Yes. The chair planner lets patients pick a clinician or 'first available', and after a check-up it can add the hygienist straight after on the same chair. Clinicians can also be filtered by studio, speciality and language, and a booking link can preselect one.

### Does it work for a practice with several surgeries?

Yes. Each studio is a location in your Opencals store with its own hours, and treatments only appear at the studios where their clinicians work. The demo runs five London studios plus video consultations from one store and one site.

### Can parents book for their children?

Yes. Each visit records who it's for, so a parent can book several family members in one checkout and see their visits grouped by patient in My Smile. Alba Kids is a separate children's site whose services, prices and studios come from the same store.

### Is Alba dental practice management software?

No. It's a booking website: treatments, clinicians, availability, checkout and patient accounts. It doesn't hold clinical notes, charting, X-rays, treatment plans or insurance claims, so most practices run it next to their clinical software.

### Can I take deposits for whitening or implant consultations?

Deposits and no-show fees are in beta in Opencals, so test them on a development store before relying on them. What works today is full payment by card through Stripe, paying at the studio, and free consultations.

### Do I need a developer to set it up?

Someone has to deploy the site and edit two config files, which takes an afternoon for anyone who has used Vercel or GitHub. If nobody on your team has, Opencals' hosted booking page needs no code at all.
