diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx
index c1d6202ee1..0680e8c1f2 100644
--- a/apps/web/components/booking/BookingListItem.tsx
+++ b/apps/web/components/booking/BookingListItem.tsx
@@ -44,6 +44,11 @@ function BookingListItem(booking: BookingItemProps) {
const mutation = trpc.useMutation(["viewer.bookings.confirm"], {
onSuccess: () => {
setRejectionDialogIsOpen(false);
+ showToast(t("booking_confirmation_success"), "success");
+ utils.invalidateQueries("viewer.bookings");
+ },
+ onError: () => {
+ showToast(t("booking_confirmation_failed"), "error");
utils.invalidateQueries("viewer.bookings");
},
});
diff --git a/apps/web/pages/v2/event-types/index.tsx b/apps/web/pages/v2/event-types/index.tsx
index 979c14e60b..8432c4feeb 100644
--- a/apps/web/pages/v2/event-types/index.tsx
+++ b/apps/web/pages/v2/event-types/index.tsx
@@ -52,7 +52,7 @@ const Item = ({ type, group, readOnly }: { type: EventType; group: EventTypeGrou
const { t } = useLocale();
return (
-
+
diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json
index cfdfdc7295..8b41315736 100644
--- a/apps/web/public/static/locales/en/common.json
+++ b/apps/web/public/static/locales/en/common.json
@@ -1275,5 +1275,7 @@
"ignore_special_characters": "Ignore special characters in your Additional Input label. Use only letters and numbers",
"retry": "Retry",
"fetching_calendars_error": "There was a problem fetching your calendars. Please <1>try again1> or reach out to customer support.",
- "calendar_connection_fail": "Calendar connection failed"
+ "calendar_connection_fail": "Calendar connection failed",
+ "booking_confirmation_success": "Booking confirmation succeeded",
+ "booking_confirmation_fail": "Booking confirmation failed"
}
diff --git a/packages/trpc/server/routers/viewer/bookings.tsx b/packages/trpc/server/routers/viewer/bookings.tsx
index 0bcff0ec01..1742443f64 100644
--- a/packages/trpc/server/routers/viewer/bookings.tsx
+++ b/packages/trpc/server/routers/viewer/bookings.tsx
@@ -461,37 +461,48 @@ export const bookingsRouter = createProtectedRouter()
}
//Workflows - set reminders for confirmed events
- for (const updatedBooking of updatedBookings) {
- if (updatedBooking.eventType?.workflows) {
- const evtOfBooking = evt;
- evtOfBooking.startTime = updatedBooking.startTime.toISOString();
- evtOfBooking.endTime = updatedBooking.endTime.toISOString();
- evtOfBooking.uid = updatedBooking.uid;
- await scheduleWorkflowReminders(
- updatedBooking.eventType.workflows,
- updatedBooking.smsReminderNumber,
- evtOfBooking,
- false,
- false
- );
+ try {
+ for (const updatedBooking of updatedBookings) {
+ if (updatedBooking.eventType?.workflows) {
+ const evtOfBooking = evt;
+ evtOfBooking.startTime = updatedBooking.startTime.toISOString();
+ evtOfBooking.endTime = updatedBooking.endTime.toISOString();
+ evtOfBooking.uid = updatedBooking.uid;
+
+ await scheduleWorkflowReminders(
+ updatedBooking.eventType.workflows,
+ updatedBooking.smsReminderNumber,
+ evtOfBooking,
+ false,
+ false
+ );
+ }
}
+ } catch (error) {
+ // Silently fail
+ console.error(error);
}
- // schedule job for zapier trigger 'when meeting ends'
- const subscriberOptionsMeetingEnded = {
- userId: booking.userId || 0,
- eventTypeId: booking.eventTypeId || 0,
- triggerEvent: WebhookTriggerEvents.MEETING_ENDED,
- };
+ try {
+ // schedule job for zapier trigger 'when meeting ends'
+ const subscriberOptionsMeetingEnded = {
+ userId: booking.userId || 0,
+ eventTypeId: booking.eventTypeId || 0,
+ triggerEvent: WebhookTriggerEvents.MEETING_ENDED,
+ };
- const subscribersMeetingEnded = await getWebhooks(subscriberOptionsMeetingEnded);
+ const subscribersMeetingEnded = await getWebhooks(subscriberOptionsMeetingEnded);
- subscribersMeetingEnded.forEach((subscriber) => {
- updatedBookings.forEach((booking) => {
- scheduleTrigger(booking, subscriber.subscriberUrl, subscriber);
+ subscribersMeetingEnded.forEach((subscriber) => {
+ updatedBookings.forEach((booking) => {
+ scheduleTrigger(booking, subscriber.subscriberUrl, subscriber);
+ });
});
- });
+ } catch (error) {
+ // Silently fail
+ console.error(error);
+ }
} else {
evt.rejectionReason = rejectionReason;
if (recurringEventId) {