Skip to content

Commit 76b68be

Browse files
fix: ensure seated event reschedules send proper reschedule emails (#22849)
* fix: ensure seated event reschedules send proper reschedule emails - Fix attendee reschedule bypass when no existing booking at new time slot - Remove restrictive isConfirmedByDefault conditions from owner reschedule functions - Add seatedRescheduleEmailSent flag to coordinate email sending between handleSeats and handleNewBooking - Prevent main flow from overriding seated reschedule emails with scheduled emails Fixes issue where both organizer and attendee receive schedule emails instead of reschedule emails during seated event reschedules. Co-Authored-By: [email protected] <[email protected]> * refine: only apply seatedRescheduleEmailSent check for seated bookings - Add eventType.seatsPerTimeSlot condition to ensure flag only affects seated events - Prevents interference with regular booking email flow Co-Authored-By: [email protected] <[email protected]> * fix: replace unreliable flag mechanism with direct seated reschedule detection - Remove seatedRescheduleEmailSent flag from HandleSeatsResultBooking type - Remove flag assignments from seated reschedule functions - Use direct detection (eventType.seatsPerTimeSlot && rescheduleUid) in handleNewBooking - Maintain email sending fixes for attendee reschedules and owner reschedule conditions - Resolve TypeScript type mismatch issues with type-safe approach Co-Authored-By: [email protected] <[email protected]> * Update attendeeRescheduleSeatedBooking.ts * revert --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent c20e723 commit 76b68be

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

packages/features/bookings/lib/handleNewBooking.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1990,7 +1990,7 @@ async function handler(
19901990
})
19911991
);
19921992

1993-
if (!isDryRun) {
1993+
if (!isDryRun && !(eventType.seatsPerTimeSlot && rescheduleUid)) {
19941994
await sendScheduledEmailsAndSMS(
19951995
{
19961996
...evt,

packages/features/bookings/lib/handleSeats/reschedule/attendee/attendeeRescheduleSeatedBooking.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ const attendeeRescheduleSeatedBooking = async (
5151
// We don't want to trigger rescheduling logic of the original booking
5252
originalRescheduledBooking = null;
5353

54+
await sendRescheduledSeatEmailAndSMS(evt, seatAttendee as Person, eventType.metadata);
55+
5456
return null;
5557
}
5658

0 commit comments

Comments
 (0)