HabilidadActualizado: Junio 2026

Reservas (Hospedaje)

Gestiona reservas de check-in y check-out para hoteles, hostales, cabañas y cualquier negocio de hospedaje.

Disponible para: Hospedaje
Esta habilidad está diseñada para hoteles, hostales, cabañas, departamentos vacacionales y glamping. Para reservas de mesa en restaurantes, usa la habilidad de Pedidos.

¿Qué son las Reservas?

La habilidad de Reservas permite que el cliente solicite reservar una habitación o espacio por rangos de fechas (check-in / check-out) directamente desde WhatsApp.

Diferencia con la Agenda de Citas

AspectoCitasReservas
Unidad de tiempoHoras/minutosDías
Tipo de negocioServiciosHospedaje
ConfirmaciónAutomática o con anticipoRequiere aprobación del gerente
Check de disponibilidadPor duración + bufferPor rango de fechas [entrada, salida)
Anti double-bookingTransacción serializableConstraint EXCLUDE en PostgreSQL

Flujo de una reserva

Cliente: "¿Tienen habitación disponible del 15 al 18 de julio?"
Agente verifica disponibilidad → Sí disponible
Agente pregunta: número de personas, tipo de habitación preferida
Agente solicita nombre, teléfono, email (opcional)
↓ Si requiere anticipo
Agente genera link de pago MP
Sistema crea SolicitudReserva
Notificación al gerente por WhatsApp/email
↓ Gerente confirma o rechaza
Estado: Confirmada o Cancelada
Agente notifica al cliente por WhatsApp

Modalidades de confirmación

ModalidadCómo funcionaIdeal para
ManualEl gerente recibe notificación y confirma manualmente desde el panel o por WhatsAppHoteles boutique, cabañas con disponibilidad variable
AutomáticaSi hay disponibilidad y el pago es recibido (anticipo), la reserva se confirma automáticamenteHostales con mucha demanda y proceso estandarizado

Configurar habitaciones

Las habitaciones se configuran en el Catálogo como elementos de tipo Habitación. Campos disponibles:

CampoDescripciónEjemplo
NombreNombre de la habitación o tipo"Suite Deluxe", "Cabaña Bosque"
Precio por nochePrecio base por noche$1,200 MXN
CapacidadNúmero máximo de personas2, 4, 6 personas
DescripciónAmenidades e info que el agente menciona al cliente"Incluye desayuno, jacuzzi, TV, WiFi"
ImágenesFotos que el agente puede enviar cuando el cliente pida ver la habitaciónURLs de imágenes

Sistema de disponibilidad

Xambee usa un constraint EXCLUDE de PostgreSQL para prevenir doble booking en reservas. Técnicamente:

  • Las fechas se almacenan como rango [fechaEntrada, fechaSalida)inclusivo-exclusivo
  • La fecha de salida (checkout) no cuenta como ocupada, permitiendo nuevas reservas desde ese día
  • Si dos solicitudes llegan simultáneamente, la base de datos rechaza la segunda con error 23P01
  • El sistema responde con un 409 y ofrece fechas alternativas disponibles
Fechas inclusivas/exclusivas
Si una reserva es del 15 al 18 de julio, el huésped ocupa las noches del 15, 16 y 17. El 18 es el día de salida (libre desde las 12pm). Una nueva reserva puede iniciar el 18 sin conflicto.

Estados de una reserva

EstadoDescripción
Pendiente adminSolicitud recibida, esperando confirmación del gerente
ConfirmadaReserva confirmada. Check-in activo.
CompletadaEl huésped hizo checkout. Reserva cerrada.
CanceladaCancelada por el gerente o el huésped
No asistióEl huésped no se presentó en la fecha de check-in

Notificación al gerente

Cuando llega una nueva solicitud de reserva, el gerente recibe:

  • Mensaje de WhatsApp con todos los datos de la solicitud
  • Email con resumen completo y enlace al panel
  • Notificación en el panel de Xambee

Desde el panel el gerente puede confirmar o rechazar la reserva con un clic. El sistema notifica automáticamente al cliente con la decisión.

Nota
El gerente también puede agregar un mensaje personalizado para el cliente al confirmar o rechazar (ej: "Te esperamos. La recepción abre a las 2pm").