feat: Edit booking before confirmation and add optional attendee pending emails
What does this PR do?
- Fixes #24599
- Fixes CAL-6622
- Enables editing bookings before confirmation and adds optional attendee pending email notifications to reduce emails.
- The workflow will be like this:
-
Before changes (3 emails):
- User books -> Pending email
- Admin confirms -> confirmation email
- Admin edits -> update email
-
After changes (2 emails):
- User books -> Pending email
- Admin edits -> No email sent
- Admin confirms -> Confirmation email
-
Two new features:
-
Add guests to pending booking:
- Create a pending booking
- Add guests before confirmation:
- Add a guest email
- Expected: No email sent to new guest
- Confirm Booking:
- Click "Confirm"
- Expected: Both original attendee and guest get confirmation emails
-
Test the New Toggle
- Enable the Toggle:
- Go to Event Types -> choose an event type -> Advanced tab
- Scroll down to find "Disable pending booking emails for attendees"
- Note: This toggle only appears when "Requires Confirmation" is enabled
- Test with toggle ON:
- Submit a new booking
- Expected: No pending email sent to attendee
- Confirm the booking
- Expected: Only confirmation email sent
- Test with toggle OFF:
- Disable the toggle
- Submit a new booking
- Expected: Pending email sent to attendee
- Enable the Toggle:
Please watch the below screen recordings for better understanding of the newly added features
Video Demo (if applicable):
- Edit Bookings before confirmation:
https://github.com/user-attachments/assets/1bef099a-f263-431d-9f8e-30212448c06b
- Optional Attendee pending emails:
https://github.com/user-attachments/assets/1c1332c5-b45c-44aa-bfd2-49844b1a7846
Mandatory Tasks (DO NOT REMOVE)
- [x] I have self-reviewed the code (A decent size PR without self-review might be rejected).
- [ ] I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
- [ ] I confirm automated tests are in place that prove my fix is effective or that my feature works.
Summary by cubic
Enable editing of pending bookings before confirmation and add a setting to disable attendee pending emails, reducing unnecessary notifications. Addresses Linear CAL-6622 by making pending emails optional and shifting notifications to confirmation.
-
New Features
- Edit pending bookings without sending emails (add guests, edit location).
- Guests added to pending bookings get confirmation emails only after the booking is accepted.
- Location change emails are sent only for accepted bookings.
- New toggle: “Disable pending booking emails for attendees” in Event Type > Advanced (visible when “Requires Confirmation” is on).
-
Migration
- Turn on “Requires Confirmation,” then enable “Disable pending booking emails for attendees.”
- Toggle ON: no pending email; attendees receive only the confirmation email.
- Toggle OFF: pending email is sent as usual.
@Parship12 is attempting to deploy a commit to the cal Team on Vercel.
A member of the Team first needs to authorize it.
This PR has been marked as stale due to inactivity. If you're still working on it or need any help, please let us know or update the PR to keep it active.
@Parship12 please resolve merge conflict
@dhairyashiil Can you please merge this PR as the merge conflicts are sometimes hard to resolve?
@dhairyashiil Can you please merge this PR as the merge conflicts are sometimes hard to resolve?
the review from the foundation team is still pending, also as you can see Carina marked the issue as Low Priority so I'm not sure when they will review and merge it.
@Parship12 can you please resolve the merge conflicts
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
Parship Chowdhury seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.