feat: add reschedule functionality for admin bookings
- Implemented rescheduleAdminBooking service to allow users to change court and time for confirmed bookings. - Added validation for court availability, maintenance status, and overlapping bookings. - Created reschedule-admin-booking handler to process rescheduling requests and send confirmation emails. - Updated booking email service to include rescheduling notifications. - Enhanced frontend components to support booking rescheduling, including a new dialog for selecting new court and time. - Added tests for rescheduling logic, covering various scenarios including validation errors and successful reschedules. - Updated Prisma schema to log previous court and time for audit purposes.
This commit is contained in:
@@ -115,6 +115,7 @@ export const courtSchema = z.object({
|
||||
id: z.uuid(),
|
||||
complexId: z.uuid(),
|
||||
name: z.string(),
|
||||
isUnderMaintenance: z.boolean(),
|
||||
sportId: z.uuid(),
|
||||
sport: courtSportSchema,
|
||||
slotDurationMinutes: z.int().positive(),
|
||||
|
||||
Reference in New Issue
Block a user