How does the calendar system work?
The Hubhus calendar is the backbone of your booking system — it determines when each resource is available, how events block time, and how booking forms present valid slots to customers. Connect Google, Outlook, or CalDAV and every personal appointment automatically affects availability too.
TL;DR
Availability = resource active + within business hours + no busy events + travel time fits + duration fits in gap. Busy events from external calendars block slots. Special dates override all other rules.
5 things the calendar controls
Resource availability — each resource (technician, team, vehicle, room) has its own working hours, busy events, and optional external calendar sync.
Business hours & special dates — define when bookings are generally allowed. Special dates (holidays, vacations, training days) override regular hours entirely.
Travel time rules — if travel logic is enabled, Hubhus checks driving time from/to the customer address and surrounding events. Strict travel rules are the #1 reason time slots disappear.
External calendar sync — Google, Outlook, and CalDAV calendars sync continuously. Busy external events block availability; free events do not. Hubhus events push back to the external calendar.
Booking origin — events can be created manually or via booking forms. Check the event footer to see exactly how and when a booking was created — essential for troubleshooting unexpected bookings.
Read more⌄
Calendar vs. booking form vs. event
- Calendar — the truth source for what is available. Shows busy/free events, resource availability, business hours, travel calculations, and external blocks.
- Booking form — the customer-facing page. Controls duration, required resources, address rules, driving time, interval settings, and slot validity. Feeds into the calendar.
- Event — the actual booking placed into the calendar. Contains start/end time, assigned resource, address, and metadata about how it was created. Busy events block availability; free events do not.
How availability is calculated
A slot is available when all of these are true simultaneously:
- Resource is active and not already busy
- No absence or special date blocks the day
- No busy external calendar events overlap
- The slot falls within business hours
- Travel time from/to surrounding events fits
- The event duration fits fully within the gap
- Pre/post buffers around other events are respected
Resources, tags, and users
Resources are anything that can be booked: technicians, consultants, teams, vehicles, rooms. Each has individual working hours and optional calendar sync.
Resource tags determine which resources a booking form is allowed to use. Booking forms often filter by tag to only consider relevant resources for a specific service type or region.
User tags are applied to internal staff for grouping, access control, and routing — they do not affect availability directly. Linking user tags to resource tags controls which staff can be assigned when a form requires a specific resource type.
How campaigns affect the calendar
Each campaign creates separate leads and events. The same customer may appear multiple times in the calendar if they've been through multiple campaigns (e.g. Quotation → Installation → Service). All events from all campaigns affect availability and external sync — but remain cleanly separated for reporting and automations.
Common searches
calendar setup • booking availability • no available times • resource availability • external calendar sync • business hours • travel time
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article