[CAL-2979] ICS feed support for checking against double bookings
Is your proposal related to a problem?
I teach a language on italki. When people book lessons, the lessons event get dynamically updated in an .ics file calendar that's hosted through http. I use software (Thunderbird on my computer and ICSx5 on my Android smartphone) to see this calendar along my usual calendar (in CalDAV).
Cal.com has the ability to check my CalDAV for events that are present when someone want to book a meeting. Sadly, if someone booked a lesson on italki, the lesson will only show in the read-only ICS calendar. Therefore, someone could book a meeting on my Cal.com page even though I'm already booked on italki.
I have no abilities to automatically import the ICS feed in my CalDAV calendar for Cal.com to see when I'm busy.
Describe the solution you'd like
I would click on addons, click on ICS calendar, enter the link and press okay. Cal.com would check this one and my CalDAV calendar and prevent double bookings.
It would be awesome if Cal.com had an app to read the ICS calendar (the same way it reads my CalDAV calendar) when someone is trying to book a meeting. ICS calendars are very easy to set up (just a link) and I believe there wouldn't be much to be changed from the CalDAV Cal.com support app code.
Integrated support for ICS feeds is common in most calendar solution, so it would only make sense Cal.com also does. (IOS, Google and Thunderbird all support it. Sadly, not automatic import, because it doesn't really make sense except for my use case).
Describe alternatives you've considered
I've added the calendar as a subscription to my CalDAV calendar (hosted at Infomaniak), but cal.com is totally incoherent when it comes to seeing them or not (sometimes it does and I can't book times where I'm unavailable and sometimes it doesn't). As such, I think it would work better if this was part of Cal.com features.
Additional context
Thanks for your answer and work on Cal.com
From SyncLinear.com | CAL-2979
Hi there. Thanks for reaching out. Our team will look into this.
after looking into this, it seems like a fairly sized feature to build with not a lot of people requesting it.
maybe someone from the community wants to pick this up and release it as an app in the app store?
This feature would enable support for Proton Calendar and other encrypted platforms that offer availability via ICS links.
Yes, there are many platforms which export availability via ICS URLs. My guess for the reported low number of people requesting it is that it's the kind of feature which won't occur to most people as useful until they actually see it implemented. IMHO the ubiquity of ICS as a well-adopted standard makes this a very desirable feature for growing the platform.
I guess it would be fine as an app. I don't know the code base yet, but I'm a bit surprised to hear that it would be a fairly sized feature to build, since isn't it pretty much the simplest app you could build? It just has to fetch data from a single URL and integrate it. Probably I'm missing a bunch of complexity. Or is it just that even building a simple app is quite a lot of work?
Is there a place we can express our desire for this? I don't want to cause noise on a ticket, but as Christian mentioned, this would be highly impactful
maybe @alishaz-polymath can look into this as he is working closely with caldav
Related issues
#2054 is very similar to this, but see https://github.com/calcom/cal.com/issues/2054#issuecomment-1211943072 for the difference.
#3810 is a request for the "opposite" feature, i.e. cal.com being able to export an aggregated ICS feed (which could be a collection of either VFREEBUSY or VEVENT) to other systems, in contrast to this and #2054 which are both about cal.com importing an ICS feed. I see great value in both features, even though they are pretty much exact opposites of each other.
I just want to mention here that this feature is up next for us in CalDAV as soon as we have stabilized the integration enough to consider it robust. This could still take some time, but it is surely now in our sight π
@alishaz-polymath thatβs awesome!
I just want to mention here that this feature is up next for us in CalDAV as soon as we have stabilized the integration enough to consider it robust. This could still take some time, but it is surely now in our sight pray
Can't wait! Cal.com being able to subscribe to published ICS feeds would be a killer feature for me. Without it I literally can't use Cal.com right now...
@alishaz-polymath that's great! Looking forward for this. I also think that allowing Proton Calendar (among several others that use ICS) will increase the users that can use cal.
This would be much appreciated! I'd rather publish & connect a redacted ICS instead of full caldav credentials.
Is this on the roadmap for a future version? Like 2.x?
This is also a great feature for people who cannot import their calendars due to organization administrator restrictions.
As an example, I am currently a student and my university does not allow me to import my Outlook calendar into cal.com as this requires elevated privileges. However, I do have an .ics feed that I already imported to other apps such as Google calendar etc. showing me all internal events in read-only mode.
With the feature mentioned above, cal.com could prevent double-bookings colliding with read-only calendars, which is kind of a hygiene factor.
we'll look into it. its not on the roadmap yet, maybe Q1
if someone from the community wants to make an ics feed app, we'll happily approve!
Bounty for an app that checks against one or more .ics urls for non-availability to prevent double-bookings.
- It should be possible to use with other apps like Google Calendar, Exchange or CalDav.
- It should query the .ics before a booking (not import the .ics once and then never update).
- It should be possible to add, remove, modify multiple .ics urls.
π Hey @mschneiderwng, only the Cal.com members on Algora are authorized to create bounties. You can sign up with a @cal.com address to auto join the org.
Alternatively, you can create a community bounty on behalf of your personal account.
π $100 bounty created by @Faknit π $100 bounty created by @mschneiderwng
π No need to comment asking to work on it. Just open a PR and claim the bounty with /claim #3167 inside the PR
π Before proceeding, please make sure you can receive payouts in your country
π΅ Payment arrives in your account 2-5 days after the bounty is rewarded
π― You keep 100% of the bounty award
π Thank you for contributing to calcom/cal.com!
attempt #3167
I would like to control team availabilities, so that an admin can add an calendar with holidays or other closing days, and then no one of the team is available, independent of the individual settings: Maybe this fit's in here? .../availability?type=team For instance we could use an Apple ics with the german holidays for that: https://calendars.icloud.com/holidays/de_de.ics
Hello π, this looks interesting. I want to work on this if I can.
Hey! @Hitesh-sisara @tweetandcode Do you want to work on this together and split the bounty?
Whats the progress on this ?
Hi @skyrunner360, I'm open to it, we can work together and split the bounty
I'm not a programmer, but I'm a user who can't wait for robust open source ICS feed support and literally can't use Cal.com for my purposes without it.
Is there a way for me to add some money to the bounty to make things happen quicker??
Hi @penyuan, absolutely! You can add a bounty for this issue here π https://algora.io/org/cal/bounties/new
Hi @algora-pbc thanks for the link. But I think someone else has already created a bounty for this issue? If so, my question is if I can add more $$$ to that existing bounty?
@penyuan we pool all bounties for the same issue into a single bounty pot, so that would be the same thing :innocent:
Just chipping in here to say that I'm so stoked that this is finally getting traction. I also literally can not use cal.com until this feature is active (no admin approval for work calendar). I'm also adding to the bounty.
π $100 bounty has been added to the prize pool by @Faknit!