diff --git a/server.js b/server.js index 202b0dc..b447df4 100644 --- a/server.js +++ b/server.js @@ -700,14 +700,14 @@ app.get("/public/portal/:token/slots", async (req, res) => { if (!agendaMap[row.date]) agendaMap[row.date] = { times: [], zone: (row.poblacion || row.cp || "").toLowerCase().trim() }; - // Bloqueamos la agenda en fracciones de 30 minutos reales + // Bloqueamos la agenda en fracciones de 15 minutos reales const dur = parseInt(row.duration || 60); if (row.time) { let [th, tm] = row.time.split(':').map(Number); let startMin = th * 60 + tm; let endMin = startMin + dur; - // Si la cita es de 10:00 a 11:00, bloqueamos las 10:00 y las 10:30 (la de las 11 queda libre para la siguiente) - for (let m = startMin; m < endMin; m += 30) { + // Bloquea cada tramo de 15 minutos que dure el servicio + for (let m = startMin; m < endMin; m += 15) { // <--- CAMBIADO DE 30 A 15 let hStr = String(Math.floor(m/60)).padStart(2,'0'); let mStr = String(m%60).padStart(2,'0'); agendaMap[row.date].times.push(`${hStr}:${mStr}`);