import 'package:equatable/equatable.dart';

/// Represents a specific time slot within a day (e.g., Morning, Afternoon, Evening).
class AvailabilitySlot extends Equatable {
  final String id;
  final String label;
  final String timeRange;
  final bool isAvailable;

  const AvailabilitySlot({
    required this.id,
    required this.label,
    required this.timeRange,
    this.isAvailable = true,
  });

  AvailabilitySlot copyWith({
    String? id,
    String? label,
    String? timeRange,
    bool? isAvailable,
  }) {
    return AvailabilitySlot(
      id: id ?? this.id,
      label: label ?? this.label,
      timeRange: timeRange ?? this.timeRange,
      isAvailable: isAvailable ?? this.isAvailable,
    );
  }

  @override
  List<Object?> get props => [id, label, timeRange, isAvailable];
}
