@php $scheduled = $appointments->whereIn('status', ['confirmed', 'pending', 'rescheduled']); $checkedIn = $appointments->where('status', 'checked_in'); $inService = $appointments->where('status', 'in_progress'); $ready = $appointments->whereIn('status', ['ready_for_pickup', 'ready_for_invoice']); @endphp

Reception operations

Live Appointment Queue

Check in, assign, monitor active work, and send finished pets to billing.

@foreach([ ['Scheduled', $scheduled, 'border-purple-100 bg-purple-50/60', 'border-purple-200', 'text-purple-900', 'text-purple-800'], ['Checked In', $checkedIn, 'border-blue-100 bg-blue-50/60', 'border-blue-200', 'text-blue-900', 'text-blue-800'], ['In Service', $inService, 'border-amber-100 bg-amber-50/60', 'border-amber-200', 'text-amber-900', 'text-amber-800'], ['Finished / Invoice', $ready, 'border-pink-100 bg-pink-50/60', 'border-pink-200', 'text-pink-900', 'text-pink-800'], ] as [$title, $rows, $panelClass, $dividerClass, $titleClass, $countClass])

{{ $title }}

{{ $rows->count() }}
@forelse($rows as $appointment)

{{ $appointment->appointment_number }}

{{ $appointment->items->pluck('pet.name')->filter()->unique()->join(', ') ?: 'Pet' }}

{{ substr($appointment->start_time, 0, 5) }}

{{ $appointment->customer?->name }}

{{ $appointment->items->pluck('service.name')->filter()->join(', ') }}

@if($appointment->workItems->isNotEmpty())

Assigned: {{ $appointment->workItems->pluck('assignedStaff.name')->filter()->unique()->join(', ') }}

@endif @if($title === 'Scheduled') Check In & Assign @elseif(in_array($title, ['Checked In', 'In Service'], true)) Monitor Work Queue @else Add Items & Create Invoice @endif
@empty

No appointments.

@endforelse
@endforeach