<?php

namespace App\Modules\HR\Attendance\Support;

final class AttendanceExceptionType
{
    public const MISSING_CHECKOUT = 'missing_checkout';

    public const DUPLICATE_PUNCH = 'duplicate_punch';

    public const EXCESSIVE_OVERTIME = 'excessive_overtime';

    public const OUTSIDE_SHIFT = 'outside_shift';

    public const SUSPICIOUS_ATTENDANCE = 'suspicious_attendance';

    public const OVERLAPPING_ATTENDANCE = 'overlapping_attendance';

    /**
     * @return list<string>
     */
    public static function all(): array
    {
        return [
            self::MISSING_CHECKOUT,
            self::DUPLICATE_PUNCH,
            self::EXCESSIVE_OVERTIME,
            self::OUTSIDE_SHIFT,
            self::SUSPICIOUS_ATTENDANCE,
            self::OVERLAPPING_ATTENDANCE,
        ];
    }
}
