prepare( "SELECT tc.id, tc.datos_respuestas, tc.estado, t.sesion_id FROM turnero_consentimientos tc JOIN turnero_turnos t ON t.id = tc.turno_id WHERE tc.token = ? LIMIT 1" ); $stmt->execute([$token]); $tc = $stmt->fetch(PDO::FETCH_ASSOC); if (!$tc) jsonError('Consentimiento no encontrado.', 404); if ($tc['estado'] !== 'en_progreso') jsonError('Solo se pueden olvidar tomas en estado en_progreso.'); $dr = json_decode($tc['datos_respuestas'] ?? '{}', true) ?? []; foreach ($campos as $campo) { unset($dr[$campo]); } $pdo->prepare( "UPDATE turnero_consentimientos SET datos_respuestas = ?, siguiente_toma_at = NULL, toma_inicio_at = NULL WHERE token = ?" )->execute([json_encode($dr, JSON_UNESCAPED_UNICODE), $token]); notificarSSE((int)$tc['sesion_id']); jsonOk([], 'Toma olvidada.');