Improve booking cancellation

Created on 21 March 2023, almost 2 years ago
Updated 9 May 2023, over 1 year ago

Problem/Motivation

Cancelling a booking, if the user is permitted, can currently be done from the user profile "Your bookings". I'd like to suggest the following improvements:

  • If a booking got cancelled, a similar confirmation email like for the booking event should be issued
  • The book button for each opening turns into "Booked" or "No slot available". These buttons should be different for bookings of the current user and allow the regular or one-click cancellation

Once the feature is being agreed, I'm happy to provide an MR implementing it.

✨ Feature request
Status

Fixed

Version

2.2

Component

Code

Created by

πŸ‡©πŸ‡ͺGermany jurgenhaas Gottmadingen

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @jurgenhaas
  • πŸ‡ΊπŸ‡ΈUnited States josh.fabean

    I agree with your ideas here, it appears to be a couple unique features, so I just wanted to outline some thoughts on those.

    Allow for a booking to be cancelled, so add a status? Right now, cancelling is just deleting your booking, maybe that's good enough. Keeping the delete method would be easiest, otherwise we will have to also check statuses of bookings in lots of different places to get proper counts. I'm willing to change it all to be status based if we think that is best for other features in the future too.

    Send emails on cancellation, I would think sending an email to just the user to confirm would be needed, but an email to the admin would also be good, possibly. This would require adding more Notification settings to Bookable Calendar Entity to handle text and who gets emails on cancellations. Also add Site-wide settings for Cancellation Emails, mirroring the fields on the entity.

    Then changing the verbiage on the buttons should be a straightforward change based on the user's current state as it relates to the opening.

  • πŸ‡©πŸ‡ͺGermany jurgenhaas Gottmadingen

    Allow for a booking to be cancelled, so add a status? Right now, cancelling is just deleting your booking

    Thanks for pointing that out, I wasn't aware yet. For our current use case, using the delete method should be fine. Adding a status based feature later would still be possible, I guess.

    Send emails on cancellation ...

    I thought, the notification settings for cancellations would be the same as for bookings when it comes to recipients. Only the subject and body would be different and both of them would then have to be added globally and for the calendar entity.

    Would that be OK from your POV as well?

  • πŸ‡ΊπŸ‡ΈUnited States josh.fabean

    I agree it should be the same list of recipients, so it should really only need a configurable title and body. So that all sounds good to me.

  • πŸ‡©πŸ‡ͺGermany jurgenhaas Gottmadingen

    Great, thanks for your feedback.

    FYI, we also need to find out which booking belongs to the current user and add a class to it during rendering. Because only those can be cancelled by the user. So I have to add some logic for that too. A nice side-effect of this will be that we can then style bookings differently, that belong to the current user.

  • πŸ‡©πŸ‡ͺGermany jurgenhaas Gottmadingen
  • Assigned to jurgenhaas
  • πŸ‡©πŸ‡ͺGermany jurgenhaas Gottmadingen

    @josh.fabean I just figured out that I need to implement this as part of ✨ Display booking success message also when one-click booking is enabled Fixed and will add the functionality discussed above also into the MR!28 there. Hope this is OK with you.

  • Status changed to Fixed over 1 year ago
  • πŸ‡ΊπŸ‡ΈUnited States josh.fabean

    Looks good, merged that to dev. We might need to come up with better verbiage on the buttons as there is no great indicator that clicking would cancel the booking, it currently shows the current state of the opening which makes sense but maybe it should change with one-click booking enabled.

  • Automatically closed - issue fixed for 2 weeks with no activity.

Production build 0.71.5 2024