@php
$statusLabels = [
'pending_payment' => 'Pago pendiente',
'pending' => 'Pendiente',
'accepted' => 'Aceptada',
'rescheduled' => 'Reagenda propuesta',
'rejected' => 'Rechazada',
'cancelled' => 'Cancelada',
'completed' => 'Completada',
'missed' => 'Perdida / sin entrar',
'paid' => 'Pagada',
'refunded' => 'Reembolsada',
];
$paymentLabels = [
'pending' => 'Pendiente',
'paid' => 'Pagado',
'waived' => 'Sin cobro',
'refunded' => 'Reembolsado',
'failed' => 'Fallido',
];
$agendaEvents = $appointments->map(fn ($appointment) => [
'id' => $appointment->id,
'folio' => (string) $appointment->id,
'patient' => $appointment->patient?->nombre_completo ?? 'Paciente no disponible',
'title' => (string) $appointment->reason,
'modality' => (string) $appointment->modality,
'status' => (string) $appointment->status,
'status_label' => $statusLabels[$appointment->status] ?? ucfirst(str_replace('_',' ', (string) $appointment->status)),
'date' => optional($appointment->starts_at)->format('Y-m-d'),
'time' => optional($appointment->starts_at)->format('H:i'),
'displayDate' => optional($appointment->starts_at)->translatedFormat('j F Y, H:i'),
'room_link' => $appointment->professional_video_url,
'session_available' => $appointment->is_video_session_available ?? false,
'session_ends_at' => optional($appointment->session_access_ends_at)->format('H:i'),
])->values();
$allRequestCards = $pendingRequests->concat($resolvedRequests ?? collect())->values();
@endphp
Agenda profesional | IRIS
@include('partials.frontend-alerts')
En el período actual
Listas para aceptar, rechazar o reagendar
Con atención activa o histórica
@forelse($allRequestCards as $request)
@php($isReagenda = filled($request->reschedule_proposal))
@php($isResolved = in_array($request->status, ['accepted','rejected','cancelled','completed','missed','rescheduled'], true))
{{ optional($request->starts_at)->translatedFormat('M') }}{{ optional($request->starts_at)->format('d') }}{{ optional($request->starts_at)->format('Y') }}
{{ $isResolved ? ($statusLabels[$request->status] ?? 'Resuelta') : ($isReagenda ? 'Solicitud de reagenda' : 'Nueva cita') }}{{ optional($request->starts_at)->format('H:i') }} hrsID {{ $request->id }}
{{ $request->patient?->nombre_completo ?? 'Paciente no disponible' }}
{{ $request->notes ?: $request->reason }}
Modalidad: {{ $request->modality }}Motivo: {{ $request->reason }}
@if(!$isResolved)
Proponer otro horario
Rechazar
@else
{{ $statusLabels[$request->status] ?? ucfirst(str_replace('_',' ', $request->status)) }}
@endif
@empty
No hay solicitudes pendientes
Cuando existan nuevas citas o reagendas aparecerán aquí.
@endforelse