All case studies

CASE STUDY / RIDING SCHOOL SOFTWARE

More attention
for your riders.
Fewer phone calls.

From scattered messages to a system that brings customers, instructors and horses into one shared calendar.

Online booking · School workspace · Payments and passes

WHO IT SERVESSmall and medium riding schools
PRODUCT SCOPEBooking → scheduling → settlement
APPROACHShared system, school-specific setup

01 / CONTEXT

Beyond another calendar.
The whole lesson workflow.

The starting point was an owner’s everyday problem: how do you teach when bookings constantly demand your attention?

01

A lesson is running. The phone rings.

The owner teaches and takes bookings at the same time. One reschedule means checking the instructor, horse and several conversations.

02

A free hour is only the beginning.

A horse and instructor must both be available. Rest, workload, payments and cancellation rules matter too.

03

Booking becomes a connected process.

A customer picks an available time. Staff see the calendar entry, settlement and history. Notifications follow each change.

02 / EXPLORE THE WORKFLOW

Take a school day
for a test ride.

Start with a booking. Then open the calendar, spend a pass credit and customise a reminder.

Your riding school
Interactive example
TRY IT YOURSELF

Booking

Private lesson

60 min · 150 zł · example offer

Change the horse or instructor to see available times update.

Horse and instructor availability checked together.

Sample data. Nothing is saved or sent. This demonstrates selected product behaviours.

Choose Wednesday, Ola and Figa: the horse is already booked at 15:00. Switch to Luna and see the difference.

03 / PRODUCT CAPABILITIES

From the first booking
to the final settlement.

A complete overview of the implemented areas. Open a category or search for a capability your school needs.

12 / 12 product areas

01Online bookingsCustomers choose a time that fits the actual school schedule.
  • Public lesson catalogue and available times
  • Lesson, instructor and horse selection
  • Guest bookings and customer accounts
  • Temporary slot holds during checkout
  • Minimum booking notice
  • Rescheduling and cancellation within school policy
02Calendar and recurring lessonsBookings, availability and exceptions in one workspace.
  • Day, week, month, schedule and agenda views
  • Layer, horse and instructor filters
  • Staff booking creation and editing
  • Recurring availability and lesson series
  • Changes to one lesson or subsequent lessons in a series
  • Time blocks with reasons and notes
  • Historical lesson management for staff
03Horses and workloadScheduling takes a horse’s work and rest into account.
  • Profiles, photos, descriptions and horse types
  • Temperament, rider level and suggested age and height
  • Private horse flags and catalogue ordering
  • Blackouts and archiving
  • Overlapping lesson protection
  • 5-hour daily limit and a full hour of rest after 2 hours of work
04Instructors and teamEvery lesson is connected to the person teaching it.
  • Profiles, photos, specialities and languages
  • Instructor-to-offer assignments
  • One-off and recurring availability
  • Contact details and notification preferences
  • Own or team calendar based on permissions
05Lesson catalogueEach lesson type has its own duration, price and presentation.
  • 30, 45, 60, 90 or 120-minute lessons
  • Price, deposit and booking notice
  • Descriptions, images, benefits and featured offers
  • Display ordering and archiving
06Payments and settlementPayment status belongs to the booking.
  • Full online payment or online deposit with balance on site
  • Full on-site payment selected by staff
  • Resume incomplete checkout
  • Payment states, deadlines and hold expiry
  • Record on-site settlement
  • Refunds and payment provider events
07Lesson passesCredits, expiry and settlement history together.
  • Pass offers, descriptions, photos and publication
  • Credits, validity, price and savings preview
  • Customer assignment and payment management
  • Pay for a lesson with one pass credit
  • Balance, movement history and authorised corrections
  • Settle an eligible historical lesson
  • Series proposals, date exceptions and availability previews
  • Find the next matching series
  • Purchase, customer account and pass booking APIs

The admin panel and APIs are implemented. Customer-facing pass purchase and self-service require integration during delivery.

