diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx index 3ae610aad99057..ee86420da8e3be 100644 --- a/apps/web/components/booking/BookingListItem.tsx +++ b/apps/web/components/booking/BookingListItem.tsx @@ -216,7 +216,7 @@ function BookingListItem(booking: BookingItemProps) { ]; const editBookingActions: ActionType[] = [ - ...(isBookingInPast + ...(isBookingInPast && !booking.eventType.allowReschedulingPastBookings ? [] : [ { diff --git a/apps/web/lib/booking.ts b/apps/web/lib/booking.ts index 97e9cef7b01b0c..13a95ac662cfe8 100644 --- a/apps/web/lib/booking.ts +++ b/apps/web/lib/booking.ts @@ -37,6 +37,7 @@ export const getEventTypesFromDB = async (id: number) => { price: true, currency: true, bookingFields: true, + allowReschedulingPastBookings: true, disableGuests: true, timeZone: true, profile: { diff --git a/apps/web/lib/reschedule/[uid]/getServerSideProps.ts b/apps/web/lib/reschedule/[uid]/getServerSideProps.ts index fe3974642fb30c..ef6ac935bdbaf9 100644 --- a/apps/web/lib/reschedule/[uid]/getServerSideProps.ts +++ b/apps/web/lib/reschedule/[uid]/getServerSideProps.ts @@ -57,6 +57,7 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { }, }, slug: true, + allowReschedulingPastBookings: true, team: { select: { parentId: true, @@ -131,7 +132,7 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { }); const isBookingInPast = booking.endTime && new Date(booking.endTime) < new Date(); - if (isBookingInPast) { + if (isBookingInPast && !eventType.allowReschedulingPastBookings) { const destinationUrlSearchParams = new URLSearchParams(); const responses = bookingSeat ? getSafe(bookingSeat.data, ["responses"]) : booking.responses; const name = getSafe(responses, ["name"]); diff --git a/apps/web/modules/bookings/views/bookings-single-view.tsx b/apps/web/modules/bookings/views/bookings-single-view.tsx index e2283033667bd7..5cb9fe155c8f34 100644 --- a/apps/web/modules/bookings/views/bookings-single-view.tsx +++ b/apps/web/modules/bookings/views/bookings-single-view.tsx @@ -730,22 +730,23 @@ export default function Success(props: PageProps) { <> - {!props.recurringBookings && !isBookingInPast && ( - - - - {t("reschedule")} - + {!props.recurringBookings && + (!isBookingInPast || eventType.allowReschedulingPastBookings) && ( + + + + {t("reschedule")} + + + {t("or_lowercase")} - {t("or_lowercase")} - - )} + )}