@extends('layout.layout') @section('content') @php $quickParams = array_filter([ ], fn($value) => !is_null($value) && $value !== ''); $tabItems = [ ['key' => 'overview', 'label' => 'Overview'], ['key' => 'trainers', 'label' => 'Trainers'], ['key' => 'students', 'label' => 'Students'], ['key' => 'slots', 'label' => 'Slots'], ['key' => 'complaints', 'label' => 'Complaints'], ]; @endphp
Schedule & Complaints Control Center
Schedule & Complaints Reports

{{ $fromDate->format('M d, Y') }} - {{ $toDate->format('M d, Y') }} | {{ $selectedTrack->name_en ?? 'All programs' }}

@foreach ($tabItems as $item) @endforeach
@foreach ($overviewCards as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
@foreach ($insightCards as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
Activity Trend
Operational Snapshot
@foreach ($overviewHighlights as $item)
{{ $item['label'] }} {{ $item['value'] }}
@endforeach
@foreach ($snapshotItems as $item)
{{ $item['label'] }} {{ $item['value'] }}
@endforeach
@foreach ($sections['trainers']['cards'] as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
Trainers By Program

Active trainer coverage across assigned programs

@forelse ($charts['trainer_tracks']['labels'] as $index => $label) @php $value = $charts['trainer_tracks']['values'][$index] ?? 0; $max = max($charts['trainer_tracks']['values']->toArray() ?: [1]); @endphp
{{ $label }}
{{ $value }}
@empty
No program distribution in this range.
@endforelse
Trainer Utilization

Booked hours over recurring slot capacity

@forelse ($sections['trainers']['rows']->take(8) as $row)
{{ $row['name'] }}
{{ $row['utilization_pct'] }}%
@empty
No utilization data in this range.
@endforelse
Teachers & Programs Report

Teacher count and capacity totals by program

@forelse ($sections['trainers']['program_rows'] as $row) @empty @endforelse
Program Teachers Available Hours Booked Hours Remaining Hours Occupancy Rate
{{ $row['program_name'] }} {{ number_format($row['teachers_count']) }} {{ $row['available_hours'] }} {{ $row['booked_hours'] }} {{ $row['remaining_hours'] }} {{ $row['occupancy_rate'] }}%
No teacher-program data in this range.
Trainer Movement & Risk

Current movement signals from active teacher records

@foreach ($sections['trainers']['movement'] as $item)
{{ $item['label'] }}
{{ $item['value'] }}
@endforeach
@foreach ($sections['students']['cards'] as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
Student Status Report

Student counts by status in the selected period

@foreach ($sections['students']['status_rows'] as $item)
{{ $item['label'] }}
{{ number_format($item['total']) }}
{{ $item['description'] }}
@endforeach
Students By Program
Private / Semi / Group
Age Mix
@foreach ($sections['students']['ages'] as $item) @php $maxAges = max($sections['students']['ages']->pluck('total')->toArray() ?: [1]); @endphp
{{ $item['label'] }}
{{ $item['total'] }}
@endforeach
Program Breakdown
@forelse ($sections['students']['tracks']->take(8) as $item) @php $maxTracks = max($sections['students']['tracks']->pluck('total')->toArray() ?: [1]); @endphp
{{ $item['label'] }}
{{ $item['total'] }}
@empty
No student-program data in this range.
@endforelse
@foreach ($sections['slots']['cards'] as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
Available vs Used Slots
Capacity Summary
@foreach ($sections['slots']['hours'] as $item)
{{ $item['label'] }} {{ $item['value'] }}
@endforeach
@foreach ($sections['slots']['demand'] as $item)
{{ $item['label'] }} {{ $item['value'] }}
@endforeach
@foreach ($sections['complaints']['cards'] as $card)
{{ $card['label'] }}
{{ $card['value'] }}
@endforeach
Complaint Trend
Top Complaint Reasons
Rates
@foreach ($sections['complaints']['rates'] as $item)
{{ $item['label'] }} {{ $item['value'] }}
@endforeach
By Department
@foreach ($sections['complaints']['departments'] as $item) @php $maxDepartments = max($sections['complaints']['departments']->pluck('total')->toArray() ?: [1]); @endphp
{{ $item['label'] }}
{{ $item['total'] }}
@endforeach
Top Owners
@forelse ($sections['complaints']['owners']->take(6) as $item) @php $maxOwners = max($sections['complaints']['owners']->pluck('total')->toArray() ?: [1]); @endphp
{{ $item['label'] }}
{{ $item['total'] }}
@empty
No complaint owners in this range.
@endforelse
Refund Tracking
@foreach ($sections['complaints']['refunds'] as $item)
{{ $item['label'] }}
{{ $item['value'] }}
@endforeach

Refund Status
@forelse ($sections['complaints']['refund_statuses'] as $item) @php $maxRefundStatuses = max($sections['complaints']['refund_statuses']->pluck('total')->toArray() ?: [1]); @endphp
{{ $item['label'] }}
{{ $item['total'] }}
@empty
No refund status data in this range.
@endforelse
@push('scripts') @endpush @endsection