Skip to main content

Availability and Busy Calendars

Your available times depend on two things: the hours and limits you set for a booking page, and the busy times in your chosen calendars. This guide explains how they work together and how to check the result. For help editing a page, see Booking Pages.

Which Times People Can Book​

A booking page offers a start time when all of these are true:

  • The whole meeting fits within one of the page's weekly time ranges, or the hours set for that specific date.
  • The start is within the Date range and allows enough Minimum notice.
  • You're free in your busy calendars for the whole meeting and its buffer time.
  • No booking or request on any of your booking pages overlaps the meeting or its buffer time.
  • The booking page hasn't reached its Maximum bookings for that day, week or month.
  • The booking page is on and not paused, and your busy times are less than 7 days old (see Keeping Your Busy Times Up to Date).
  • The page has a destination calendar selected, and its account isn't turned off in BusyCal. See When the Calendar's Account Is Turned Off.

If a previously selected calendar is no longer available, the page may still accept bookings. Pause it while you choose another destination. See When the Calendar Is Missing.

Hours and Specific Dates​

Set Weekly hours in the booking page's time zone. You can add several time ranges per day, such as 9:00 AM to noon and 1:00 PM to 5:00 PM to keep lunch free. If the end time is earlier than the start, the hours continue overnight and show Ends the next day.

Use Specific dates to replace your usual hours on a particular date. Leave a date without hours to mark it Closed all day.

Overnight hours belong to the day they start on. Closing Tuesday doesn't remove the after-midnight portion of Monday's hours. For example, Monday hours of 11:00 PM to 1:00 AM still offer 30-minute meetings at midnight and 12:30 AM on Tuesday. To close Tuesday completely, also override Monday's hours so they end by midnight.

You can add up to 30 specific dates per page. If you leave weekly hours empty, the page offers only those dates. Its card in Booking pages reminds you of this while the page is on.

People see the times in their own time zone, and they can choose another time zone on the booking page. If the booking page uses Show times only in this time zone, everyone sees the booking page's time zone instead.

Durations and Start Times​

If you offer more than one Duration, visitors choose one before choosing a time. Default sets the initial duration.

Start time increments set how far apart the start times are. For example, a 30-minute meeting offers 9:00, 9:30 and 10:00 with Same as the duration. With 15-minute increments, it offers 9:00, 9:15 and 9:30.

Notice, Buffers, Date Range and Limits​

  • Minimum notice: How much advance notice you need. With 1 day selected, the earliest bookable meeting starts 24 hours from now.
  • Buffer time: Reserve free time Before each meeting and After each meeting. A meeting isn't offered if another booking or a busy calendar event would overlap that buffer. Between two bookings, the larger buffer applies; the two buffers aren't added together.
  • Date range: Days into the future offers times on that many days, counting today, up to 210 days. Between two dates offers times only from the Start date to the End date, including both dates.
  • Maximum bookings: Limit this page's bookings Per day, Per week or Per month. Confirmed bookings and pending requests count, including earlier ones in the same period. A booking continues to count against its original period after it's added to your calendar, even if you move or delete the event. Days and months use the page's time zone; weeks start on Monday. Once a limit is reached, no more times are offered in that period.

Bookings and pending requests block their times across all your booking pages, so people can't reserve the same time through a different page.

Busy Calendars​

Choose which calendars Bookings checks for conflicts under Free Times in BusyCal's Bookings settings. These are your busy calendars. Your selection applies to every device using your Bookings account.

  1. Choose BusyCal > Settings, then select Bookings.
  2. Under Free Times, click Choose Calendars… next to Calendars to check. The Check for Free Times sheet opens.
  3. Check the calendars whose events should stop people from booking, and uncheck the others. If you have many calendars, use the search field to find one. Select All and Deselect All change all of your calendars except calendar subscriptions, which you check one by one.
  4. Click Save.

Calendars are grouped by account, with a selected count for each. After you save, Calendars to check shows All calendars, No calendars, or a count such as 3 of 5 calendars.

In the dashboard, Settings > Access > Busy calendars summarizes your selection, including excluded calendars and any subscriptions you've included. Below it, each calendar's last shared busy times are listed. See Busy Times for Each Calendar.

BusyCal shares up to 256 of your calendars with Bookings. If you have more, your dashboard says how many aren't listed.

Which Calendars Count​

The picker lists calendars that hold events. A selected calendar blocks booking times even when it's hidden in BusyCal's calendar list. Calendars from accounts that are turned off or not in use on this Mac appear at the end without checkboxes. This Mac can't check them until the account is in use. See When a Calendar Account Stops Syncing.

Some kinds of calendar work differently:

On My Mac calendars

The sheet also lists your On My Mac calendars that hold events. A checked On My Mac calendar counts as busy, like a calendar in an account.

Holiday calendars

Holiday calendars don't count as busy, and the sheet doesn't list them. The Calendar app's holiday calendars in an Apple Calendar account are an exception: see Apple Calendar accounts below.

Calendar subscriptions

