diff --git a/packages/features/bookings/lib/handleNewBooking.ts b/packages/features/bookings/lib/handleNewBooking.ts index 603cc28c7a..27b9299437 100644 --- a/packages/features/bookings/lib/handleNewBooking.ts +++ b/packages/features/bookings/lib/handleNewBooking.ts @@ -864,6 +864,7 @@ export const findBookingQuery = async (bookingId: number) => { description: true, status: true, responses: true, + metadata: true, user: { select: { name: true, diff --git a/packages/features/bookings/lib/handleSeats/handleSeats.ts b/packages/features/bookings/lib/handleSeats/handleSeats.ts index be8dffff78..ae96d4ab4f 100644 --- a/packages/features/bookings/lib/handleSeats/handleSeats.ts +++ b/packages/features/bookings/lib/handleSeats/handleSeats.ts @@ -96,8 +96,10 @@ const handleSeats = async (newSeatedBookingObject: NewSeatedBookingObject) => { // If the resultBooking is defined we should trigger workflows else, trigger in handleNewBooking if (resultBooking) { - // Obtain event metadata that includes videoCallUrl - const metadata = evt.videoCallData?.url ? { videoCallUrl: evt.videoCallData.url } : undefined; + const metadata = { + ...(typeof resultBooking.metadata === "object" && resultBooking.metadata), + ...reqBodyMetadata, + }; try { await scheduleWorkflowReminders({ workflows: eventType.workflows, @@ -126,7 +128,7 @@ const handleSeats = async (newSeatedBookingObject: NewSeatedBookingObject) => { rescheduleEndTime: originalRescheduledBooking?.endTime ? dayjs(originalRescheduledBooking?.endTime).utc().format() : undefined, - metadata: { ...metadata, ...reqBodyMetadata }, + metadata, eventTypeId, status: "ACCEPTED", smsReminderNumber: seatedBooking?.smsReminderNumber || undefined, diff --git a/packages/features/bookings/lib/handleSeats/test/handleSeats.test.ts b/packages/features/bookings/lib/handleSeats/test/handleSeats.test.ts index 7c09a4061f..08843c2996 100644 --- a/packages/features/bookings/lib/handleSeats/test/handleSeats.test.ts +++ b/packages/features/bookings/lib/handleSeats/test/handleSeats.test.ts @@ -187,7 +187,9 @@ describe("handleSeats", () => { body: mockBookingData, }); - await handleNewBooking(req); + const createdBooking = await handleNewBooking(req); + + expect(createdBooking.metadata).toHaveProperty("videoCallUrl"); const handleSeatsCall = spy.mock.calls[0][0];