From 611aa00a443512bd4153371df146611ffad9867c Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:21:47 -0500 Subject: [PATCH] Update BotService.php --- services/BotService.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/BotService.php b/services/BotService.php index 77247ca..ffa9d74 100644 --- a/services/BotService.php +++ b/services/BotService.php @@ -762,7 +762,8 @@ class BotService { public function releaseHold($phoneNumber) { try { - $this->db->update('users', ['on_hold' => 0, 'bot_paused_until' => null, 'advisor_requested' => 0], 'phone_number = :phone', ['phone' => $phoneNumber]); + // Clear hold/advisor flags and also ensure in_service is cleared for consistency + $this->db->update('users', ['on_hold' => 0, 'bot_paused_until' => null, 'advisor_requested' => 0, 'in_service' => 0, 'in_service_by' => null, 'in_service_at' => null], 'phone_number = :phone', ['phone' => $phoneNumber]); $this->whatsappService->sendTextMessage($phoneNumber, "🔔 Su conversación ha sido retomada por el equipo. Puede usar *MENU* para continuar."); if (function_exists('writeLog')) writeLog('INFO', "Advisor released hold for $phoneNumber"); } catch (Exception $e) { @@ -851,6 +852,13 @@ class BotService { } if (function_exists('writeLog')) writeLog('INFO', "Operator {$operatorId} finished attending for {$phoneNumber}, survey={$template}"); + + // Ensure consistent behavior: release hold / clear flags when finishing attend + try { + $this->releaseHold($phoneNumber); + } catch (Exception $e) { + error_log('finishAttendConversation: releaseHold failed: ' . $e->getMessage()); + } } catch (Exception $e) { error_log('finishAttendConversation failed: ' . $e->getMessage()); throw $e;