The UK's Most Detailed Veterinary Pricing Schema

What This Is

This is the data standard behind vetsinengland.com — a structured schema built to deliver CMA-compliant veterinary pricing transparency at scale.

It achieves this by being totally flexible. Rather than forcing clinics into a rigid format, the schema models the full complexity of how veterinary services are actually priced — any combination of services, species, weight bands, bundling models, and inclusion choices. That flexibility is what makes genuine compliance possible: clinics can represent their real pricing accurately, which means the resulting disclosures are trustworthy, comparable, and auditable.

The Problem It Solves

Veterinary pricing in the UK is extraordinarily heterogeneous. Two clinics offering the same procedure may describe it differently, bundle different components, price by different units, apply different weight bands, and include or exclude different line items.

This creates real problems:

  • For pet owners: no reliable way to compare like-for-like.
  • For clinics: no standard way to present pricing transparently.
  • For regulators: no structured data to assess market compliance.
  • For corporate groups: no scalable way to manage pricing disclosure across estates.

Previous approaches either oversimplified (forcing all clinics into flat price lists) or gave up on structure entirely (free-text PDFs). Neither supports genuine comparability.

This schema solves the problem by modelling veterinary pricing at the resolution it actually operates at — preserving clinical meaning, package structures, and real-world variation while enabling structured comparison.

Schema at a Glance

DimensionCoverage
Service catalog130+ individually defined services across 13 clinical categories
Service categoriesConsultations, Vaccinations, Neutering, Dentals, Surgery, Diagnostics, Treatment, Euthanasia, Cremation, Parasite Control, Prescriptions, Clinic Fees, Other Services
Surgical procedures46 individually modelled surgeries — from routine spays to TPLO, BOAS, GDV, and spinal surgery
Diagnostic services15 modelled pathways including CT, MRI, ultrasound, endoscopy, and point-of-care panels
Species supportUnlimited — open taxonomy currently covering dog, cat, rabbit, guinea pig, and ferret, extensible to any species
Weight bands5-tier banding (S / M / L / XL / Giant) on price rows
Pricing methodsFixed, From, Range, Per Unit — covering bundled and itemised market behaviour
Inclusion semantics4-state model: Included, Optional Extra, Separately Charged, Not Offered
Reusable componentsStructured billable units (anaesthetic, hospitalisation, surgical procedure, laboratory, medication) with default mappings per service
Hospitalisation tiersDay, Night, 24-Hour, and Package — with care-level resolution (Standard, Medical, Intensive)
CMA complianceFull regulatory toolkit with proof chains, attestation, publication targets, and drift detection
Price dimensionsWeight band, time window, pricing mode (headline/itemised), pricing context (standard/plan/with-other-service) — all modelled on rows, not by creating duplicate services

How It Works

1. Canonical Service Catalog

Every veterinary service is represented as a Service entity with a canonical identity: a unique slug, a human-readable label, a clinical category, and species applicability tags.

Services are typed by structural intent:

  • ATOMIC — single clinical units (a consultation, a vaccination dose, an x-ray). These are direct pricing endpoints.
  • COURSE — multi-step packaged pathways (a puppy vaccination course, a dental course). The package structure is part of the product identity.
  • GROUP — taxonomy containers that organise related services for navigation and comparison. Groups never carry prices directly — pricing lives on child services.

This three-tier hierarchy means the catalog can represent anything from a single nail clip to a complex multi-dose vaccination programme without flattening genuinely different products into one row.

2. Reusable Components and Mappings

Clinical procedures are rarely single line items. A dog spay involves anaesthetic, surgical procedure, pain relief, hospitalisation, and post-operative care. Different clinics bundle these differently.

The schema handles this through ServiceComponent — reusable billable units — and ServiceComponentMapping — the join that connects components to services with structured defaults:

  • Inclusion status — is anaesthetic included in the spay price, or charged separately?
  • Required vs optional — is post-operative hospitalisation expected in the standard pathway?
  • Default quantity — how many nights of hospitalisation is baseline for this procedure?

This means two clinics can report the same surgery with completely different bundling, and the schema still knows what's comparable. A clinic that includes anaesthetic in the headline price and one that itemises it separately are both accurately represented — and both can be compared at the component level.

3. Price Dimensions (Not Duplicate Services)

