Corrige aviso de cita al cliente: dudar en vez de asumir si el tecnico ya fue

This commit is contained in:
2026-09-12 11:11:48 +00:00
parent f4d6d985c6
commit 18bafe227c

View File

@@ -1970,10 +1970,17 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
let citaYaPaso = false; let citaYaPaso = false;
if (tieneCitaConfirmada && datosExpediente.cita) { if (tieneCitaConfirmada && datosExpediente.cita) {
const hoyTime = new Date().setHours(0, 0, 0, 0); const ahora = new Date();
const [y, m, d] = datosExpediente.cita.split('-'); const [y, m, d] = datosExpediente.cita.split('-');
const citaTime = new Date(y, m - 1, d).setHours(0, 0, 0, 0); // Si no hay hora concreta, solo se considera "pasada" al cambiar de día (fin del día)
if (citaTime < hoyTime) citaYaPaso = true; let horaFin = 23, minFin = 59;
if (datosExpediente.hora_cita && datosExpediente.hora_cita.includes(':')) {
const [hh, mm] = datosExpediente.hora_cita.split(':');
horaFin = parseInt(hh, 10) + 1; // margen aprox. de duración del servicio
minFin = parseInt(mm, 10);
}
const finVentanaCita = new Date(y, m - 1, d, horaFin, minFin);
if (finVentanaCita < ahora) citaYaPaso = true;
} }
const esEstadoFinal = const esEstadoFinal =
@@ -1995,7 +2002,9 @@ async function procesarConIA(ownerId, mensajeCliente, datosExpediente) {
TU ÚNICO OBJETIVO: Informar al cliente que hemos recibido el aviso de su avería (${datosExpediente.averia}) y que estamos coordinando para asignarle un técnico en su zona. TU ÚNICO OBJETIVO: Informar al cliente que hemos recibido el aviso de su avería (${datosExpediente.averia}) y que estamos coordinando para asignarle un técnico en su zona.
⛔ PROHIBICIÓN ABSOLUTA: NO ofrezcas citas, NO des horas, NO agendes nada hasta que se le asigne un técnico.`; ⛔ PROHIBICIÓN ABSOLUTA: NO ofrezcas citas, NO des horas, NO agendes nada hasta que se le asigne un técnico.`;
} else if (citaYaPaso) { } else if (citaYaPaso) {
directivaEstricta = `🛑 ESTADO ACTUAL: LA CITA YA PASÓ (${datosExpediente.cita}). Informa que estamos tramitando su avería (${datosExpediente.averia}). NO AGENDES NADA.`; directivaEstricta = `🛑 ESTADO ACTUAL: LA CITA (${datosExpediente.cita} ${tramoConfirmado}) YA DEBERÍA HABER PASADO, pero el servicio sigue en estado "citado" (no consta que se haya cerrado el parte de trabajo).
⚠️ NO afirmes que el técnico ya fue ni que el servicio está hecho. NO digas tampoco que la cita sigue por llegar, como si no hubiera pasado ya la hora.
TU OBJETIVO: Exprésate con duda de forma natural. Dile que según tus datos tenía cita a esa hora para su avería (${datosExpediente.averia}) y pregúntale directamente si el técnico ya pasó por su domicilio o si sigue esperando, para poder ayudarle mejor. NO AGENDES NADA hasta saberlo.`;
} else if (esUrgencia) { } else if (esUrgencia) {
directivaEstricta = `🛑 ESTADO ACTUAL: URGENCIA. Tranquiliza al cliente sobre su avería (${datosExpediente.averia}) y dile que el técnico está avisado. NO PROPONGAS HORAS.`; directivaEstricta = `🛑 ESTADO ACTUAL: URGENCIA. Tranquiliza al cliente sobre su avería (${datosExpediente.averia}) y dile que el técnico está avisado. NO PROPONGAS HORAS.`;
} else if (hayCitaPendiente) { } else if (hayCitaPendiente) {