Added a "Revert Changes" action to the Publish Schedule dialog to restore bookings to their last published state (Calendar UI, backend revert API, DB fields).
Added NotificationBadge and Publish Schedule dialog to provide a unified review & publish workflow with a Trigger.dev background task (Calendar header and batch email flow).
Added automatic cancellation emails and a booking-cancellation template; deleting a previously published booking now triggered cancellation notifications and booking log entries.
Changed
Changed calendar reschedule and delete handlers to use React Query mutations for consistent cache updates and immediate publish badge refresh (CalendarComponent, DeleteConfirmationDialog).
Changed notification system to a unified "Confirm your training schedule" email and batch sendScheduleNotifications flow; tracked publish state with publishedAt and lastPublished fields.
Fixed
Fixed the publish notification badge not updating after drag/resize/delete by ensuring React Query cache was invalidated and consolidating badge detection logic.