@if(!empty($schadsBreaches) && count($schadsBreaches) > 0)
SCHADS 2026 Active Rules Evaluated:
- Rule 1 (10h Rest): Minimum 10 hours rest between consecutive shifts.
- Rule 2 (Sleepover Span Cap): Evening + morning work cap is 10h (12h with agreement).
- Rule 3 (Sleepover Flank Limit): Evening or morning block around sleepover max 8h.
- Rule 4 (Sleepover Duration): Passive Night Shift must be strictly 8 hours.
- Rule 5 (Min Engagement): Minimum 2 hours per standard shift booking.
- Rule 6 (Max Shift Length): Max 10 hours standard shift (12h with agreement).
- Rule 7 (Meal Break): Shifts over 5 hours require a minimum 30-min unpaid break.
- Rule 8 (Broken Shift Span): Split shifts on same date max 12 hours overall span.
| Rule Violated |
Severity |
Shifts Involved |
Details / Reason |
@foreach($schadsBreaches as $breach)
|
{{ $breach->rule_code }}
|
@if(strtolower($breach->severity) === 'illegal')
Illegal
@else
Warning
@endif
|
@if(!empty($breach->allocations) && count($breach->allocations) > 0)
@foreach($breach->allocations as $bAlloc)
@php
$alloc = $bAlloc->allocation;
$shift = $alloc ? $alloc->shift : null;
$client = $alloc && $alloc->master ? $alloc->master->participant : null;
$status = $alloc && $alloc->master ? ($alloc->master->save_as == 1 ? 'Finalized' : 'Draft') : '';
@endphp
@if($alloc && $shift)
-
{{ !empty($shift->date) ? date("d/m/Y", strtotime($shift->date)) : '' }} —
{{ $shift->shift ?? '' }}
({{ $alloc->start_time ?? '' }} - {{ $alloc->end_time ?? '' }})
@if($client)
Client: {{ $client->name ?? '' }}
@endif
@if($status)
{{ $status }}
@endif
@endif
@endforeach
@else
N/A
@endif
|
{{ $breach->message }}
|
@endforeach
@else
No SCHADS 2026 breaches detected for this staff member in this week.
@endif