How do I configure booking duration and time restrictions?
Control how long a booking lasts, how far in advance it can be made, how slots are spaced and rounded, and what time windows are available. These settings make the difference between a booking form that works precisely and one that causes confusion.
TL;DR
Go to Campaign → Booking forms → [your form] → Times / suggested time slots. Set default duration, time slot rounding interval, buffers between events, and earliest/latest rolling dates. Test with a real address and date before going live.
Get started in 4 steps
Go to Campaign → Booking forms → [your form] → Times / suggested time slots.
Set Default duration (e.g. 30 minutes). Optionally enable Is duration selectable? and define Duration options (e.g. 15 30 60) if customers should be able to choose.
Set Round times to nearest (e.g. 15 min → slots at 09:00, 09:15, 09:30...). Set Buffer in between events for preparation or travel time between bookings. Set Earliest rolling date (e.g. "Tomorrow") and Latest rolling date (e.g. "In 3 months") to control the bookable window.
Test the form on its public URL with a real address and date. Verify that the slots appear as expected and that the date window is correct.
Read more⌄
Time slot intervals and rounding options
- Round times to nearest: Forces all slot start times to a grid (e.g. 15 min). Keeps times predictable.
- Force rounded times? If yes, start/end times that don't land on the rounding grid are excluded.
- Show as start time intervals? Show exact start time only, or a "start–end" label (e.g. "10:00–10:30").
- Suggest first/last time slots: Whether to include the very first or last possible slot of the day.
- Allow squeezing duration (%): How much Hubhus can compress the duration to fit into a gap. 0% = strict.
Date window controls
- Earliest rolling date: e.g. "Tomorrow" — prevents same-day bookings.
- Booking time threshold: Time-of-day deadline for same-day bookings (e.g. 14:00). After this, earliest date moves to next eligible day.
- Latest rolling date: e.g. "In 3 months" — limits how far ahead customers can book.
- Fixed earliest/latest date: Use for limited-period campaigns (events, seasonal offers).
- Force available hours? If yes, the form enforces its own hours even if the resource has different available hours.
Set parameters dynamically
Place hidden inputs in the description part of the booking form to override date/time restrictions at runtime:
| Input | Description |
|---|---|
<input name='earliest_date' value='2026-05-14' type='hidden'/> |
Times will not be suggested before this date |
<input name='latest_date' value='2026-05-21' type='hidden'/> |
Times will not be suggested after this date |
<input name='after_time' value='12:00' type='hidden'/> |
Times will not be suggested starting before this hour of the day |
<input name='before_time' value='12:00' type='hidden'/> |
Times will not be suggested starting after this hour of the day |
Date format: YYYY-MM-DD. Time format: HH:MM. Use hh-date.format to compute dates dynamically:
<!-- Earliest = 1 week from now --> <input name='earliest_date' value='<hh-date.format input="now+1week" output="Y-m-d" />' type='hidden'/> <!-- Earliest = 2 days from now --> <input name='earliest_date' value='<hh-date.format input="now+2days" output="Y-m-d" />' type='hidden'/> <!-- Latest = 1 month from now --> <input name='latest_date' value='<hh-date.format input="now+1month" output="Y-m-d" />' type='hidden'/>
Best practices
- Start with simple rules (fixed duration, basic intervals) and add complexity only as needed
- Use buffers to protect your team from back-to-back scheduling
- Keep "Look max. days into future" moderate for both performance and usability
- Always test with real addresses and dates to verify highlighted times match expectations
Common searches
booking duration • time slot interval • buffer between bookings • earliest date • latest date • same day booking • rolling date
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