calendarSlotService = $calendarSlotService; } public function created(Trip $trip): void { if ($trip->start_date && $trip->end_date) { $this->calendarSlotService->createOrUpdateSlotsForTrip($trip); } } public function updated(Trip $trip): void { if ($trip->isDirty(['start_date', 'end_date'])) { $this->calendarSlotService->createOrUpdateSlotsForTrip($trip); } } public function deleted(Trip $trip): void { $this->calendarSlotService->deleteSlotsForTrip($trip); } public function restored(Trip $trip): void { $this->calendarSlotService->createOrUpdateSlotsForTrip($trip); } public function forceDeleted(Trip $trip): void { $this->calendarSlotService->deleteSlotsForTrip($trip); } }