Booking & Scheduling

Let clients and external parties book time slots based on your real availability — with templates, confirmations, and cancellation links.

Booking Templates

Templates define the rules for a type of bookable meeting. Create as many templates as you need for different meeting types, durations, or teams.

Creating a Template

Go to Settings > Templates and click "New template". Configure the following:

Duration

Length of each bookable slot in minutes.

Buffer minutes

Time blocked before and/or after each booking to prevent back-to-back meetings.

Availability windows

Define the hours available for booking on each day of the week. For example, Monday 09:00–17:00, Tuesday 10:00–16:00. The times are anchored to the template's timezone — see Timezones in Booking below.

Booking targets

Where confirmed bookings are created. Choose one or more: ERP activity, Outlook event, Google Calendar event, Zoom meeting.

Custom fields

Add extra fields to the booking form — text, dropdown, or checkbox. The booker fills these in when booking.

Holiday blocking

Automatically block days that are public holidays in the configured country. Holiday data comes from the holidays API.

Enabling Booking on a Share Link

Booking is opt-in per share link. A share link must exist before you can enable booking on it.

  • Open the share link settings from the Favorites dropdown
  • Toggle "Enable booking" on
  • Select one or more booking templates to make available to the booker
  • Set the day limit — how far ahead the booker can see available slots (14 to 365 days)
  • Save the settings; the share link now shows a booking interface

The share link's visibility setting still controls what the booker can see in the calendar view, independent of the booking functionality.

Day Limit

The day limit restricts how far ahead a booker can schedule a meeting. This prevents bookings too far in the future before your availability is known.

  • Minimum: 14 days
  • Maximum: 365 days
  • Configured per share link, not per template
  • Days beyond the limit appear grayed out in the booking calendar

The Booking Flow

This is what the booker experiences when they open a booking-enabled share link.

1

Select a template

If multiple templates are enabled, the booker chooses which type of meeting they want.

2

Pick a date

A calendar shows the upcoming days within the day limit. Dots indicate days with available slots. Holidays and fully booked days are blocked.

3

Pick a time slot

Available time slots for the selected date are shown. Slots that overlap with existing events are hidden. Buffer time is automatically accounted for.

4

Fill in the form

The booker enters their name, email, and any custom fields defined in the template.

5

Confirm

The booker reviews the details and confirms. The booking is processed immediately.

What Happens After Booking

  • An activity or event is created in all configured booking targets (ERP, Outlook, Google)
  • If Zoom is a target, a Zoom meeting is created and the link is included
  • A confirmation email is sent to the booker (if SMTP is configured)
  • The confirmation page shows meeting details and a cancellation link
  • The booker can use the cancel link to cancel the booking at any time
  • Cancelling removes the event from all booking targets

Timezones in Booking

Booking involves three distinct timezone roles. Getting them right ensures that a host in Riga and a booker in Tokyo both see correct times, and that the resulting calendar event lands at the right UTC moment regardless of where either party is located.

1
Template timezone — anchors availability windows

Every booking template has a timezone that defines what the availability window times mean. If the template says Monday 09:00–17:00 and the template timezone is Europe/Riga, those hours are Riga wall-clock time — a 09:00 slot corresponds to 06:00 UTC in summer (UTC+3) or 07:00 UTC in winter (UTC+2).

The template timezone defaults to the creator's viewer timezone at the time the template is created. It is stored on the template and does not change when the creator later travels or updates their personal timezone setting — this prevents silent shifts in your availability that would otherwise occur if you set up a template in Riga and then switch to Tokyo time.

Where to set it: Settings > Templates > [template] — the timezone picker appears next to the availability windows.

2
Participant intersection — calendar busy blocks in UTC

When computing available slots, herbe.calendar fetches busy blocks from all connected calendars — ERP, Outlook, Google, ICS. Each source has a known source timezone (configured under Admin > Connections). Busy blocks are converted to UTC intervals at fetch time, and availability arithmetic is done entirely in UTC.

This means participant timezone differences are handled automatically. A London participant with a meeting at 12:00 BST (11:00 UTC) correctly blocks 14:00 Riga (also 11:00 UTC), without any per-person timezone configuration needed.

3
Booker display timezone — how the booker sees available slots

The person making the booking sees all available slots in their own timezone, which is auto-detected from their browser. A small timezone selector near the top of the booking page lets them switch to a different timezone if needed — for example, when booking on behalf of someone else.

Changing the booker timezone only changes the display — the underlying available slots (derived from the template timezone and UTC busy blocks) are the same. The slot the booker picks is submitted as an unambiguous UTC timestamp, so the resulting calendar event is always created at the correct moment regardless of what timezone either party is viewing in.

The confirmed booking stores both the host timezone (from the template) and the booker timezone. Confirmation emails show the meeting time in the booker's local timezone.

End-to-end example

Template TZEurope/Riga — availability Monday 09:00–17:0009:00 Riga =06:00 UTC (summer, UTC+3)Participant busy blockLondon meeting 12:00–13:00 BST = 11:00–12:00 UTC → blocks 14:00–15:00 RigaBooker TZAmerica/New_York (UTC−4 EDT)Booker seesMonday slots from 02:00–10:00 EDT, with 10:00–11:00 EDT blockedBooker picks09:00 EDT → submitted as 2026-04-28T13:00:00ZCalendar eventCreated at 16:00 Riga / 13:00 UTC / 09:00 New York — correct for all parties