cal.com
cal.com copied to clipboard
Support Blocking Holiday Calendars
Is your proposal related to a problem?
As explained here in #6292, I want holidays to automatically make all time slots unavailable.
Currently, I am using Google calendar and they have holiday calendars that indicate national holidays as all-day events. While I can select the "Holidays in xyz" calendar in Cal.com, it does not affect my availability:
Describe the solution you'd like
What I would like is that I can use either:
- Cal.com allows me to mark an (external, i.e., Google, Apple, etc.) calendar as a holiday calendar, where all all-day events are treated as blocking (even if they do not have a "busy" field)
- Cal.com supports adding its own (native) holiday calendars that automatically block out days
Describe alternatives you've considered
None really. Of course I could make an automation that duplicates holidays into another, user-owned calendar, but that feels backwards as the whole point of the app is to do conflict checking.
Additional context
Seems like this was deemed not to be part of the scope of #6292. :)
Thanks!
Thank you for raising this @njyo 🙏
Does this has to be shown up in the Availability > dates overrides section?
It's not ready to be implemented yet. Please hold on while the designs are set.
One confusing behaviour of Google Calendar is that all-day events are created as "free" by default and regular events "busy" by default. I only learned of that behaviour whilst debugging and reading through these issues, and it doesn't look like you can change those defaults in Google Calendar.
If we label this feature a little more generically, Treat all-day events as "Busy"
, it can help both the public holidays issue as well as this awkward behaviour of Google Calendar.
Something like:
[ ] Treat all-day events as "Busy"
Some calendar providers create all-day events as "free" by default, so they don't block your availability. This can include "Public Holiday" events whose free/busy status you cannot change. Check this option if you want to disallow bookings during all-day events in your calendar.
this would fix it: #7600
this would fix it: #7600
Thanks, @PeerRich, but this only works for holidays that are always on the same date of a solar calendar, like Christmas or New Year. It does not work for holidays that change dates on a solar calendar like Easter, Lunar New Year or Eid al-Adha… 😬
For German holidays, we use this ICS file from Apple in our Apple Calendar: https://calendars.icloud.com/holidays/de_de.ics/ Would be great, if such an ICS could be used as a blocking element on the team level. So maybe this can be solved in relation to #3167
To @louisbarclay and anyone else stumbling upon this issue:
I experienced the exact same issue. Events in the Google holidays calendar seem to be implicitly considered as "free" because they are full-day events, so they are not considered by Cal.com when checking your availability.
I solved this by subscribing to a different, external calendar which explicitly marks the events as "busy". officeholidays.com is working well for this purpose. Find your country via the menu, click "subscribe to calendar", choose the right iCal URL (one that only contains official public holidays), and add it to Google Calendar. Don't forget to enable the new calendar in your calendar settings in Cal.com.
Now public holidays in my country are no longer available on my booking pages.
This worked great for me, see the comment here: https://github.com/calcom/cal.com/issues/2397 @itsberkaya would this be enough, or do we want our own solution inside cal.com?
Would this also work with CalDAV-calendars? I still would love some built-in way to use some external source (iCal-feed) that blocks holidays for the whole team without onboarding everyone one by one.