08Promotions and codesDiscounts with explicit scope, dates and limits.
  • Automatic and code-activated promotions
  • Fixed and percentage discounts
  • Offer scope, validity windows and usage limits
  • Discount stacking rules
  • Single-use codes and batch generation
  • Pass discount codes through the API
09Email and SMSMessages follow the booking and its changes.
  • Customer and instructor notifications
  • Confirmations, changes, cancellations and reminders
  • Independent email and SMS switches for each event
  • Editable subjects, HTML, plain text and SMS
  • Customer, lesson, horse, instructor and payment variables
  • Message preview before saving
  • Reminder timing and translated copy

Sending requires configured email and SMS services.

10Customers and self-serviceStaff get context; customers can manage their bookings.
  • Search by name, email or phone
  • Customer-linked bookings and history
  • Contact and rider details
  • Edit contacts for a booking or a series
  • Own bookings, cancellations and resumed checkout on the account
  • Link guest bookings to a verified account
11Permissions and activityTeam access follows responsibilities.
  • Separate calendar, offer, horse and booking permissions
  • Separate pass management, correction and refund permissions
  • Activity history with actor and before / after changes
  • Protection against duplicate bookings and repeated credit spending
12Policies and deliveryConfiguration follows the school’s workflow.
  • Cancellation and rescheduling cutoffs
  • Polish time zone and PLN payments
  • Polish and English notification fallbacks
  • Aurum payments, storage and customer account integration
  • Catalogue, schedule and communication setup

04 / SYSTEM DESIGN

A simple time selection.
Careful rules underneath.

The calendar understands riding schools

Availability combines instructor schedules, horse bookings, time blocks and workload limits. Each offer sets lesson duration and booking notice.

One place cannot go to two customers

Bookings and calendar changes share resource locks. Checkout has a time limit, so an expired booking does not occupy a time indefinitely.

A product built for further deployments

The module runs in Aurum and connects payments, storage, customer accounts and notifications. Each school gets its own catalogue, people, horses and policy configuration.

TechnologyVue 3TypeScriptAurumMongoDBPayment and notification integrations

05 / ANOTHER SCHOOL, ITS OWN RULES

A system configured
for your school.

The product is a foundation for further deployments. Delivery includes configuration and integrations suited to each school.

  1. 01

    Understand the workflow

    Lesson types, horses, instructors, booking and settlement rules.

  2. 02

    Configure and connect

    Catalogue, calendar, payments, notifications and customer-facing scope.

  3. 03

    Walk through the full process

    From a trial booking to settlement and getting staff ready to use it.

LET’S EXPLORE YOUR WORKFLOW

Teach the lesson.
Let’s organise the bookings.

Tell me how you manage your school’s calendar today. I’ll show you how bookings, availability and settlement can work together.

office@kamilbartczak.dev

KB / PRIVACY

Your privacy. Your choice.

The website works the same whatever you decide. Analytics is off by default.

No choice saved yet

Remembering your choice

We store only your decision and its date in your browser (localStorage). Your choice lasts for 180 days. This is not an advertising identifier.

Optional analytics

With your consent, GoatCounter on our server counts pageviews, contact, CV, project, external link and Saldo download clicks, use of illustrative demos, section visibility and reading progress. Form content, searches and values entered in demos are never sent. We process the page path without queries or fragments, title, referring domain, browser, operating system, language, screen width and approximate country. Your IP address is used to handle the connection and determine the country; it is not saved in the statistics. We use no analytics cookies or session recordings. Statistics are retained for up to 180 days. Do Not Track and Global Privacy Control signals disable tracking.

You can withdraw consent at any time through Privacy settings in the footer. Withdrawal stops further tracking; it does not remove existing aggregate statistics. Rejecting does not send analytics events.

The data controller is Kamil Bartczak Software Development, Czarnowo 100, 66-600 Czarnowo, Polska, NIP 9261697200. Privacy questions: office@kamilbartczak.dev.