nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
984 stars 241 forks source link

Share a whole calendar with "See only free/busy (hide details)" option #6247

Open Jerome-Herbinet opened 3 months ago

Jerome-Herbinet commented 3 months ago

Is your feature request related to a problem? Please describe.

Being 100% telework, and telework allowing a certain flexibility with private life, I sometimes have personal constraints (appointments, travel, etc.). During these time slots, I would like people to know that I am not available, but how can I do it? Share my personal calendar and mark each event whose details I do not want to be visible? No, it's too tedious. Duplicate personal events to my professional calendar and indicate "not there" or "busy". I do it, but it's tedious, especially since sometimes I forget to do it.

Describe the solution you'd like

Currently, unless I missed a feature, if I want an event to be visible to another person without displaying its details, I have to specify it event by event (event visibility option), but this cannot be done by default retroactively and for any new event (directly applied to the entire calendar, in the sharing option).

Many years ago (maybe 10), when I was still using "Google Calendar" (sorry to say that, it's blasphemy), I saw that it was possible to share a calendar with another account by specifying "See only free/busy (hide details)".

This is IMO very useful — for example — for associates who share their professional calendar and their personal calendar. The professional calendar remains fully visible (all details), while the personal calendar simply indicates occupied time slots with a free or busy information. This avoids collisions when making appointments and allows the respect of the privacy of others.

Describe alternatives you've considered

No response

Additional context

No response

Jerome-Herbinet commented 3 months ago

@nextcloud/designers

miaulalala commented 3 months ago

The property for CalDAV exists: https://datatracker.ietf.org/doc/html/rfc4791#section-6.1.1

CALDAV:read-free-busy Privilege Calendar users often wish to allow other users to see their busy time information, without viewing the other details of the calendar components (e.g., location, summary, attendees). This allows a significant amount of privacy while still allowing other users to schedule meetings at times when the user is likely to be free.

So this should be feasible. We could add it in the calendar modal just like we did for https://github.com/nextcloud/calendar/pull/6169

Suggestion:

image

Jerome-Herbinet commented 3 months ago

The property for CalDAV exists: https://datatracker.ietf.org/doc/html/rfc4791#section-6.1.1

CALDAV:read-free-busy Privilege Calendar users often wish to allow other users to see their busy time information, without viewing the other details of the calendar components (e.g., location, summary, attendees). This allows a significant amount of privacy while still allowing other users to schedule meetings at times when the user is likely to be free.

So this should be feasible. We could add it in the calendar modal just like we did for #6169

Suggestion:

image

Nice !

jancborchardt commented 2 months ago

Agree @miaulalala’s suggestion is nice! :) Only 1 adjustment, the wording should be "Don’t show event details to others", as we want to remove the wording "users".

Jerome-Herbinet commented 2 months ago

@jancborchardt may we add the "to develop" tag ?

rikvrede commented 2 months ago

Attempting to understand here, as I'm looking for more or less the same feature. As I understand Nextcloud Calendar and your use case, your colleagues could use the 'find a time' feature when inviting you to events. If you have a personal calendar (that you're the owner of) and put events in there, you're automatically marked as busy during those hours. When people then try to book a meeting with you and they click the 'find a time' button, they can see the availability of everyone who's invited to this meeting.

If colleagues still use Google or whatever for their personal calendar, they can import that calendar read-only into Nextcloud (the full version, not even the free/busy version) and that will mark them busy/free for the Find A Time feature. Screenshot from 2024-08-26 11-08-37

jolentes commented 3 weeks ago

image

I think it would be more flexible to have this as an option on the sharing link. This way I can create different sharing links for use-cases I want to share details of my calendar and for cases I only want to provide free/busy information to external users.

I have the use case that I working in multiple businesses and need to keep my availability up-to-date within each business. But I don't want to share calendar details between the businesses.