Dental Booking Infrastructure

Atrium

Your practice. Your patients. Your data. Your system.

Purpose-built booking, CRM, and patient management for dental practices. Deployed, live, and serving real patients.

Third-party booking widgets weren't built for you

Not Your Data

Generic booking platforms own the relationship. Your patient data sits in their database, governed by their terms, exported on their schedule.

Generic UX

A booking widget designed for hairdressers, gyms, and restaurants. Dental has specific needs: treatment types, practitioner availability, location routing. Generic tools can't model this.

Revenue Leakage

Third-party platforms take a cut per booking, charge monthly fees, and insert their branding between you and your patients. You pay to send patients through someone else's funnel.

No Attribution

Which marketing channel actually generated that booking? Generic widgets can't tell you. You spend thousands on ads with no idea what's working.

Three steps. Zero friction.

01

Choose Treatment

Patients select from your treatment list: consultations, hygiene, emergency, cosmetic. Each treatment knows its duration, practitioner requirements, and pricing.

General Consultation
Hygiene Appointment
Emergency
Teeth Whitening
02

Pick a Slot

Real-time availability pulled from your practice management system. Multi-location? Patients choose their preferred practice. Slots show who's available and when.

9:00
10:30
11:00
14:00
15:30
03

Confirm & Pay

Secure payment via Stripe. Confirmation email sent instantly. Appointment synced to your practice management system. Reminder sent 24 hours before. Done.

Booking Confirmed

Everything your practice needs in one place

Treatments

Full CRUD for your treatment catalogue. Set durations, prices, practitioner requirements, and availability per location. Changes reflect immediately in the booking flow.

Practitioners

Manage your team: qualifications, available treatments, working hours per location. The booking system automatically routes patients to qualified practitioners.

Locations

Multi-location from day one. Each practice has its own availability, treatments, and team. Patients choose their preferred location in the booking flow.

Availability

Visual scheduling grid. Set recurring availability, block out holidays, handle exceptions. Connected directly to the booking engine. No double-booking possible.

Never miss an enquiry again

Every inbound call creates a lead automatically. Every booking generates a record. Every enquiry enters the pipeline. Your team sees who called, when, what they wanted, and what happened next.

Pipeline stages track leads from first contact through to booked appointment. Activity logging keeps a full history. Click-to-call from the dashboard. Nothing falls through the cracks.

0
New Leads
0
Contacted
0
Booked

Know which channels actually generate appointments

Dynamic Number Insertion shows different phone numbers to different visitors based on how they found you. Google Ads visitor? One number. Organic search? Another. Direct visit? Another. When they call, you know exactly which channel drove them.

No more guessing which half of your ad budget is wasted. Every call is attributed. Every channel is measured. Every pound spent is accountable.

Google Ads 0113 XXX 4401 0
Organic Search 0113 XXX 4402 0
Direct / Referral 0113 XXX 4403 0

Set it. Forget it. It runs.

24h Reminders

Automated appointment reminders sent 24 hours before. Reduces no-shows without your team lifting a finger. Email now, SMS coming.

Follow-Up Engine

Patients who don't book after enquiry receive follow-up sequences. Timed, personalised, automatic. Your pipeline stays warm.

Dentally Sync

Fire-and-forget integration with Dentally. Bookings always succeed locally, then sync to your practice management system in the background. If Dentally is down, nothing breaks.

Availability Sync

Background diary sync pulls practitioner availability from Dentally on a loop. Your booking system always shows real-time slots without manual updates.

0 API Endpoints
0 Database Tables
0 JS Frameworks

Rust. HTMX. No framework. Pure speed.

Atrium is built in Rust with Axum. A language designed for performance and reliability. Server-rendered HTML with HTMX for interactivity. No React. No Next.js. No webpack. No hydration. Pages load instantly because there's nothing to load.

SQLite for the database. Embedded, zero-config, backed up in seconds. Stripe for payments. Twilio for telephony. Every integration chosen for reliability and sovereignty. Your infrastructure doesn't depend on anyone else's uptime.

Rust
Axum
SQLite
HTMX
Stripe
Twilio

Built in a day. Running ever since.

Atrium went from a single booking form to a full practice management platform in a single day. Booking, CRM, call tracking, Stripe payments, Dentally sync, automated reminders. All live. All serving real patients.

That's what a normal agency quotes six months and £50,000 for.

Your practice deserves its own infrastructure.

Atrium is built for dental, runs on your terms, and costs a fraction of what generic platforms charge. One system for bookings, CRM, call tracking, and patient management.

Get in Touch