Page type: Blog :: Post
Author: The Last One
Published on: 01/30/2026
Post: How the Booking System Works: Configuration and Internal Logic
Index: Redirect
Word count: 957
Reading time: 5 min
Difficulty:
Tags: booking • booking logic • availability rules • booking slots • booking configuration • scheduling system • booking engine • appointment booking • availability calculation • olaao • blueprint
>>>
# How the Booking System Works: Configuration and Internal Logic
The booking system in olaao is designed as a flexible and scalable solution that adapts to various types of businesses—from hair salons and barbershops to massages and specialized services. The entire logic is built to give you full control over availability, pricing, and booking rules, while keeping the reservation process as simple and transparent as possible for visitors.
1. Activating the booking module
The first step is to activate the booking module. You can do this in Settings → System → Enabled Modules. Until the booking module is activated, it is not possible to work with the booking system or create related entities.
After activation, the complete booking section becomes available in the administration.
2. Basic booking system settings
The next step is to configure the booking system itself in Bookings → Settings. Here you define global rules that affect the behavior of the entire system.
Key settings include, for example:
- maximum booking window length (e.g., how many days in advance bookings are allowed)
- the option to allow one or multiple appointments within a single order
- spam protection using captcha
- an informational page (e.g., terms of use for the booking system) that the visitor must accept before completing the booking
After a booking is completed, the system sends a confirmation email to the visitor and also sends a copy of the booking to you.
3. Branches as the foundation of the logic
The core building block of the booking logic is the branch. In the paid version, you can have up to 15 branches, which matches real-world scenarios where a business operates multiple locations in different cities.
A typical example is a hair salon that has salons in multiple cities. Each city is a separate branch with its own availability, booking slots, and potentially also its own pricing.
Before you start creating bookings, it is recommended to have all branches properly created and configured.
4. Booking activities
Once branches have been created, the next step is to create booking activities. An activity represents a specific service you offer.
Examples:
- for massages, this is the type of massage
- for hair salons, this is the type of haircut
- for barbershops, this is beard or hair grooming
If you use multiple languages, you must save the activity name in each language separately so that visitors see the correct translation according to the selected website language.
Booking activities are shared across branches and serve as the foundation for configuring slots.
5. Booking slots
A booking slot is a key element of the entire system. You can think of it, for example, as a barber chair or a specific workstation.
Each branch can have any number of slots, and each slot can:
- offer different activities
- have different prices for the same activity
- have its own opening hours
- have its own holidays or exclusions
This means that even if two barbers in the same branch offer the same haircut, each of them can have a different price. Likewise, each can have different holidays configured, because slots operate independently.
When creating or editing a slot:
- you assign the slot to a specific branch
- you select which activities are available within the slot
- you set prices based on active currencies
- you define the slot opening hours
- you configure holidays / closures (within a from–to date range)
- you can add an image and a slot description
- you can add a note for the visitor (shown on the slot detail page and in the confirmation email, e.g., “Please arrive 5 minutes earlier”)
6. Technical part: how availability is calculated
When displaying available times, the system always works with the combination of branch, slot, and activity. Availability is calculated so that the visitor only sees time slots that are truly possible to book.
# Decision order
The system proceeds in this order:
- branch
- slot
- activity
- available time
# Opening hours
Opening hours are defined for each slot (e.g., Mon–Fri 09:00–17:00). The system generates potential time slots from these time ranges.
# Activity duration
Each activity has its own duration (e.g., 30 min, 45 min, 60 min). The system checks whether the activity can fit into the opening hours without exceeding the end of the working day.
# Slot holidays and closures
Holidays are configured for each slot separately, because each staff member can have different time off. If a time slot falls within a holiday range, the system automatically removes it from availability.
# Conflicts with existing bookings
When calculating availability, the system checks whether there is already an existing booking in the given slot that would overlap with the new time. If so, the time is not offered.
7. Time zones and internal logic
Bookings are always calculated in the time zone of the branch. This means that opening hours, holidays, and available time ranges are evaluated according to the branch time zone. If a visitor accesses the system from a different time zone, the system must perform a conversion so that the visitor sees the correct times in their local zone, while internal calculations and booking storage remain consistent in the branch time zone.
Internally, the best practice is to store bookings as an exact date and time (date-time) with an unambiguous time zone, and never compare only “day” and “time” separately. This makes the system resilient to time zone differences, daylight saving time changes, and visitors from other continents.
Recommended practices
It is recommended to follow this order: first create branches, then activities, and only then slots. After configuring slots, it is advisable to test availability using real data, verify opening hours and holidays, and confirm that times are displayed correctly even for visitors in different time zones.
By combining branches, activities, and slots, olaao provides a professional booking system that is both simple to configure and technically robust enough for real-world businesses with multiple branches and diverse availability rules.
All rights reserved!
All content, images, graphics, text, and design elements on this website are the exclusive property of [https://www.olaao.com] and are protected under international copyright laws. Any reproduction, distribution, modification, or republication of any material without prior written consent is strictly prohibited. Unauthorized use may result in legal action.