WhatsApp y Google Calendar: automatizar reservas sin duplicar citas

Publicado el 2026-11-14 por frfrand

Flujo de disponibilidad, confirmación, reprogramación y cancelación con WhatsApp y Google Calendar sin reservas duplicadas.

# WhatsApp y Google Calendar: automatizar reservas sin duplicar citas

Dos clientes pueden preguntar por el mismo horario a la vez. Consultar Google Calendar y después insertar un evento sin proteger el recurso permite que ambos procesos vean el hueco libre. La API del calendario permite consultar y escribir eventos, pero una comprobación previa no reemplaza un bloqueo o restricción transaccional en el sistema de reservas cuando la simultaneidad importa.

Arquitectura mínima

WhatsApp recibe la solicitud mediante webhook; un backend identifica el cliente y la zona horaria; un servicio de disponibilidad combina horarios de negocio, descansos y eventos ocupados; una base de datos gestiona el estado de la reserva; Google Calendar refleja eventos confirmados. La base de datos mantiene identificadores de cliente, recurso, hora de inicio y fin, estado, calendar_id y event_id.

Flujo completo

  1. Recibir y validar mensaje, deduplicando por ID del proveedor.
  2. Proponer huecos calculados para un calendario y recurso concretos.
  3. Solicitar confirmación y mantener una reserva temporal con caducidad definida.
  4. Confirmar atómicamente la exclusividad del horario en la base de datos.
  5. Crear o actualizar el evento en Calendar y guardar el identificador remoto.
  6. Enviar confirmación solo después de conocer el resultado; registrar errores para reconciliación.

Evitar conflictos

La regla de exclusividad depende del negocio: mismo profesional, sala o equipo. Para PostgreSQL, una restricción de exclusión sobre intervalos de tiempo es útil cuando no deben solaparse reservas confirmadas del mismo recurso. No bases la prevención solo en caché. Las retenciones temporales tienen que expirar y los reintentos deben reutilizar la misma clave de operación.

Reprogramaciones y cancelaciones

Usa un estado explícito: pendiente, confirmada, cambio pendiente, cancelada. Reprogramar implica reservar el nuevo hueco de modo seguro antes de liberar el anterior, con compensación si una etapa falla. Cancelar debe conservar una referencia auditable, actualizar el evento remoto y emitir una única notificación. Si Calendar no responde, marca sincronización pendiente y reconcilia; nunca anuncies un cambio que no se aplicó.

Zona horaria y recordatorios

Guarda fechas en UTC y la zona IANA del negocio, como Europe/Lisbon. Presenta la hora local en cada mensaje. Considera cambios de horario de verano y calendarios con distintos permisos. Los recordatorios salientes deben respetar preferencias y reglas de plantillas de WhatsApp.

Pruebas antes del lanzamiento

Simula solicitudes simultáneas, dobles webhooks, fallo al crear evento, reconexión tras timeout, cancelación repetida y cambio de hora de verano. Para profundizar en exclusividad de reservas, consulta reservas duplicadas en PostgreSQL y webhooks seguros.

Preguntas frecuentes

¿Es necesario construir todo a medida? No siempre. Empieza con el proceso mínimo y añade integraciones cuando exista una necesidad demostrable.

¿Cómo se evitan errores repetidos? Con identificadores estables, validaciones, registros y pruebas de reintentos.

¿Cuándo intervenir manualmente? Ante datos ambiguos, errores persistentes y acciones de alto impacto.

Conclusión

Documenta el proceso y prueba sus fallos antes de ampliar volumen. En ArduMaker puedes explorar la infraestructura y las integraciones aplicables a este escenario.

  • WhatsApp
  • Google Calendar
  • reservas
  • automatización

Seguir leyendo

Todos los artículos · Planes de VPS