import 'package:equatable/equatable.dart';

/// Represents a penalty issued to a staff member.
///
/// Penalties are issued for no-shows, cancellations, or poor conduct.
class PenaltyLog extends Equatable {

  const PenaltyLog({
    required this.id,
    required this.staffId,
    required this.assignmentId,
    required this.reason,
    required this.points,
    required this.issuedAt,
  });
  /// Unique identifier.
  final String id;

  /// The [Staff] member penalized.
  final String staffId;

  /// The [Assignment] context (if applicable).
  final String assignmentId;

  /// Reason for the penalty.
  final String reason;

  /// Score points deducted from staff profile.
  final int points;

  /// When the penalty was issued.
  final DateTime issuedAt;

  @override
  List<Object?> get props => <Object?>[id, staffId, assignmentId, reason, points, issuedAt];
}