cómo evitar dobles reservas cuando vendes por WhatsApp.
Para evitar dobles reservas, verifica la disponibilidad y ocupa la fecha en un mismo paso, cuenta montaje y traslado dentro del bloqueo y haz que los apartados venzan solos. Esta guía es para negocios que reservan por chat. En heysteff lo hacen Agendamiento (desde Starter, 149 USD/mes) y Reservas (desde Pro, 299 USD/mes).
◆ requisitos previos
Saber cuántas unidades (o cupos) tienes de verdad, cuánto demoras en montar, desmontar y trasladarte, y qué estado de una reserva consideras «ocupada».
Por qué ocurren las dobles reservas
Una doble reserva casi nunca es un descuido aislado. Es el resultado de un proceso con huecos, y los huecos son siempre los mismos:
- Dos conversaciones al mismo tiempo. Dos clientes preguntan por el mismo sábado con minutos de diferencia. Las dos personas que responden (o el mismo agente, en dos chats) ven la fecha libre y las dos dicen que sí.
- Una planilla que no está al día. Alguien confirmó por teléfono y lo anotó después, o nunca.
- Una cotización tomada como reserva. El cliente recibió el precio y cree que la fecha es suya; el equipo cree que no.
- Bloqueos incompletos. El calendario muestra el evento de 20:00 a 01:00, pero no la hora de montaje ni el viaje hasta el lugar.
- Apartados eternos. Una fecha «apartada mientras paga» que nadie libera y que tampoco nadie cobra.
Cada paso de esta guía cierra uno de esos huecos.
Paso 1: define qué estados ocupan capacidad
Antes de cualquier herramienta, decide qué significa «ocupada». Una regla clara evita la mitad de los conflictos:
| Estado | ¿Ocupa la fecha? | Por qué |
|---|---|---|
| Cotizada | No | Una cotización no es un compromiso; si ocupara, unos pocos curiosos bloquearían tu temporada alta. |
| Apartada | Sí, con vencimiento | El cliente tiene un plazo para pagar el abono. |
| Confirmada | Sí | Hay abono o el equipo la confirmó. |
| Completada | No (queda como registro) | El evento ya pasó. |
| Cancelada | No | La fecha vuelve a estar disponible. |
Paso 2: bloquea el tiempo completo, no solo el evento
Si arriendas algo que se lleva y se instala, el evento es solo una parte del tiempo que la unidad está ocupada. El bloqueo real va desde el inicio menos el montaje y el traslado hasta el fin más el desmontaje. Un ejemplo con números inventados para ilustrar: el evento A termina a las 16:00 y el desmontaje toma 30 minutos, así que la unidad queda libre a las 16:30. El evento B empieza a las 19:00, con 60 minutos de montaje y 45 de traslado, así que la unidad tiene que salir a las 17:15. Como 16:30 es antes que 17:15, la misma unidad puede hacer los dos. Si B empezara a las 17:30, tendría que salir a las 15:45, se cruzaría con A y necesitarías otra unidad.
Si el sistema no conoce el montaje y el traslado, dirá «libre» aunque el camión siga en otro evento.
Paso 3: verificar y ocupar tiene que ser un solo paso
Si primero se revisa la disponibilidad y después, en otro momento, se escribe la reserva, entre esos dos instantes otra conversación puede hacer lo mismo. Las dos ven la fecha libre y las dos la toman. Se llama condición de carrera, y con un agente atendiendo varios chats a la vez pasa cualquier sábado de temporada alta.
La solución es que verificar y ocupar ocurran juntos y en orden: quien llega primero toma un candado sobre ese tipo de unidad (o ese horario), verifica, escribe la reserva y suelta el candado. Quien llega segundo espera, vuelve a verificar con la reserva anterior ya escrita y recibe un «no hay» honesto, con alternativas.
Paso 4: una restricción de último recurso
Los candados protegen el camino normal. Pero una reserva puede entrar por otros lados: una importación, una reasignación manual, una corrección hecha por el equipo. Por eso conviene una segunda defensa en la base de datos misma: una regla que rechace que una misma unidad tenga dos bloqueos que se crucen en el tiempo, venga de donde venga. Si algo se escapa del primer filtro, el segundo lo detiene.
Paso 5: que los apartados venzan solos
Un apartado sin vencimiento es una doble reserva en cámara lenta: la fecha queda tomada, nadie paga y el siguiente cliente se va. Ponle a cada apartado una hora de vencimiento, envía un recordatorio antes de que venza y libéralo automáticamente si no llegó el abono, avisándole al cliente. Y una excepción importante: si ya hay un pago registrado, la fecha nunca debe liberarse sola; que la revise una persona.
Paso 6: responde «hay» o «no hay», no cuántas quedan
Decirle al cliente «nos quedan dos cabinas» parece transparente, pero genera problemas: el dato cambia en minutos, invita a negociar y revela tu inventario a la competencia. Al cliente le basta saber si su fecha está libre y, si no, cuáles cercanas sí.
Paso 7: al migrar, marca los conflictos en vez de esconderlos
Cuando pasas tus eventos de una planilla o un calendario a un sistema nuevo, es probable que aparezcan días con más eventos que unidades: errores del pasado que nadie había visto. No los rechaces en silencio ni los dejes pasar como si nada. Impórtalos, márcalos como conflicto y que el equipo decida cada uno.
Cómo lo resuelve heysteff
En el módulo Reservas, solo los apartados y las reservas confirmadas ocupan capacidad; una cotización no. El bloqueo de cada unidad incluye montaje, traslado (antes del evento) y desmontaje. Toda escritura que ocupa una fecha (un apartado del agente, una reserva del equipo o una importación) toma un candado por tipo de unidad y, si configuraste un tope diario, otro por día, y verifica la capacidad dentro de ese candado. Debajo, una restricción en la base de datos impide dos bloqueos que se crucen en la misma unidad.
Los apartados duran lo que configures (48 horas por defecto), con un recordatorio antes de vencer (60 minutos por defecto) y liberación automática; una fecha con un pago registrado nunca se libera sola y el equipo recibe un aviso. La importación desde un calendario de agendamiento de heysteff marca como conflicto los días con más eventos que unidades.
Para citas con hora (una consulta, una visita, un tour con cupos), el módulo de agendamiento toma un candado por calendario y horario, vuelve a validar el tope diario y rechaza un horario que aparece ocupado en tu Google Calendar. Para cotizar sin errores, mira cómo cotizar por WhatsApp con IA.
Preguntas frecuentes
¿Cómo evito que dos clientes reserven la misma fecha?
Haciendo que verificar y ocupar ocurran en un solo paso, con un candado por tipo de unidad u horario, y con una restricción en la base de datos como segunda defensa. Así funciona heysteff en Reservas y en Agendamiento.
¿Una cotización debería bloquear la fecha?
No. Si una cotización ocupara capacidad, los clientes que solo preguntan bloquearían tus mejores fechas. Lo recomendable es que solo ocupen los apartados con vencimiento y las reservas confirmadas.
¿Cuánto tiempo debería durar un apartado sin abono?
Lo que tu cliente necesite para transferir, sin dejar la fecha tomada indefinidamente. En heysteff el valor por defecto es 48 horas, con un recordatorio 60 minutos antes de vencer, y ambos se configuran.
¿Cómo cuento el tiempo de montaje y traslado entre dos eventos?
Bloquea desde el inicio del evento menos el montaje y el traslado hasta el fin más el desmontaje. Dos eventos pueden usar la misma unidad solo si esos bloqueos no se cruzan.
¿Puedo importar mi calendario actual de eventos sin perder los conflictos?
Sí, si tus eventos están en un calendario de agendamiento de heysteff: la importación a Reservas no rechaza nada y marca como conflicto los días con más eventos que unidades, para que el equipo decida.
¿En qué plan viene y cuánto cuesta?
El agendamiento de citas viene desde Starter, a 149 USD/mes. El módulo Reservas viene desde Pro, a 299 USD/mes, y en Max, a 549 USD/mes. Ver precios.
◆ siguiente paso
Deja de cruzar planillas: carga tus unidades y deja que heysteff cuide la capacidad.