/// Enum to define different types of reminders
enum ReminderType {
  /// Reminder for appointment schedule
  appointment,

  /// Reminder for payment due
  payment,

  /// Reminder for check-in
  checkIn,
}

extension ReminderTypeExtension on ReminderType {
  /// Get display name for the reminder type
  String get displayName {
    switch (this) {
      case ReminderType.appointment:
        return 'Appointment Reminder';
      case ReminderType.payment:
        return 'Payment Reminder';
      case ReminderType.checkIn:
        return 'Check-In Reminder';
    }
  }

  /// Get description for the reminder type
  String get description {
    switch (this) {
      case ReminderType.appointment:
        return 'Appointment scheduled reminder';
      case ReminderType.payment:
        return 'Payment due reminder';
      case ReminderType.checkIn:
        return 'Check-in reminder';
    }
  }

  /// Get event ID prefix for calendar events
  String get eventIdPrefix {
    switch (this) {
      case ReminderType.appointment:
        return 'APPT';
      case ReminderType.payment:
        return 'PAY';
      case ReminderType.checkIn:
        return 'CHKIN';
    }
  }
}

