Skip to main content

Documento de check-in

El documento de check-in es la guía de bienvenida que recibe quien llega a una casa. Reúne en una página la portada, las fechas, la dirección, los códigos de acceso, el wifi, la alarma, el home manager, los amenities, las normas y los pasos del check-out. CX lo prepara en dos sitios:
  • En /homes/:id/checkin-doc, el workbench de la casa. Aquí mantienes los datos que alimentan el documento y ves la plantilla con placeholders.
  • En el detalle de una reserva, con Generar documento de Check in. Ahí el documento se rellena con los datos de esa reserva y puedes retocar los textos antes de descargarlo.
Las dos vistas usan el mismo componente (PlanningDocument) y descargan el mismo PDF.

Rutas

Llegas desde el selector de sección del detalle de casa, con la opción Documento de Check in. Sin edit:homes, esa opción no aparece.

Qué genera

El documento sigue siempre este orden. La tabla indica de dónde sale cada bloque.
La alarma solo aparece por defecto si la casa tiene código de alarma o de coacción. En una reserva puedes ocultarla con Ocultar sección o añadirla con Añadir sección Alarma.

Workbench de configuración

La columna izquierda se titula Contenido del documento. Es un acordeón con los datos de la casa que alimentan el documento. Cada apartado muestra Guardado si ya tiene datos o Sin dato si falta algo.

Contenido del documento

Todo lo que guardas aquí se guarda en la ficha de la casa. Lo verás también en el detalle y en los documentos de todas sus reservas.
Dirección y llegada es el único sitio del panel donde puedes corregir dirección, ciudad y código postal una vez rellenos. En el detalle esos campos se bloquean.

Contenido de plantilla

Debajo del acordeón, el bloque Contenido de plantilla lista lo que no depende de la casa: Intro, Normas esenciales, Amenities, Check-out, Alarma (texto e imagen) y Despedida. “Estos valores solamente se pueden modificar dentro de una reserva concreta.” En el workbench la vista previa es de solo lectura para los textos.

Vista previa

La columna derecha muestra el documento tal y como saldrá en el PDF. Se regenera cada vez que cambian los datos de la casa.

Placeholders

En el workbench no hay reserva, así que los datos que dependen de ella salen como chips:

Código del propietario

Si algún propietario de la casa tiene código de acceso personal, la fila Acceso de la plantilla muestra el chip código del propietario. Así sabes que ese valor cambia según la reserva. En el documento de una reserva:
  • En una reserva de Disfrute, la fila Acceso usa el código personal del propietario. Si no tiene, usa el código de acceso de la casa.
  • En Alquiler, Intercambio y Thirdhome nunca se muestra el código personal. Quien llega no es el propietario.

Imágenes de acceso

Las imágenes de acceso se gestionan directamente sobre la vista previa, en el bloque de llegada:
  • Añadir imagen: sube JPG, PNG o WebP de hasta 10 MB, con un máximo de 10 por tanda. Se añaden al final.
  • Arrastra una imagen para cambiar el orden.
  • Arrastra el tirador para ajustar el tamaño. Doble clic lo restablece.
  • Escribe en Título de la imagen… para renombrarla.
  • Eliminar imagen pide confirmación antes de borrar.
Todo se guarda en la casa al momento, sin botón de guardar. Ordenar, redimensionar, renombrar y borrar se reflejan antes de que responda la API. Si la petición falla, la imagen vuelve a su estado anterior.
El borrado de una imagen de acceso usa el mismo endpoint que el de las fotos de la galería (DELETE /v2/admin/properties/images/:imageId/delete).

Idiomas

El documento existe en español y en inglés. Cambia de idioma con el conmutador ES / EN de la barra de la vista previa. Por defecto se abre en español.
  • Los textos de plantilla de cada idioma viven en src/features/checkinDocs/locales/es.tsx y en.tsx, no en los JSON de i18n del panel.
  • Las fechas se formatean con el locale de cada idioma (dateLocales.ts).
  • La imagen por defecto de la alarma cambia según el idioma.
Las indicaciones de llegada solo se precargan en español. La versión en inglés empieza vacía: escríbela a mano en la reserva antes de descargar el PDF en inglés.
En una reserva, cada idioma guarda sus propios retoques. Cambiar de idioma no borra lo que escribiste en el otro.

Exportación a PDF

En el workbench, pulsa Descargar PDF · ES (o · EN). Mientras se genera verás Generando… y el conmutador de idioma queda bloqueado.
  • El PDF se genera en el navegador con html2pdf.js, en A4 vertical.
  • Antes de rasterizar, el panel espera a que carguen todas las imágenes y fuerza la carga de las tipografías del documento. Sin eso, el PDF saldría con fuentes de reserva.
  • Durante la exportación se ocultan los controles de edición (tiradores, botones de añadir o borrar).
  • El archivo se llama <Casa> · Bienvenida.pdf en español y <Casa> · Welcome.pdf en inglés. Desde una reserva se añade la fecha de llegada (dd-mm-aaaa).

Documento desde una reserva

En el detalle de una reserva, ve a Comunicación y busca la Notificación de Check in. Pulsa Generar documento de Check in. Se abre un diálogo con:
  • El documento ya relleno con los nombres, las fechas y el código de acceso que toque.
  • Un enlace a la casa. Con edit:homes abre el workbench; sin él, el detalle.
  • El conmutador ES / EN y Descargar PDF.
Aquí sí puedes retocar los textos: saludo, indicaciones, filas de la tabla de llegada (Añadir campo), alarma, amenities, normas y pasos del check-out.
Los retoques hechos en una reserva no se guardan. Solo viven mientras el diálogo está abierto y van al PDF que descargues. Si quieres que un dato salga en todas las reservas, cámbialo en el workbench de la casa.
El diálogo encuentra la casa por su nombre (useHomeIdByName), comparando sin mayúsculas ni espacios sobrantes. Si no la encuentra, verás No se pudo cargar la información de la casa. El botón Enviar ahora está deshabilitado (Disponible próximamente).
Más contexto sobre esa pantalla en Gestionar reservas.

Directorio de agentes CX

El bloque del home manager enseña el nombre, el teléfono y el email del agente CX asignado a la casa. Esos datos vienen de la API. Si a la API le falta el teléfono o el email, el panel los completa con un directorio local en src/features/checkinDocs/cxAgents/directory.ts:
  1. findCxAgent busca primero por teléfono, comparando solo los dígitos.
  2. Si no hay coincidencia, busca por nombre de pila, sin distinguir mayúsculas.
  3. Si tampoco la hay, el bloque sale sin ese dato.
La despedida firma con el nombre del agente. Si la casa no tiene agente, el bloque del home manager no aparece y la despedida usa una firma genérica.
El directorio está escrito a mano en el código. Cuando entra o sale alguien del equipo de CX, o cambia un teléfono, hay que actualizar directory.ts y desplegar. Si no, el documento puede salir con un contacto desfasado.

Endpoints de vivla-api

Código