Calendar subscriptions, such as webcal links and subscriptions in iCloud, start unchecked. Select each one whose events should block booking times. Select All and Deselect All leave subscriptions unchanged, and new subscriptions also start unchecked.

Subscriptions refresh on their own schedules, so changes may take longer to affect your availability.

Calendars subscribed over the LAN

Calendars that you subscribe to over the LAN work like your other calendars, not like calendar subscriptions. They start checked and count as busy unless you uncheck them.

Apple Calendar accounts

An Apple Calendar account shows the calendars of the Calendar app on your Mac in BusyCal, read-only. It's different from an iCloud or other CalDAV account that you add to BusyCal directly.

For an Apple Calendar account, the sheet lists the Calendar app's subscriptions, including its holiday calendars, as calendar subscriptions: they start unchecked and count as busy only after you check them. The sheet doesn't list the Calendar app's Birthdays calendar, which never counts as busy.

Which Events Count​

In a busy calendar, events count as busy unless they're marked as free. This includes all-day events, and invitations that you accepted or accepted as tentative. An event whose free or busy status Microsoft reports as unknown also counts as busy. Declined invitations and cancelled events don't count.

An all-day event that you make in iCloud on the web is marked as free, so it doesn't block the day.

Travel time before an event, set in BusyCal or in Apple Calendar, also blocks booking times. Up to one day of travel time counts.

An invitation that you haven't answered also counts as busy, unless it's for an all-day event. An all-day invitation doesn't block the day until you accept it or accept it as tentative.

BusyCal shares only the times when you're busy with Bookings, as start and end times for each busy calendar. It shares nothing about the events themselves.

Confirmed bookings and pending requests block their time even if their destination calendar isn't selected as a busy calendar.

After BusyCal adds a booking to your calendar, its booked time stays blocked until that time has passed, even if you move or delete the meeting in your calendar. If you move the meeting, its new time counts as busy only when its calendar is checked for free times.

How BusyCal Finds Your Answer to an Invitation​

BusyCal identifies your response by finding you in the invitation's attendee list. Depending on the account, it uses the account email or addresses on your My Card in Contacts. If it can't identify you, the invitation counts as busy even if you declined it.

Apple Calendar accounts

An Apple Calendar account shows the calendars of the Calendar app on your Mac in BusyCal, read-only. It's different from an iCloud or other CalDAV account that you add to BusyCal directly.

For an Apple Calendar account, BusyCal also uses the attendee that the Calendar app marks as you. So your address doesn't need to be on your My Card.

Keeping Your Busy Times Up to Date​

Each device shares busy times for your selected calendars when BusyCal opens, shortly after calendar changes, and at least every 6 hours while it can run. Keep BusyCal running on a Mac for regular updates. On iPhone and iPad, updates run while the app is open or when iOS allows background refresh.

Bookings stores each calendar's busy times separately, along with when they were updated. Your pages check all of them. If two devices share the same calendar, the last update received replaces the earlier one.

Stored busy times remain until BusyCal replaces them, you remove them, or you delete your account. Signing out doesn't remove them. To stop checking a calendar, deselect it in Check for Free Times or use Remove Busy Times in the dashboard (see Busy Times for Each Calendar).

To send an update now, click Sync Free Times Now under Calendars to check in BusyCal > Settings > Bookings. The button shows Syncing Free Times… until it finishes.

Out-of-date busy times can miss recent changes to your calendar. Bookings checks both the last update from a device and the age of each calendar's busy times. It uses whichever is oldest to decide whether to require approval or stop offering times:

  • Older than your chosen limit (1 day by default): All new bookings need your approval, even on pages set to confirm automatically. Visitors and your dashboard's Overview show that confirmation is required.
  • Older than 7 days: Your booking pages stop offering times, and Overview says "Booking pages can't offer times right now". Booking pages offer times again a few minutes after BusyCal shares newer busy times.

Pages also stop offering times if there are no busy times to check, such as after you remove the last calendar's busy times. Overview explains the problem. Click Sync Free Times Now in BusyCal > Settings > Bookings to share them again.

Check Settings > Access in the dashboard. Busy times > Last shared shows the latest device update, or Never. Under Busy calendars, each calendar has its own age, such as Updated 5 hr ago. A recent device update doesn't mean every calendar is current: one account may still have a sync problem.

To fix old busy times, follow the notice on Overview or in Settings > Access:

  • No recent device update: Open BusyCal on a device that uses Bookings. On a Mac, leave it running.
  • A calendar is out of date: The notice names it and shows the age of its busy times. Turn on or fix its account in BusyCal > Settings > Accounts. If you no longer want to check that calendar, deselect it in Check for Free Times or remove its busy times in Settings > Access.

Busy Times for Each Calendar​

Under Settings > Access > Busy calendars, each row shows the calendar, its account and its last update. Old busy times means it exceeds your chosen approval limit. Calendar not on your Mac means none of your devices currently lists that calendar.

To remove a calendar's busy times:

  1. In your dashboard, choose Settings > Access.
  2. Under Busy calendars, click Remove… in the calendar's row.
  3. Read what removing does, then click Remove Busy Times.

