@if(session('success'))
{{ session('success') }}
@endif

Attendance Settings

{{-- Tabs --}}
{{-- ============================================== --}} {{-- GENERAL SETTINGS TAB --}} {{-- ============================================== --}}
@csrf {{-- Check-in Options --}}

Check-in Options

Allow Self Check-in
Staff can check-in themselves using the navbar button
Require Location for Check-in
GPS location will be recorded with each check-in/out
{{-- Location Settings --}}

Location Settings

This name will be shown in attendance logs when staff check-in from office
Staff must be within this distance from office to check-in. Set 0 to allow from anywhere.
For showing map in attendance records. Leave empty to use OpenStreetMap.
{{-- Work Hours --}}

Default Work Hours

e.g., 1.5 = 150% pay for overtime
{{-- ============================================== --}} {{-- ANNUAL LEAVE TAB --}} {{-- ============================================== --}}
{{-- Default Leave Days Card --}}

Default Annual Leave Days

Set default leave days for all staff. Individual adjustments can be made in the table below.
@csrf
{{-- Per-Staff Adjustment --}}

Staff-wise Leave Adjustment

@csrf
@forelse($staffList ?? [] as $staff) @php $currentDays = $settings['default_annual_leave_days'] ?? 12; if (isset($annualSettings[$staff->id])) { $setting = $annualSettings[$staff->id]->first(); if ($setting && $setting->annual_days > 0) { $currentDays = $setting->annual_days; } } @endphp @empty @endforelse
Staff Department Role Leave Days / Year
{{ $staff->first_name }} {{ $staff->last_name }} {{ $staff->department ?? '-' }} {{ $staff->admin?->roles?->first()?->name ?? '-' }}
No staff found
{{-- ============================================== --}} {{-- LEAVE TYPES TAB --}} {{-- ============================================== --}}

Leave Types

@forelse($leaveTypes ?? [] as $i => $type) @empty @endforelse
# Name Code Days/Month Days/Year Paid Actions
{{ $i + 1 }}
{{ $type->name }}
{{ $type->code ?? '-' }} {{ $type->is_paid ? 'Yes' : 'No' }}
No leave types. Click "Add Leave Type" to create one.
How it works:
Days/Month: Maximum leaves allowed per month (e.g., 2 sick leaves per month)
Days/Year: Maximum leaves allowed per year (e.g., 12 annual leaves per year)
• Set to 0 for unlimited leaves
• Staff can still apply even if limit exceeded - it just shows a warning
{{-- ============================================== --}} {{-- WORK TYPES TAB (for Extra Work / Timesheet) --}} {{-- ============================================== --}}

Work Types

@forelse($timesheetTypes ?? [] as $type) @empty @endforelse
Name Color Multiplier Status Actions
{{ $type->name }} {{ $type->color ?? '#3b82f6' }} {{ $type->multiplier ?? 1 }}x @if($type->status) Active @else Inactive @endif
@csrf @method('DELETE')
No work types defined. Add one to get started.
About Work Types:
• Work types are used for extra work / overtime assignments
Multiplier: Pay rate multiplier (e.g., 1.5x for overtime, 2x for holidays)
• Standard work has 1x multiplier
{{-- ============================================== --}} {{-- HOLIDAYS TAB --}} {{-- ============================================== --}}

Holidays {{ now()->year }}

@forelse($dayOffs ?? [] as $i => $holiday) @empty @endforelse
# Date Holiday Name Actions
{{ $i + 1 }} {{ \Carbon\Carbon::parse($holiday->off_date)->format('d M Y, l') }} {{ $holiday->reason }}
No holidays configured. Click "Add Holiday" to add one.
Note: Weekly days off (Saturday, Sunday) are configured in Shift Types. Holidays listed here are specific dates like New Year, Diwali, etc.
{{-- Leave Type Modal --}}

Add Leave Type

@csrf
Short code shown in calendar
Max leaves per month (0 = unlimited)
Max leaves per year (0 = unlimited)
Paid Leave
Staff will receive salary during this leave
{{-- Holiday Modal --}}

Add Holiday

@csrf
{{-- Work Type Modal --}}

Add Work Type

@csrf
1 = normal, 1.5 = time and half, 2 = double