- llamar_turno.php: ambos SELECT de refresco hacen LEFT JOIN con turnero_solicitudes para devolver COALESCE(ts.solo_muestras,0). Sin este JOIN, JS recibía undefined y _esSoloEntrega() retornaba false → polling de consentimientos arrancaba → hayPendientes=true → finalizar bloqueado (caso turno E047 ALVARO TIRADO). - lugar.php renderConsentimientos: hayPendientes se fuerza a false cuando _esSoloEntrega(turnoActivo) es true, para que un consentimiento huérfano previo no bloquee la finalización en turnos de solo entrega de muestras. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>