Veterinary clinic
The owner books. The animal is the patient.
Length and price come from the pet, and two can be seen in one room at one price.
$199 one business · $499 unlimited · one payment

Fernbank Veterinary — Engine 1.68.6 · veterinary pack · one practice's own site
Measured, not estimated
Run the suite yourself the day it arrives.
20
at the same second
35 / 35
checks passing
200 / s
requests sustained
2
code reviews
What you are buying instead of
3–6
weeks of work
$6,000+
at a freelance rate
$0
a month, ever
The owner books. The animal is the patient.
Every bookingnames a pet.
A cat's visit and a Great Dane's are not the same length, so the pet is chosen first.
- 20 minutes for a dog, 30 for a rabbit
- Priced by kind, by weight band and by age
- Two or three seen together, one room, one price
- Never dearer than booking them one by one
- Visits that do not fit the pet are not offered


What a practice cannot sell out of
Two short times a day,kept back.
Each vet holds them for pets who need to be seen today, and the booking page is not offered them until two hours before.
- Hatched in the diary
- Open online now, in one press
- The desk can book one at any moment
- An urgent sign stops the booking
- The out-of-hours partner, after hours


An operation is a day, not an hour
Expected, in theatre,handed back.
One press moves a card on, Back a step undoes it, and who did it and when is kept.
- The kennel and the weight on the card
- Told the evening before, and what to do about food
- Told again when the pet is ready
- A day is changed by phone, not online
- Add to this day, for somebody who just phoned


The part a practice is judged on
Nothing more is sentabout a pet that has died.
Every visit still to come is called off quietly, the plan stops, and the pet is filed apart.
- The sheet asks which, before anything changes
- No reminder, no recall, no offer, no survey
- Under Remembered: no colour, no motion, no button
- A quiet visit is never named in an email
- The records stay


What arrives
The whole repository.Not a zip of a demo.
- apps/
- webNext.js 16 · the site, the booking flow, the dashboard, the admin console
- mobileExpo 57 · the staff app for iPhone and Android
- packages/
- bookingthe rules engine — pure, no database, no clock, 100% branch coverage
- niche-corethe packs: nouns, feature flags, starting rules, fonts, sample business
- apiHono routes and the query modules behind them
- dbDrizzle schema + 33 numbered SQL migrations
- authBetter Auth, the roles, the permissions, the sign-in rate limits
- emailtemplates and senders: SMTP, Resend, Postmark
- i18nEnglish and Spanish, nine catalogue files each
- jobs · links · storage · abuse · sharedthe tick, signed links, uploads, rate limits, start-up checks
- ui · cms · billing · analytics · monitoringtokens and components, legal copy, subscriptions, Sentry and PostHog
- client/the only folder your project writes in
- src/brand.tsname, logo, icon, link preview, languages
- pack.tsanything you change about the pack
- client.jsoncookie prefix, app scheme, phone app name and icons
- i18n/index.tsreplace any sentence the engine ships
- legal/index.tsyour client's facts, into the five legal pages
- extensions/your own routes and event subscribers
- migrations/your own tables, run after the engine's
- docs/
- compliance/six documents, including the answers to Apple's and Google's privacy forms
- engine/public-api.mdwhat stays stable across releases, and what does not
- CORE-PATCHES.mdevery engine file your project touched, so the next update merges
- UPGRADING.md · CHANGELOG.mdwhat each release needs you to do
$pnpm client:create <slug> --pack barbershop --edition full
A private project from the engine's release branch, with your name on it.
$pnpm dev
Running on your machine in about a minute, with the sample business already in it.
$pnpm verify
Checks, format, lint, types, migrations, doctor and every test. Stops at the first failure.
$pnpm build:web && pnpm --filter web cf:build
A production build, and a Cloudflare Worker from the same source.
$pnpm engine:update engine-v1.3.3
Merges the new release on a branch and prints what changed. Conflicts can only be in files you already recorded.
What it will not do.
Nobody else prints this. We would rather you found out here.
Booking
- No group classes or several people in one slot
- No waiting list for a full day
- No bookings the business approves first
- Customers cannot set up a repeating booking themselves
Money
- No tax, tips, receipts or invoices
- No discounts, promotion codes or gift cards
- No memberships or prepaid packages
- No card on file, and no no-show fee
Customers
- No customer accounts and no “my bookings” page — signed links only
- No tags, merging or importing
- No referrals, reviews or follow-ups
- No marketing email
Reach and platform
- No embeddable widget, because framing is blocked outright
- No structured data for search engines, and no Reserve with Google
- No push notifications on the phone app
- No API keys and no OpenAPI description
One payment.Then it is yours.
You host it. Nothing phones home. Thirty days to change your mind.
Lite
$199
once · This pack.
One business, one booking site.
- Complete source code
- One niche pack of your choice
- Single-business booking site
- Setup guide and documentation
- Twelve months of updates
Full
$499
once · This pack.
Multi-tenant platform with the admin console.
- Everything in Lite
- Many businesses from one install
- Platform admin console
- Business self-sign-up
- A brand folder per business
- Twelve months of updates
All packs
$899
once · All nine packs.
Every niche pack, plus new ones for twelve months.
- Everything in Full
- All nine niche packs
- Every new pack for twelve months
- Priority support queue
The difference between $199 and $499 is $300, once — and no fee per client, ever.
Yours in five commands.