How do I configure booking duration and time restrictions?

Modified on Thu, 4 Dec at 11:33 AM

How do I configure booking duration and time restrictions?

Booking duration and time rules control how long meetings last, when they can be booked, and how available time slots are presented to customers.

On this page

Jump to any section using the links below

Booking duration and time rules control how long meetings last, when they can be booked, and how available time slots are presented to customers. This article covers the standard duration settings and the “Highlighted times” suggestion logic.


1. Where to configure duration and time rules

  1. Go to the relevant campaign.

  2. Open Booking forms and choose the form.

  3. Click the Times / suggested time slots configuration for that form.

You’ll see settings for default duration, intervals, buffers, rolling dates, and more.


2. Setting booking duration

Key options:

  • Default duration

    • Base duration used when no other information is provided (e.g. 30 minutes).

  • Custom duration (minutes)

    • A fixed custom duration that overrides the default if it evaluates to a positive integer.

  • Is duration selectable?

    • Allow the customer to change the duration.

    • Common when you offer variable-length meetings.

  • Duration options (minutes)

    • A list of allowed durations (e.g. 15 30 60).

    • Only used when duration is selectable.

  • Honor variable resource durations

    • If enabled, Hubhus uses resource-specific duration rules (defined on calendar resources) instead of a single global duration.


3. Time slot intervals and rounding

You can control how time slots are displayed:

  • Suggest first/last time slots

    • Control whether first and last possible start times are included as options.

  • Round times to nearest

    • E.g. 15 minutes → 12:00, 12:15, 12:30...

    • Keeps booking times aligned and predictable.

  • Force rounded times?

    • If set to “Yes”, first/last times that don’t land on your rounding grid will not be suggested.

  • Show as start time intervals?

    • Choose whether to show:

      • Exact start time only, or

      • A “start–end” label (e.g. “10:00–10:30”).

  • Buffer in between events

    • Add mandatory gap between bookings (e.g. cleaning, travel, or preparation time) in minutes.

  • Allow squeezing duration (%)

    • How much you allow the system to “squeeze” duration relative to available gaps.

    • 0% = strict; higher values allow more flexible fitting.


4. Earliest/latest bookable dates and rolling windows

You can control how far into the future bookings are allowed:

  • Earliest rolling date

    • E.g. “Tomorrow”. Prevents same-day bookings if you need preparation time.

  • Booking time threshold

    • Time of day deadline for same-day bookings (e.g. 14:00).

    • After this time, customers can only book from the next eligible day.

  • Latest rolling date

    • E.g. “In 3 months”. Limits how far into the future customers can book.

  • Earliest bookable date / Latest bookable date

    • Fixed calendar dates – useful for campaigns with limited periods (events, seasons, etc.).

  • Force available hours?

    • If set to “Yes”, the booking form enforces its own hours even if resource available hours differ.

Dynamic overrides via hidden inputs

You can override some of these settings dynamically in the form content (Part 1) using hidden inputs, for example:

<input name='earliest_date' value='2025-11-29' type='hidden' /> <input name='latest_date' value='2025-12-06' type='hidden' /> <input name='after_time' value='12:00' type='hidden' /> <input name='before_time' value='18:00' type='hidden' />
  • earliest_date / latest_date – restrict search to a date range.

  • after_time / before_time – restrict start times within the day.

Place these in the description (Part 1) so they load before time slots are calculated.


5. Highlighted time slots (intelligent suggestions)

“Highlighted times” is the intelligent layer on top of normal availability. When enabled, the booking form:

  • Highlights preferred times first (shortest transit, efficient day structure)

  • Still allows the customer to choose other available times

  • Uses a set of parameters to decide which slots are “good”

For deep technical details you can link to your main article “Understanding Highlighted Times in the booking system”. Below is a short overview of the most important settings.

Core options

  • Highlight preferred time slots

    • Turns on the intelligent suggestion logic.

    • Preferred slots are shown first but other available slots remain selectable.

    • If everything is roughly equal, all slots are shown.

  • Suggest optimal dates

    • Looks across multiple days and suggests the best date/time combinations before allowing the user to pick any date freely.


Search and transit parameters (summary)

  • Look max. days into future

    • Limits how far ahead the algorithm searches.

  • Absolute transit of a good slot

    • Any transit below this is considered good.

    • Higher values = faster algorithm but potentially longer drives.

  • Suggest slots in near future

    • Prefer earlier dates when possible (e.g. next few working days).

  • Relative transit of a good slot

    • Compares each slot to the best slot found.

    • Slots within this extra margin are also considered “good”.

    • Higher values = more suggestions, but less strict on transit.

  • Suggest different days / Suggest max. on the same day

    • Control how many different dates and how many suggestions per day to include.

  • Suggest optimal times (after a date is picked)

    • Once the user chooses a date, the best times on that day are still highlighted.

  • Transit threshold – daily / global

    • Daily: good relative to best slot that day.

    • Global: any slot below this threshold is always preferred.

  • Allow booking less optimal times

    • If set to a number of days, you can limit how far ahead users may pick non-optimal times.

  • Add CO₂ icon to optimal / short transits

    • Visually mark particularly efficient slots with a CO₂ indicator.


6. Form messages for time and transit issues

In the Form messages section of the booking form you can define how errors are communicated, for example:

  • Unsupported postal code

    • “It is unfortunately not possible to book in postal code %booking_postal_city%.”

  • Address too far from base

    • “The address %booking_location% is too far away to be booked through this form.”

  • No available times found

    • “No available times were found before [date]. Please try another date or contact us.”

  • Unknown address or postal code (transit cannot be calculated)

    • If left blank, Hubhus will allow booking without transit-based checks.

Good messages dramatically reduce confusion when customers cannot see the times they expect.


Best practices

  • Start with simple rules (fixed duration, basic intervals) and only add complexity as needed.

  • Keep “Look max. days into future” moderate for both performance and usability.

  • Use buffers between events to protect your team from back-to-back overload.

  • Always test with real addresses and dates to verify that highlighted times match your expectations.



? Common searches

booking setup • calendar setup • appointment scheduling • booking configuration

? Also known as

appointment • scheduling • reservation • calendar event

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