import 'package:equatable/equatable.dart';

/// Represents general availability schedule for a [Staff] member.
///
/// Defines recurring availability (e.g., "Mondays 9-5").
class Schedule extends Equatable {

  const Schedule({
    required this.id,
    required this.staffId,
    required this.dayOfWeek,
    required this.startTime,
    required this.endTime,
  });
  /// Unique identifier.
  final String id;

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

  /// Day of the week (1 = Monday, 7 = Sunday).
  final int dayOfWeek;

  /// Start time of availability.
  final DateTime startTime;

  /// End time of availability.
  final DateTime endTime;

  @override
  List<Object?> get props => <Object?>[id, staffId, dayOfWeek, startTime, endTime];
}