Volver a proyectos

Todos quieren librar en Navidad, pero alguien tiene que quedarse en recepción

Mi encargada hacía malabares entre Excel, peticiones por WhatsApp y una recepción que no podía cerrar por Navidad. Yo trabajaba en el mostrador. En un fin de semana creé una aplicación gratuita que organiza los turnos, y el equipo empezó a llevarle cuadrantes completos en vez de más peticiones.

6 min de lectura
  • JavaScript
  • Diseño de procesos
  • Planificación de turnos
  • Herramientas internas
  • Automatización
CompartirXEmailFacebookWhatsApp

Yo era uno de los recepcionistas. Nadie me había contratado para desarrollar software, y mis responsables ni siquiera sabían que podía hacerlo. El tema nunca había salido. Tampoco es algo que sueltes entre un check-in y otro.

Era noviembre de 2025, más o menos. Se iba gente del equipo de siempre y entraban caras nuevas. También había una directora nueva. Y quien sostenía buena parte de todo aquello era su mano derecha, que llevaba mucho tiempo en el hotel y se conocía todos sus secretos.

También se encargaba del cuadrante. Ocho personas, un mes y los ocho queriendo cosas muy distintas.

Cada cambio era otra cosa de la que tenía que encargarse

El cuadrante vivía en Excel. Las peticiones, en WhatsApp. Como te puedes imaginar, no había ninguna integración con agentes de IA sincronizándolos.

Alguien quería librar un sábado. Otro prefería noches. Uno se iba, otro empezaba, y el equipo tenía que encontrar la forma de formar a los nuevos y atender recepción a la vez. Y encima llegaron las fiestas.

Ella sola montaba el cuadrante, probablemente sin dormir mucho y tirándose de los pelos. Un cambio podía tardar horas, a veces días, y no la culpo. Tenía un hotel que sacar adelante y, al terminar el día, tampoco le quedaban fuerzas infinitas.

Veía lo que le estaba costando. Y yo también era uno de los que estaban esperando una respuesta.

Sabía construir algo que pudiera ayudar. Así que lo hice.

Nadie me lo encargó. Sin reunión, sin presentación, sin preguntar si algo así vendría bien. Le dediqué un sábado y un domingo, lo construí y se lo di gratis al equipo.

El software está para ayudar a la gente. Estas eran las personas con las que trabajaba. El problema lo tenía delante.

El cuadrante tenía que funcionar en un hotel de verdad

No era un calendario vacío con nombres. Recepción necesitaba un turno de día y otro de noche, de doce horas cada uno, todos los días del mes. Navidad incluida.

Cada persona tenía sus límites de horas mensuales, preferencias y días en los que no podía trabajar. Algunos querían más noches. Otros solo podían hacer días. No es el mismo requisito dicho de dos maneras. La aplicación tenía que distinguirlos.

Así que la construí alrededor de las decisiones que ya tomábamos:

  • añadir al equipo con sus horas mensuales, preferencias y días o turnos en los que no puede trabajar
  • elegir un mes y generar una propuesta con cobertura de día y de noche
  • marcar vacaciones y ajustar asignaciones a mano
  • bloquear lo que ya estaba acordado y volver a generar el resto
  • revisar cobertura, horas y avisos antes de compartirlo

Los bloqueos eran lo que más me importaba. Fijar una celda, un día entero o todo el mes de una persona. Si ya habías acordado algo con alguien, volver a generar el cuadrante no debería deshacerlo como si esa conversación nunca hubiera existido.

Nadie quiere tener la misma discusión dos veces.

Hazme el cuadrante y luego dime qué tengo que decidir

Un buen programa debería resolverte el problema. Cambiar las celdas de Excel por celdas en una aplicación para seguir haciendo la misma gimnasia mental no es ayudar.

Así que el generador se encargaba de distribuir los turnos. Buscaba cubrir días y noches, equilibraba las horas, respetaba las preferencias cuando podía e intentaba no encajarle a nadie una racha brutal de turnos. Lo acordado seguía bloqueado mientras calculaba el resto. Sin IA. El cerebro eran algoritmos matemáticos deterministas.