Real-world pricing varies by weight, time, context, and presentation. Rather than creating hundreds of duplicate service slugs, the schema models these as dimensions on price rows:

  • Weight band — a dog castration priced at £180 (Small), £220 (Medium), £280 (Large), £340 (XL), £400 (Giant) is one service with five priced variants, not five separate services.
  • Hospitalisation time window — Day, Night, 24-Hour, and Package rates modelled per time window.
  • Pricing mode — headline (bundled total) vs itemised (component breakdown) captured on the same service.
  • Pricing context — standard pricing vs health plan pricing vs "with another service" discounted pricing.

This is critical for comparability. It means the schema can represent the full matrix of a clinic's pricing without losing structure, and consumers can compare equivalent weight bands and contexts across clinics.

4. Species-Aware Taxonomy

Species handling follows clinical reality rather than forcing artificial uniformity:

  • Services that are clinically equivalent across species (e.g. microchipping) carry species-agnostic applicability and use price-row dimensions where needed.
  • Services where the clinical pathway differs materially (e.g. cat spay vs bitch spay — different anatomy, different anaesthetic protocols, different recovery) are separate services with separate component mappings.
  • Exotic species (rabbit, guinea pig, ferret) have dedicated service entries where standard dog/cat pathways don't apply.

The animals[] field is an open string array — not a fixed enum — so the schema accommodates unlimited species without migration. Current production coverage includes dogs, cats, rabbits, guinea pigs, and ferrets, with equine, avian, or any other species addable at any time.

5. CMA Compliance Architecture

The schema includes a purpose-built compliance layer designed to meet CMA (Competition and Markets Authority) transparency requirements for veterinary pricing:

  • 36-line CMA service registry — the specific services and disclosure requirements mandated by the CMA, locked and version-controlled within the schema.
  • Compliance state machine — each clinic's compliance status progresses through defined states: Not Started → Draft in Progress → Ready for Review → Partially Published → Fully Published → Compliant. Staleness and drift are detected automatically.
  • Publication targets — pricing can be published to managed clinic websites, the vetsinengland.com profile, or hosted fallback pages. Each target tracks publication status independently.
  • Proof chains — every compliance action generates typed proof records (Proof of Generation, Proof of Approval, Proof of Publication, Proof of Display Attestation) with strength ratings (Primary, Supporting, Informational). This creates an auditable trail from data entry to public display.
  • Compliance attestation — clinic-level attestation records with method tracking (manual, automated, delegated).
  • Drift detection — automated monitoring detects when published pricing becomes stale or inconsistent with source data.
  • Compliance packs — bundled compliance deliverables that can be generated, reviewed, and fulfilled as a single unit.

This means a veterinary group can manage CMA compliance across an entire estate — generating compliant price lists, publishing them to the right channels, proving publication, and detecting when anything goes stale — all backed by structured data rather than manual spreadsheets.

6. Ingestion Flexibility

The schema is designed to accept pricing data from any source — whether submitted directly by clinics, extracted from published price lists, or imported from corporate group systems. The structured model normalises all inputs into canonical service identities, component mappings, and dimensional price rows regardless of how the source data was originally formatted.

This means the schema works with every clinic's existing pricing format. There is no requirement to adopt a specific input template — the standard handles normalisation, not the clinic.

Current Scale and Maturity

Live in Production

  • 130+ canonical services across 13 clinical categories, each with structured identity, hierarchy, and species applicability.
  • 46 individually modelled surgical procedures — the most granular surgery catalog in UK veterinary pricing.
  • Component mapping infrastructure active across all major categories, with seeded care-level hospitalisation resolution.
  • Parent/child service hierarchy live for vaccination families, dental packages, and annual-vaccination groups.
  • Weight-band pricing operational across species and procedures.
  • CMA compliance toolkit with state machine, proof chains, publication targets, and drift detection.

Controlled Expansion

Additional services and component mappings are seeded in controlled batches and promoted to live status only after mapping validation, alias verification, and read-path testing. This ensures catalog quality scales with coverage.

Why This Matters

For Veterinary Groups

A single schema that can represent every pricing model in your estate — bundled or itemised, simple or complex, single-species or multi-species. No more maintaining parallel spreadsheets or bespoke formats per practice. CMA compliance managed centrally with auditable proof of publication.

For Regulators

Structured, machine-readable pricing data with explicit inclusion semantics and component-level granularity. Every field is typed, every status is enumerated, every change is auditable. The compliance layer provides the evidence chain regulators need.

For the Industry

An open, extensible standard that preserves clinical meaning while enabling genuine comparison. Designed to accommodate any pricing combination — from a straightforward consultation fee to a weight-banded, component-itemised, species-specific surgical package with hospitalisation tiers and plan-context pricing.

No other schema in UK veterinary pricing operates at this level of resolution.

Data Schema Summary