Reservas
El módulo Reservas es donde CX consulta y sigue las reservas de todas las casas. Tiene dos vistas: una tabla con una fila por reserva y un calendario con una fila por casa. Desde las dos abres la hoja de detalle de una reserva. Para registrar una reserva nueva, ve a Alta de reserva. Para editar, cancelar o tocar estancias y huéspedes, ve a Gestión de una reserva.Esta página describe la pantalla, no las reglas de negocio. Cupos, última hora, alquiler y llaves están en El ciclo de reserva, Reservas de última hora, Alquiler y Reglas de reserva.
Rutas
Sin
read:bookings no ves Reservas en el menú y la ruta te redirige. El botón Crear reserva solo aparece con edit:bookings. El permiso * lo da todo. Ver Permisos.
Otros módulos enlazan aquí con la URL ya filtrada:
- La ficha de un usuario abre sus reservas (
?user=). Ver Usuarios. - Los propietarios de una casa abren las reservas de ese usuario en esa casa (
?user=&home=). - Los movimientos de llaves y el calendario de una casa abren la hoja de detalle (
?bookingId=).
Cabecera
- Crear reserva lleva a
/bookings/create. - El switch Lista / Calendario (
ListModeSwitch) cambia de vista. Guarda la elección enviewMode(listocalendar). Cualquier otro valor cae en lista.
Vista lista
Filtros
Todos los filtros viven en la URL. Copia el enlace para compartir una búsqueda concreta.
Opciones de Estado de aprobación:
- Alquiler: Sin asistente, Pendiente, Aprobada.
- Intercambio y Thirdhome: Sin intercambiar, Intercambiada.
page y pageSize (10 por defecto). Cambiar cualquier filtro te devuelve a la página 1. Limpiar filtros aparece cuando hay algún filtro activo y los quita todos.
El panel traduce los params de la URL a los de la API:
home pasa como properties, user como userId, cx como cx_agent y cancelled como showCancelled=include o exclude.Tabla
Las dos primeras columnas quedan fijas al hacer scroll horizontal:- Nombre de la casa: enlaza a la ficha de la casa.
- Fecha de la reserva: primer y último día de los slots, con temporada y año.
Haz clic en una fila para abrir la hoja de detalle. Los enlaces de casa, propietario y huésped llevan a su ficha sin abrir la hoja. Las reservas canceladas salen atenuadas.
Estado de la estancia combina el tipo y el estado de aprobación. Por ejemplo, un alquiler aprobado sale como Alquilada y un intercambio aprobado como Intercambiada. Una reserva cancelada siempre sale como Cancelada. Sin estado de aprobación, sale Desconocido.
Tipos de reserva e iconos
BookingTypeIcon elige el icono según el tipo. Lo usan la tabla, el selector de tipo de la hoja de detalle y los eventos del calendario.
Flags de seguimiento
Las columnas de seguimiento son flags de la estancia (BookingFlags). Se editan desde la propia tabla con un selector SI / NO.
El selector queda desactivado si no tienes
edit:bookings, si la reserva está cancelada o si no tiene estancia. El cambio se ve al momento. Si la API falla, vuelve al valor anterior y sale un aviso con el error.
Los flags cuelgan de la estancia, no de la reserva. Una reserva sin estancia no tiene flags editables.
Badge de última hora
LastHourBadge muestra un rayo y el texto Última hora. Aparece junto al tipo en la columna Tipo de reserva cuando la reserva tiene isLastHour. En la hoja de detalle se ve como sufijo Última hora en el selector de tipo. En el CSV, el tipo sale como Disfrute · Última hora. La vista calendario no lo muestra.
La última hora se decide al crear la reserva. La hoja de detalle no permite cambiarla después. Las reglas están en Reservas de última hora.
Export CSV
Pulsa Exportar a CSV. El botón se desactiva mientras carga la tabla o si no hay resultados. Se abre el diálogo Exportar reservas a CSV:- Arriba ves cuántas reservas y columnas vas a exportar, y los filtros activos como chips.
- Nombre del archivo viene como
reservas_AAAA-MM-DD. Es obligatorio. - El export usa los mismos filtros que la tabla. No se limita a la página visible.
- El panel pide las reservas en bloques de 500 y muestra el progreso (Exportando… X de Y).
- El archivo se genera en tu navegador.
Vista calendario
Una fila por casa y una columna por día del mes. Cada slot se pinta con el color de su temporada. Si el slot tiene una reserva, muestra el propietario, el icono del tipo y el tipo. Haz clic en la reserva para abrir su hoja de detalle.- Navegación: flechas de mes, selector de mes (tres años atrás y tres adelante) y botón Hoy, que vuelve al mes actual y centra el día de hoy.
- Filtros (Filtrar por): casas (selección múltiple), Agente CX y destino. Limpiar filtros los quita.
- Cabecera: Nombre de la casa y el total de casas que cumplen los filtros.
- Paginación: 5 casas por página por defecto.
cal: calHome, calCx, calLocation, calFrom, calTo, calPage y calPageSize. Así los filtros de lista y calendario no se pisan. Sin fechas en la URL, se muestra el mes actual.
Esta vista solo lee. No tiene filtros de estado, tipo ni usuario, ni export CSV. Para crear, mover o borrar slots de calendario usa el Calendar Manager.
Hoja de detalle
BookingsDetailsSheet se abre cuando la URL lleva bookingId. Sale por la derecha en escritorio y desde abajo en móvil. Al cerrarla, el panel quita bookingId de la URL.
- El título es Detalles de la reserva. Debajo, ID de la reserva: N. Haz clic en el ID para copiarlo.
- Si la reserva no carga, sale Error al cargar los datos de la reserva y la hoja se cierra.
- Si la reserva está cancelada o no tienes
edit:bookings, casi todo es de solo lectura.
El resumen muestra la casa, Propietario: nombre con Ver perfil, Fechas de la reserva, avisos, Tipo de reserva, Estado de la reserva, Notas de la reserva y Cancelar reserva. Qué puedes cambiar en cada bloque está en Gestión de una reserva.
Comunicación
La sección Comunicación agrupa cinco hitos de seguimiento. Cada uno tiene un selector SI / NO (el flag de la tabla) y un mensaje plantilla con Ver mensaje y Copiar mensaje.
En 7 días antes tienes Generar documento de Check in. Abre el diálogo Documento de Check in con Descargar PDF. Enviar ahora aparece desactivado (Disponible próximamente). El contenido del documento sale de la casa: ver Documento de check-in.
Enviar mensaje, en la cabecera de la hoja, todavía no hace nada.
Endpoints de vivla-api
La referencia completa de la API de reservas está en Endpoints de reservas.