Distinguía entre «prefiero noches» y «solo puedo hacer noches». Esa diferencia importa. Ignorarla es una buena manera de que alguien acabe guardándote rencor en silencio. Si un límite estricto de horas impedía cubrir un turno, lo dejaba vacío en lugar de colarle más horas a alguien. Cuando de verdad no había alternativa, algunas restricciones podían saltarse, con un aviso para que una persona lo revisara antes de compartir el resultado.

Esa era la idea. El software puede distribuir los turnos. No debería alucinarse un recepcionista extra cuando el equipo que tienes no alcanza para cubrir el mes. Te da una propuesta y, si no encuentra una solución perfecta, te muestra qué falla y qué hay que corregir.

Y todo se actualizaba mientras editabas. Dejas un día o una noche sin cubrir y aparece al momento. Lo mismo si alguien tiene un turno de día justo después de una noche, demasiados turnos seguidos o una asignación en un día que había marcado como no disponible.

Cada persona tenía su resumen de horas, días, noches, vacaciones y horas extra. Se veía quién cargaba con demasiado, quién se quedaba corto y dónde no cuadraba el mes.

Quería que los problemas se vieran mientras todavía estabas editando. Encontrar una noche sin cubrir en la pantalla, con un café en la mano, es bastante mejor que enterarte cuando no aparece nadie.

Sigue siendo ✨ gratis y abierto para quien quiera usarlo ✨. Necesitas entender polaco y trabajar con el mismo esquema de turnos de doce horas de día y de noche. Añade a tu equipo y pruébalo. También hay una guía.

El equipo podía traer una propuesta en vez de otra petición

Este fue el cambio que más me importó.

Antes mandabas tu petición a la encargada y esperabas a saber cómo iba a quedar tu mes. Con la aplicación podías sentarte e intentar montar el cuadrante entero. Introducir al equipo, tener en cuenta las peticiones de todos, generar una base y ajustarla hasta que encajara. Después, llevarle una propuesta completa para revisar en vez de otro «¿puedo librar el 24?».

Ella seguía decidiendo. Eso no cambió. Simplemente, ya no era la única persona haciendo todo el trabajo de organizarlo.

Y hubo un efecto secundario que no esperaba que se notara tanto: veías lo que tu petición suponía para los demás. Conseguir el día libre que querías es una cosa. Ver que eso obliga a otro a cubrir tres turnos incómodos es otra. Tenías el mes entero delante.

La gente pasó de mandar su pieza del puzle a ayudar a montarlo.

Lo necesitábamos ese fin de semana, no al mes siguiente

Mantuve el montaje pequeño a propósito. Sin backend. Sin servidor de base de datos. Sin inicio de sesión. Una aplicación en el navegador, alojada en GitHub Pages, con los datos guardados localmente en tu navegador.

La aplicación es pública, pero los datos del personal que introduces se quedan en tu dispositivo. Cualquiera podía preparar su propuesta sin cuenta y sin esperar a que le dieran acceso.

Para exportar, un PNG que puedes compartir o imprimir, y un JSON que guarda el personal, la configuración y el cuadrante para que otra persona lo importe o lo conserve como copia. Así se mueve un horario entre dispositivos. No hay un espacio compartido en la nube sincronizándolo todo a escondidas, porque no hay un servidor detrás.

Esas decisiones hicieron posible tener algo útil el domingo por la noche. Necesitábamos ayuda con el siguiente cuadrante, no un proyecto de infraestructura.

Lo usé con las personas para las que lo había construido

El equipo y los responsables usaron la aplicación durante un par de meses mientras yo seguía trabajando en el hotel.

No tengo una cifra bonita de «X horas ahorradas al mes». Lo que sí recuerdo es ver a mis compañeros aliviados, usando algo que había construido para resolver un problema que vivíamos todos. Eso sentó muy bien.

A veces haces las cosas por el puro gusto de hacerlas. Podía ayudar, así que ayudé. Ver que sus días eran un poco más fáciles me dio más satisfacción que ponerle una cifra.

No podía darles la Navidad libre a todos. Pero sí podía hacer que el cuadrante fuera un poco menos de película de terror navideña :)