Gestión de una reserva
Una reserva ya creada se gestiona desde su hoja de detalle, en/bookings?bookingId=:id. Ábrela haciendo clic en una fila de la tabla o en una reserva del calendario. La estructura de la hoja está en Reservas.
Para editar necesitas edit:bookings. Sin él, la hoja es de solo lectura. Una reserva cancelada también es de solo lectura, salvo los campos que se indican abajo.
El panel desactiva las acciones que no tocan, pero la API tiene la última palabra. Las reglas están en El ciclo de reserva, Alquiler, Llaves e intercambio y Reglas de reserva.
Qué puedes hacer y cuándo
Estas condiciones salen de
src/core/bookings/rules/booking.rules.ts y de cada componente de la hoja.
Editar la reserva
Tipo de reserva
El selector Tipo de reserva del resumen muestra los cuatro tipos. Al cambiarlo, la hoja se actualiza al momento y sale Se ha actualizado el tipo de reserva. Si la API falla, vuelve al tipo anterior. Cuando el cambio está bloqueado, un aviso explica por qué. Por ejemplo: “Esta reserva está alquilada. Elimina la estancia para poder cambiar el tipo de reserva.”Notas de la reserva
Escribe en Notas de la reserva. Se guarda al salir del campo o al pulsar Enter. Usa Shift+Enter para un salto de línea.Avisos del resumen
El resumen puede mostrar dos avisos. Son informativos y no bloquean nada:- “Quedan menos de 30 días para la llegada. No se recomienda modificar las fechas de la estancia.”
- En alquileres sin estancia: “Quedan menos de 30 días para la llegada. Esta estancia no se ha alquilado. Se recomienda avisar al propietario.”
Cancelar una reserva
Pulsa Cancelar reserva, al final del resumen. Si el botón está desactivado, pasa el ratón por el icono de ayuda para ver el motivo:- “Esta reserva ya está cancelada.”
- “No se puede cancelar una reserva que ya ha finalizado.”
- Alquiler confirmado, intercambio reclamado o intercambio en Thirdhome: el aviso te pide eliminar primero la estancia.
Estancias
Añadir una estancia
Las reservas de alquiler, intercambio y Thirdhome pueden estar publicadas sin estancia. La estancia aparece cuando alguien ocupa la reserva. Si tienes que registrarla a mano, tienes dos accesos que abren el mismo diálogo:- En el resumen, bajo Tipo de reserva: Marcar como alquilada, Marcar como intercambiada o Marcar como intercambiada en Thirdhome.
- En el bloque Todavía no hay estancia: el botón Añadir estancia.
Alquiler: Alquilar reserva (3 pasos)
Alquiler: Alquilar reserva (3 pasos)
- Huésped. Pulsa Seleccionar huésped y elige un Usuario de Vivla o un Huésped externo. Necesitas al menos uno, y uno marcado como Principal (Marcar principal). En externos, nombre y email son obligatorios y el teléfono opcional.
- Estado y Precio del alquiler. Aprobado deja el alquiler confirmado. Pendiente lo deja a la espera de aprobación. El precio es obligatorio, numérico y mayor que 0.
- Detalles de la estancia (ver abajo).
Intercambio: Añadir estancia de intercambio (2 pasos)
Intercambio: Añadir estancia de intercambio (2 pasos)
- Huésped principal. Pulsa Seleccionar propietario. Solo puedes elegir usuarios de Vivla. Verás Coste en llaves y Saldo del propietario con Suficiente o Insuficiente. Con saldo insuficiente no puedes avanzar.
- Detalles de la estancia (ver abajo).
Thirdhome: Añadir estancia de Thirdhome (2 pasos)
Thirdhome: Añadir estancia de Thirdhome (2 pasos)
- Asistente principal. Pulsa Añadir asistente y rellena el diálogo Asistente de Thirdhome: nombre y email obligatorios, teléfono opcional.
- Detalles de la estancia (ver abajo).
- Fecha y hora de entrada y Fecha y hora de salida. Por defecto, el inicio y el fin de la reserva a las 16:00 y 10:00. Si pones una fecha, tienes que poner la otra. La salida debe ser posterior a la entrada.
- Ocupación: Adultos, Niños y Mascotas. Números enteros mayores o iguales a 0.
- Notas de la estancia.
- Servicios: Limpieza, Cuna, Alquiler de equipo y Reservas de servicios, más un campo de Peticiones.
POST /v2/admin/bookings/:id/add-stay con guests (usuarios como userId, externos como name, email y phone, con rol main o guest), las fechas, notes e info. El alquiler añade price y pendingApproval.
Oferta de alquiler
En un alquiler con estancia, Detalles de la estancia empieza con la tarjeta de la oferta:- Pendiente: Oferta de alquiler · Pendiente de respuesta, con Aprobar y Rechazar.
- Aprobada: Oferta aprobada, solo lectura.
Coste del intercambio
En un intercambio con estancia ves Coste del intercambio en llaves y Reclamada por. Es solo lectura.Fechas de la estancia
Pulsa Editar en Fechas de la estancia, o haz clic en el campo. Se abre Editar fechas de estancia:- Fecha de entrada: y Fecha de salida:, cada una con su hora.
- Si pones una fecha, la hora es obligatoria.
- La salida debe ser posterior a la entrada.
- Si te sales del rango de la reserva, un aviso te lo dice, pero puedes guardar.
Las horas del diálogo se interpretan en la zona horaria de la casa (
Europe/Madrid, constante HOUSE_TIMEZONE), no en la de tu navegador.Viajeros, notas y servicios
Estos campos se guardan solos:- Viajeros: Adultos (a partir de 13 años), Niños (de 0 a 12 años) y Mascotas. Cada clic en los botones guarda.
- Notas de la estancia: se guarda al salir del campo o con Enter.
- Planificación e itinerario del viaje: Servicios extra (Limpieza adicional, Cuna bebe, Alquileres (barco, coche…), Reserva (restaurantes…)) y Otros servicios.
- Ha disfrutado de su estancia: SI / NO.
- Comunicación: los cinco hitos con su SI / NO. Son los mismos flags que la tabla.
Eliminar la estancia
Pulsa Eliminar estancia, al final de Detalles de la estancia. El diálogo avisa: “¿Seguro que quieres eliminar esta estancia? La reserva volverá a quedar libre.” Al confirmar sale Estancia eliminada correctamente. No existe en reservas de disfrute.Huéspedes
La lista Asistentes de Detalles de la estancia pone primero al huésped principal, con la etiqueta Principal. Cada huésped tiene botones para copiar email y teléfono.Añadir un huésped
Pulsa Añadir. Se abre Añadir asistente con dos pestañas:- Usuario Vivla: busca por nombre o email. Los que ya están en la estancia no se pueden volver a elegir.
- Externo: Nombre y Email, los dos obligatorios. La persona se registra con su email.
guest. Al terminar sale Asistente añadido correctamente.
Editar un huésped
- Externo: el lápiz abre Editar asistente con Nombre, Email y Teléfono. Nombre y un email válido son obligatorios.
- Usuario de Vivla: el lápiz te lleva a editar el usuario (
/users/:id/edit). Necesitasedit:users. Ver Usuarios.
Quitar un huésped
Pulsa la X y confirma en Eliminar asistente. El huésped principal no se puede quitar.Editar y quitar usan
guestId: el ID del huésped dentro de la estancia, no el ID del usuario.Endpoints de vivla-api
Tras cada cambio, el panel invalida las queries
["booking", id] y ["booking-list"]. La hoja y la tabla se refrescan solas. Si la API devuelve error, sale un aviso con su mensaje.
La referencia de la API está en Endpoints de reservas.
Código
Rutas relativas asrc/features/bookings/components/BookingsDetailsSheet/content/.
Fuera de la hoja: