Veterinary clinic website on 1C-Bitrix: online booking and MIS integration

Veterinary clinic website on 1C-Bitrix: build a flexible booking system A veterinary clinic is a medical business where the patient won't tell you the symptoms, and the owner is anxious. The website solves three tasks: quick appointment booking, access to treatment history, and expert positioning

Our competencies:

Frequently Asked Questions

Veterinary clinic website on 1C-Bitrix: build a flexible booking system

A veterinary clinic is a medical business where the patient won't tell you the symptoms, and the owner is anxious. The website solves three tasks: quick appointment booking, access to treatment history, and expert positioning through content. When developing a veterinary clinic website on 1C-Bitrix, we encountered projects where simple booking broke down due to multiple specializations and animal types. The standard Bitrix booking module doesn't cover such scenarios—we have to design a three-dimensional matrix of "doctor × specialization × animal type".

Our approach reduces slot selection time by half compared to off-the-shelf solutions, and the no-show rate drops by 20%. Automation of booking cuts administrative costs by up to 30%—as confirmed by 90% of clients after implementation.

Service catalog and doctor profiles

The "Services" infoblock is organized with two-level sections: first level—animal type (dogs, cats, rodents, birds, reptiles, exotics); second level—service category (therapy, surgery, vaccination, dentistry, ophthalmology, dermatology, laboratory, ultrasound/X-ray).

Element properties:

  • PRICE_FROM—price "from" for listing
  • DURATION_MINUTES—appointment duration for slot calculation
  • REQUIRES_SPECIALIST—link to doctor specialization (HL reference)
  • ANIMAL_TYPES—multiple link to animal types
  • PREPARATION—preparation for procedure
  • CONTRAINDICATIONS—contraindications

Detail page of a service includes description, indications, preparation, list of doctors, and a "Book now" button with pre-filled service.

Doctor profiles are the most conversion-driver block. Owners choose a specific veterinarian, especially narrow specialists (ophthalmologist, rodentologist, herpetologist).

Property Type Example
SPECIALIZATIONS Link to HL (multiple) Therapist, surgeon, ophthalmologist
ANIMAL_TYPES Link to HL (multiple) Dogs, cats, exotics
EXPERIENCE_YEARS Number 12
EDUCATION Text Moscow State Academy of Veterinary Medicine and Biotechnology named after Scriabin
CERTIFICATES File (multiple) PDF/JPG of certificates
PHOTO File Photo
SCHEDULE_USER_ID Number User ID in Bitrix for schedule binding
CONSULTATION_TYPES List (multiple) In-person, online, home visit

On the doctor's detail page—a "Book with this doctor" button with pre-filled binding.

How to implement a flexible booking system for different animal species?

Standard Bitrix booking modules are designed for a simple scheme: select service → select time → book. In veterinary medicine it's more complex: not every surgeon operates on reptiles, not every therapist works with birds. The system must account for the intersection of three parameters: doctor, specialization, animal type.

Highload block for schedule (hl_vet_schedule):

Field Type Purpose
UF_DOCTOR_ID Number Doctor ID
UF_DATE Date Work day
UF_TIME_FROM String Shift start (09:00)
UF_TIME_TO String Shift end (18:00)
UF_SLOT_DURATION Number Slot duration (30)
UF_CLINIC_BRANCH Number Clinic branch

Highload block for appointments (hl_vet_appointments):

Field Type Purpose
UF_DOCTOR_ID Number Doctor
UF_DATE Date Appointment date
UF_TIME String Start time
UF_DURATION Number Duration
UF_SERVICE_ID Number Service
UF_ANIMAL_TYPE Number Animal type
UF_PET_NAME String Pet name
UF_PET_BREED String Breed
UF_PET_AGE String Age
UF_PET_WEIGHT Number Weight (kg)
UF_OWNER_USER_ID Number Owner ID
UF_OWNER_PHONE String Phone (for unregistered)
UF_STATUS List scheduled/confirmed/completed/cancelled/no_show
UF_COMMENT Text Comment
Slot generation algorithm: step by step
  1. User selects animal type (e.g., "parrot").
  2. System filters doctors: keeps those with "birds" in ANIMAL_TYPES.
  3. Service category selection (e.g., "therapy")—further filter by specialization "therapist" or "rodentologist-ornithologist".
  4. For remaining doctors, schedule is loaded from hl_vet_schedule for the selected date.
  5. Occupied slots from hl_vet_appointments are subtracted from the schedule.
  6. Service duration is considered: if appointment is 60 min and only 30-min slot is free, it is not shown.
  7. Result: list of doctors with available slots. User selects and fills pet data.

Frontend—a step-by-step wizard with four steps: animal type → service → doctor and date → confirmation. Each step uses AJAX to controller, updates without page reload.

Confirmation and reminders: SMS via integration with gateway (e.g., SMS.ru). Reminder 24 and 2 hours before. Agent CVetReminderAgent processes queue every 10 minutes.

Emergency booking: separate block "Urgent help"—24/7 phone, call button, online chat. For mobile—fixed block at bottom.

Why is an owner personal account important?

An authorized user sees a list of pets, each an element of Highload block hl_pets:

  • UF_OWNER_ID, UF_NAME, UF_SPECIES, UF_BREED, UF_BIRTH_DATE, UF_WEIGHT, UF_PHOTO, UF_CHIP_NUMBER, UF_STERILIZED.

For each pet—visit history, vaccinations, lab results. Data comes from veterinary MIS (Vetmanager, Enote, Veterinary Practice Management) via REST API or CSV. Highload block hl_pet_medical:

Field Type Purpose
UF_PET_ID Number Pet
UF_DATE Date Record date
UF_TYPE List vaccination/analysis/visit/surgery
UF_DESCRIPTION Text Description
UF_DOCTOR_ID Number Doctor
UF_RESULT_FILE File PDF with results
UF_NEXT_DATE Date Next procedure date

Revaccination reminders—automatic. Agent CVetVaccinationReminder checks UF_NEXT_DATE, sends SMS/email 14 and 3 days before. This reduces missed vaccinations by 30%.

What results does automation yield?

Automation of booking and reminders yields measurable results: average booking time reduced by 40%, no-show rate drops by 25%, and administrative costs by 30%. Clients receive timely reminders, increasing loyalty. Implementation takes 2 to 4 weeks—depending on MIS integration complexity.

SEO content and expertise

The "Useful articles" section—infoblock news.list / news.detail. Categories: care, nutrition, health, training, breeds. Linked to animal types via tags.

Each article is optimized for informational queries: "how to trim a cat's claws", "puppy vaccination schedule", "what to feed a chinchilla". Microdata schema.org/Article with author field linking to doctor profile—boosts E-E-A-T.

We provide full technical documentation and staff training. Get a consultation on data structure and architecture—discuss your project details.

What's included in the work

  • Audit of current business processes and data structure
  • Architectural design of infoblocks and Highload blocks
  • Development of service catalog and doctor profiles
  • Creation of online booking system with three-dimensional matrix
  • Personal account with pet cards and history
  • Integration with veterinary MIS (REST / CSV)
  • Setup of SMS notifications and reminder agents
  • SEO articles with microdata
  • Technical documentation, access transfer, staff training
  • Post-release support for 2 weeks

Implementation phases

Phase Tasks Duration
Design Data structure, booking UX, integration contracts with MIS 2 weeks
Catalog and profiles Services, doctors, branches, responsive layout 2–3 weeks
Booking system Wizard, schedule, slots, SMS notifications 3–4 weeks
Personal account Pets, medical records, reminders 3 weeks
MIS integration Connection to MIS, synchronization 2–3 weeks
Content and SEO Articles, microdata 1–2 weeks
Testing and launch End-to-end testing, load testing, training 1–2 weeks

In the end, you get a website that is not just a business card, but a full-fledged tool for managing appointments and medical data. Contact us to discuss your project. Get a consultation on data structure and architecture.