@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

Agenda semanal

Gestiona tus sesiones, horarios, solicitudes y notas clínicas.

@include('partials.notification-modal')
{{ auth()->user()->initials() }}
{{ auth()->user()->nombre_completo }}{{ auth()->user()->professionalProfile?->especialidad_principal ?: ucfirst(auth()->user()->rol) }}
@include('partials.frontend-alerts')
Sesiones programadas{{ $appointments->where('status', 'accepted')->count() }}

En el período actual

Solicitudes pendientes{{ $pendingRequests->count() }}

Listas para aceptar, rechazar o reagendar

Pacientes vinculados{{ $patients->count() }}

Con atención activa o histórica

{{ now()->translatedFormat('F Y') }}

Vista semanal

Gestión de solicitudes

Bandeja de solicitudes de cita

Centraliza las citas nuevas y las solicitudes de reagenda antes de confirmar cualquier cambio.

{{ $requestStats['new'] }}Nuevas
{{ $requestStats['reschedule'] }}Reagendas
{{ $requestStats['resolved'] }}Resueltas
@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)
@csrf
Proponer otro horario
@csrf
Rechazar
@csrf
@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