code: def validate(self):
      
      if not self.start:
        raise ValueError("Event has no start date")
  
      if not self.end:
        raise ValueError("Event has no end date")
  
      if self.end < self.start:
        raise ValueError("Start date is after end date")
  
      if self.reminder_minutes_before_start and not isinstance(self.reminder_minutes_before_start, int):
        raise TypeError("reminder_minutes_before_start must be of type int")
  
      if self.is_all_day and not isinstance(self.is_all_day, bool):
        raise TypeError("is_all_day must be of type bool")
docs: Validates that all required fields are present