import 'package:equatable/equatable.dart';

/// Represents payroll and operational configuration for a [Business].
class BusinessSetting extends Equatable {

  const BusinessSetting({
    required this.id,
    required this.businessId,
    required this.prefix,
    required this.overtimeEnabled,
    this.clockInRequirement,
    this.clockOutRequirement,
  });
  /// Unique identifier for the settings record.
  final String id;

  /// The [Business] these settings apply to.
  final String businessId;

  /// Prefix for generated invoices (e.g., "INV-").
  final String prefix;

  /// Whether overtime calculations are applied.
  final bool overtimeEnabled;

  /// Requirement method for clocking in (e.g. "qr_code", "geo_fence").
  final String? clockInRequirement;

  /// Requirement method for clocking out.
  final String? clockOutRequirement;

  @override
  List<Object?> get props => <Object?>[
        id,
        businessId,
        prefix,
        overtimeEnabled,
        clockInRequirement,
        clockOutRequirement,
      ];
}