How does the calendar system work?

Modified on Thu, 4 Dec at 11:32 AM

How does the calendar system work?

The Hubhus calendar is the core of your booking system. It determines when a resource is available, how events block time, how booking forms calculate options for customers, and how external calendars (Google/Outlook/CalDAV) influence availability.

On this page

Jump to any section using the links below

The Hubhus calendar is the core of your booking system. It determines when a resource is available, how events block time, how booking forms calculate options for customers, and how external calendars (Google/Outlook/CalDAV) influence availability.
Understanding these connections gives you a predictable, consistent booking flow.


Calendar vs. booking form vs. event

Calendar

The calendar shows all activity across campaigns and resources. It includes:

  • Busy events

  • Free events

  • Resource availability

  • Business hours

  • Travel/buffer calculations

  • External calendar blocks

The calendar is the truth source for what is available and what is not.


Booking form

The booking form is the customer-facing page used to create a booking.
It controls:

  • Duration

  • Required resources

  • Address rules

  • Driving time + buffer rules

  • Time interval settings

  • Layout and branding

  • What constitutes a valid “slot”

The booking form feeds into the calendar.


Event

An event is the actual booking placed into the calendar.

Events contain:

  • Start/end time

  • Duration

  • Address/location

  • Assigned resource

  • Description

  • Metadata about how it was created

Busy events block availability.
Free events do not block availability.


Resources and users

A resource is anything that can be booked:

  • A technician

  • A consultant

  • A team

  • A vehicle

  • A room

Each resource may have:

  • Individual working hours

  • Calendar sync setup

  • Business hour restrictions

  • Default address or location

The booking engine checks each resource independently when looking for available times.


How availability is calculated

Availability = a combination of several rules:

1. Resource availability

The resource must be:

  • Active

  • Not already busy

  • Not absent (holiday/special date)

  • Not blocked by external calendar events

2. Business hours

Bookings must fit within business hours unless overridden by the form.

3. Travel time / driving rules

If travel logic is enabled, Hubhus checks:

  • Travel time from previous event

  • Travel time to next event

  • Travel time from opening of day

  • Travel time to closing of day

  • Distance from customer address

Strict travel rules are the #1 reason why times disappear.

4. Event duration

The selected service (e.g., “2-hour measurement”) must fit fully in the gap.

5. Buffers

Pre/post buffers expand the “blocked area” around events.

6. Special dates

Override standard hours. Used for:

  • Vacations

  • Holidays

  • Half days

  • Company events

If a day is blocked as a special date, no availability will be shown.


External calendar sync (Google / Outlook / CalDAV)

Each resource can sync their personal calendar to Hubhus.
This allows the system to treat external events as part of its availability logic.

How it works

When a user connects an external calendar:

  • Busy events from Google/Outlook block availability

  • Free events do not block availability

  • Hubhus events are pushed to the external calendar

  • Updates sync continuously

  • Travel/buffer rules consider external blocks as part of the day

This ensures personal meetings, dentist appointments, private errands, etc., all correctly affect availability.


How campaigns affect the calendar

Hubhus is structured around campaigns, each representing a workflow module such as:

  • Quotation

  • Measurement & installation

  • Service

  • Invoicing

When a customer moves from quotation → installation → invoicing, they become a new lead in each campaign, each with a new lead ID and new data structure.

Why this matters for the calendar

The calendar does not merge these leads.
Therefore, the same customer may appear multiple times in the calendar, each event tied to the campaign that created it.

Example:

  • The quotation campaign created a consultation event

  • The installation campaign created a measurement event

  • The service campaign created a follow-up event

All three appear in the calendar as unique entries — with different lead IDs — even though they belong to the same person.

This maintains:

  • Clean automations

  • Accurate reporting

  • Correct workflow separation

Yet all events from all campaigns impact availability and external sync.


Booking origin: manual vs booking form

Events can be created:

  • Manually by a Hubhus user

  • Automatically via a booking form

The event footer shows you exactly how and when it was created:

Booked Fri, Nov 21, 2025 14:02 using online booking

Clicking the footer opens full metadata such as:

  • Booking form used

  • IP address

  • Customer inputs

  • Related lead

This is crucial for understanding unexpected bookings.


Business hours and special dates

Business hours

Define when bookings are generally allowed (e.g., 08:00–16:00).

Special dates

Override normal hours entirely.
Examples:

  • Christmas closed

  • Training day

  • Summer schedule

Special dates always override regular business hours.


About tags (Resource tags & User tags)

Tags in Hubhus are used to organize how resources and users behave across booking, availability, and internal workflow logic.


Resource tags

Resource tags are applied to resources (technicians, teams, vehicles, rooms, etc.) and determine:

  • which resources a booking form is allowed to use

  • which resources appear in availability

  • which resources can be matched to specific service types, regions, or skills

  • how multi-resource bookings are constrained

Booking forms often rely on resource tags to ensure that only relevant resources are considered when calculating times.


User tags

User tags are applied to users (internal staff) and are used for:

  • grouping users

  • access control

  • visibility rules

  • internal routing

User tags do not affect availability directly.


Linking user tags to resource tags

Hubhus allows you to link user tags to resource tags.
This controls which users are eligible to be assigned when a booking form requires a resource with a specific tag.

Important points:

  • A single resource tag can be linked to multiple user tags

  • Users inherit assignment eligibility through their user tag

  • This creates a clean permission model for who can be scheduled for which type of work


Example:
If a booking form requires the resource tag Inspection Technician, only users with user tags linked to this tag can be assigned.



Learning outcome

After reading this, you should understand:

  • The difference between calendars, booking forms, and events

  • How resources define availability

  • How availability is calculated

  • How special dates influence scheduling

  • How external calendar sync affects blocking

  • How campaigns create separate leads and events

  • Why the same customer may appear multiple times in the calendar

  • How to check booking origin for troubleshooting

? Common searches

booking setup • calendar setup • appointment scheduling • booking configuration

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article