nextcloud / calendar

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

Book multiple appointments #5581

Open kousu opened 10 months ago

kousu commented 10 months ago

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

I want to use NextCloud to handle booking drop-in courses at a community center. I have different types of classes (pottery, dance, drawing, cooking, etc) and each individual class has a different attendance cap. My clients are diverse but include a lot of people with low internet or tech literacy, so this system needs to be straightforward for them.

Describe the solution you'd like

I would like the client-facing appointments booking page to allow people to book all the sessions they want for the next week/month in one step. This means they should be able to toggle on/off multiple slots before clicking a "Book" button where they fill in their name and email. When submitted, should get a single email confirmation that, when confirmed by them, adds them as guests to each of the selected sessions.

But in the simple case where only a single appointment can be booked at a time as it is now, there should be no extra "Book" button.

Describe alternatives you've considered

No response

Additional context

No response

kousu commented 10 months ago

And it would be great if the multiple-bookings went along with a month view that showed all available slots: https://github.com/nextcloud/calendar/issues/5580

kousu commented 10 months ago

It would be great if this could be combined with https://github.com/nextcloud/calendar/issues/5580 and https://github.com/nextcloud/calendar/issues/5582 so that our clients can have a single overview of what's on offer and sign up on the spot.

miaulalala commented 10 months ago

From a technical perspective, it should be possible to book multiple appointments in one step.

The difficulty I see is the email. The backend code relies on the CalDAV scheduling logic, which works through the events one by one and triggers an email for each. There is no logic to handle multiple events in one step, and it also wouldn't be RFC compliant. That doesn't mean we couldn't work our way around it by bypassing the emails from the code and adding a new email handler, but it means a lot of work on the backend.

I don't think this is feasable at the moment but it's nonetheless a great idea on how to add more functionality to the appointments. Thanks for opening the ticket!