Removing busy times stops that calendar from blocking bookings until BusyCal shares it again. People may then book times that conflict with it. If you remove the last calendar's busy times, your pages offer no times until another update arrives.

Choosing When New Bookings Need Your Approval​

Choose how old your busy times can be before new bookings need your approval. The limit applies to both individual calendars and the last device update.

  1. In your dashboard, choose Settings > Access.
  2. Under Busy times, choose a time in Ask for approval when busy times are older than: 12 hours, 1 day, 2 days, 3 days or 5 days.
  3. Click Save.

The time applies to all of your booking pages. It's 1 day unless you change it.

When a Calendar Account Stops Syncing​

If an account stops syncing, Bookings continues to use the last busy times it received for its calendars. Those times still block bookings, but new events may be missing. Their age is measured from the account's last successful sync. Once they exceed your approval limit, new bookings become requests; after 7 days, your pages stop offering times. See Keeping Your Busy Times Up to Date.

This happens while the calendar's account:

  • Is turned off in BusyCal > Settings > Accounts.
  • Was added to BusyCal on another device, and you haven't started to use it on this Mac. Accounts settings lists such an account under Added on Another Device. To use it, select it there and click Use Account.
  • Can't sync, for example because of a sign-in or permission problem, or because the device is offline.

For an account that is turned off, or that you don't use on this Mac, BusyCal > Settings > Bookings shows a notice under Calendars to check, such as "BusyCal isn't checking the calendars in “iCloud” right now", with the reason and what to do. Your choices in the Check for Free Times sheet stay saved.

BusyCal's ability to detect a sync problem depends on the account type:

Google, iCloud, Exchange, Microsoft 365 and CalDAV accounts, and calendar subscriptions

For these accounts, freshness depends on the last successful sync, even if other accounts continue updating. An account with no selected busy calendars doesn't affect your availability's freshness.

A selected calendar subscription uses its last successful refresh in the same way. Unselected subscriptions don't affect freshness.

Apple Calendar accounts

An Apple Calendar account shows the calendars of the Calendar app on your Mac in BusyCal, read-only. It's different from an iCloud or other CalDAV account that you add to BusyCal directly.

BusyCal reads these events from the Calendar app and can't tell whether that app has stopped syncing an account. Their busy times therefore continue to count as current and won't trigger approval for that reason. This also applies to selected subscriptions in the Calendar app.

BusyCal needs full access to your calendars to read them. Without it in System Settings > Privacy & Security > Calendars, the sync of the Apple Calendar account ends with an error. Bookings keeps the last busy times of its calendars, and they get older from the account's last successful sync.

Calendars subscribed over the LAN

Calendars that you subscribe to over the LAN count as busy unless you uncheck them. When the Mac that publishes them is offline, new events on it don't reach your Mac. This doesn't make your busy times out of date. So your booking pages can still offer the times of those new events, and bookings at those times can still be confirmed automatically.

Checking Which Times a Booking Page Offers​

To see the times that a booking page offers, and why it doesn't offer others:

  1. In your dashboard, click Booking pages.
  2. On the booking page's card, click Show Availability.
  3. If the booking page offers more than one duration, choose the duration to check.
  4. Choose a day in the month. Dots mark the days that offer times.

The timeline uses the page's time zone. Point to a segment to see its time range and the reason it's offered or unavailable. Choose All Times for the whole day or Not Offered for unavailable times only. This view doesn't change your settings.

ReasonWhat it means
OfferedPeople can book this time.
Outside the dates people can bookThe time is outside the booking page's Date range.
Outside your hoursThe time is outside the booking page's Weekly hours.
Not in your hours for this dateThe hours of a specific date leave the time out.
You're busyAn event in your busy calendars, or a booking or request on any of your booking pages, overlaps the time.
Too close to another eventThe time falls within the buffer time around an event or another booking.
Within your minimum noticeThe time starts sooner than the booking page's Minimum notice allows.
Daily booking limit reached, Weekly booking limit reached, Monthly booking limit reachedThe booking page's Maximum bookings for that period is full.
Turned off, or Booking page is turned off or pausedThe booking page is turned off, or its bookings are paused.
Calendar account turned offThe account of the booking page's calendar is turned off in BusyCal. See When the Calendar's Account Is Turned Off.
Can't offer a locationThe booking page can't offer any of its locations. See When a Service Is No Longer Available.
Can't check your availabilityBookings doesn't have up-to-date busy times for this time. See Keeping Your Busy Times Up to Date.

If the page can't accept bookings, a notice above the month explains why and links to the next step:

  • No device update for 7 days: The notice shows the last update and See Your Devices.
  • Old or missing calendar busy times: It lists affected calendars where applicable and links to Access. A similar notice appears when times are offered but require your approval.
  • Calendar account turned off: Turn the account on, or click Edit to choose another calendar in Add bookings to.
  • No profile name, no selected destination calendar or expired access: The timeline repeats the notice's reason for each time.