07 mar 2025·8 min de lectura

App de registro de visitantes con credenciales QR: modelo de datos y flujos

Diseña el modelo de datos y los flujos para un sistema de registro de visitantes con credenciales QR, alertas a anfitriones, preguntas de seguridad, registros de emergencia y exportación de historial.

App de registro de visitantes con credenciales QR: modelo de datos y flujos

Qué problema debe resolver el flujo de check-in

Un flujo de check-in no es solo un libro de visitas digital. Decide quién está dentro, a quién vienen a ver y qué debe pasar después. Cuando está bien hecho, la recepción se mantiene tranquila y obtienes registros confiables para después.

Las firmas en papel fallan de maneras previsibles: los nombres se escriben mal o son ilegibles, faltan horas y la gente olvida hacer checkout. Una hoja en un mostrador también puede exponer información privada porque cualquiera puede ver entradas anteriores. Y cuando algo cambia rápido (un anfitrión está en una reunión, un visitante responde a una pregunta de seguridad con una bandera roja), el personal termina persiguiendo a la gente por teléfono.

Un buen resultado es simple: el check-in toma menos de un minuto, la credencial es clara y escaneable, y el anfitrión recibe la alerta correcta sin recibir spam. Cada visita se convierte en un registro limpio de quién, cuándo, dónde, por qué y qué se respondió, para que puedas exportarlo para auditorías o investigaciones.

Antes de diseñar nada, limita el alcance. La mayoría de los equipos empieza con unos pocos tipos de visita: invitados onsite, contratistas (a menudo con pasos de seguridad adicionales), entregas (a veces sin credencial, pero con sello de tiempo) y entrevistas (con más necesidades de privacidad).

También decide dónde vive la experiencia. Una tablet tipo quiosco es mejor para velocidad y consistencia. Una app web para recepcionista es mejor para excepciones, correcciones y reimpresiones. Una opción móvil puede ayudar a anfitriones o seguridad a verificar check-ins con QR lejos del mostrador.

Roles, permisos y los eventos que debes rastrear

Una app de check-in vive o muere por dos cosas: roles claros y una traza de eventos limpia. Si falta claridad en cualquiera, tendrás alertas perdidas, exportaciones desordenadas y registros en los que nadie confía.

Roles a planificar

Mantén los roles simples al principio:

  • Visitor: introduce sus propios datos y responde preguntas, pero no puede ver otras visitas.
  • Host: ve las visitas asignadas, reconoce llegadas y puede solicitar acciones como escolta.
  • Receptionist (front desk): crea visitas, corrige errores obvios durante el check-in, reimprime credenciales y hace el checkout.
  • Security: ve quién está onsite ahora, apoya recuentos de emergencia y revisa notas de incidentes.
  • Admin: administra sitios, políticas y exportaciones, incluidas reglas de retención.

Los límites de permisos importan especialmente en torno a datos personales y reportes. Decide pronto quién puede ver números de teléfono, información de identificación o fotos de visitantes, y quién puede exportar el historial de visitantes. Una regla común es: la recepción ejecuta el flujo, seguridad ve la presencia actual onsite y solo los administradores pueden exportar el historial completo.

Eventos que siempre deberías registrar

Piensa en eventos, no solo en una sola fila "visita" que se edita con el tiempo. Estos son los momentos que necesitarás luego para auditorías y resolución de problemas:

  • Check-in completed (timestamp, dispositivo, sitio)
  • Badge issued (ID de credencial, valor QR, impreso por)
  • Host notified (canal usado, estado de entrega)
  • Safety answers submitted (qué conjunto de preguntas o versión se mostró)
  • Check-out (quién hizo el checkout, cómo, cuándo)

Haz que los eventos críticos sean auditables y append-only (check-in, notificación, check-out). Permite ediciones limitadas solo en campos que con frecuencia están mal (ortografía del nombre, empresa), y registra qué cambió y quién lo cambió.

Modelo de datos principal: visitantes, visitas, credenciales y sitios

Un sistema confiable empieza con un modelo limpio. La idea clave es separar a la persona del evento de su llegada. Un visitante recurrente permanece como un registro, mientras que cada llegada se convierte en una nueva visita.

Empieza con dos tablas principales: Visitors y Visits.

  • Un Visitor es la persona (nombre, teléfono, email, empresa, foto opcional o nota de identificación).
  • Una Visit es una ocurrencia única (fecha, propósito, a quién visita, a dónde va).

Un Visitor puede tener muchas Visits.

Añade Hosts y Sites para que tus registros coincidan con cómo opera el negocio. Los hosts son empleados o inquilinos que reciben alertas. Los sites representan ubicaciones físicas (HQ, Warehouse A). Si necesitas más detalle luego, puedes añadir zonas (lobby, planta, área segura) sin romper lo básico.

Las tablas que realmente necesitas

Manténlo pequeño:

  • Visitors
  • Visits
  • Hosts
  • Sites
  • Badges
  • Devices (kiosco/tablet/impresora)

Las credenciales deben asignarse a una Visit, no permanentemente a un Visitor. Eso evita confusión cuando se reutiliza stock de credenciales, se pierde o se imprime dos veces.

Estados y timestamps que dicen la verdad

Las visitas necesitan timestamps y un estado que coincida con lo que el personal dice en voz alta. Guarda al menos created_at, checked_in_at, checked_out_at y canceled_at (o una bandera de cancelado). Combínalo con un estado claro como scheduled, arrived, checked_in, checked_out, no_show, canceled.

Ejemplo: alguien está agendado para las 10:00, llega a las 9:55 (estado: arrived), luego completa las preguntas y obtiene una credencial QR (estado: checked_in). Si se va sin hacer checkout, aún tienes checked_in_at y puedes limpiar después con una regla explícita.

Preguntas de seguridad: cómo modelar plantillas y respuestas

Las preguntas de seguridad solo ayudan si puedes confiar en el historial más tarde. Un error común es almacenar respuestas en el perfil del visitante, lo que sobrescribe lo que dijo la última vez. Trata las preguntas como plantillas y las respuestas como registros por visita, para que cada check-in conserve su propia instantánea.

Una estructura simple funciona bien:

  • Una Question Template define qué preguntas hacer.
  • Una Visit Answer captura lo que se respondió durante una visita específica.

Plantillas de preguntas vs respuestas por visita

Mantén las plantillas estables y guarda el texto exacto mostrado (o la versión de la plantilla) con la respuesta. Si cambias la redacción más tarde, las visitas antiguas deben seguir mostrando lo que la persona realmente vio.

Los conjuntos de preguntas permiten mostrar preguntas diferentes según el contexto, como el sitio, tipo de visitante, ventana temporal (reglas temporales), equipo del anfitrión o idioma.

Tipos de respuesta y banderas de acción

Planea más que sí/no. Los tipos comunes incluyen sí/no, texto corto, firma, foto y subida de documento (por ejemplo, un certificado de seguro). Guarda metadatos de archivo (nombre, tipo, timestamp) y quién lo recogió.

Añade una bandera de “acción requerida” en la plantilla, más una regla como “si la respuesta es SÍ, crear una alerta de seguridad.” Ejemplo: “¿Lleva usted algún objeto restringido?” Si el visitante responde sí, la visita puede pasar a un estado de revisión y requerir aprobación antes de imprimir la credencial.

Alertas a anfitriones: disparadores, canales y seguimiento

Obtén exportaciones limpias para auditorías
Genera informes CSV o XLSX consistentes con permisos de exportación estrictos.
Construir informes

Una alerta a anfitriones debe responder una pregunta rápido: “¿Necesito actuar ahora?” Eso normalmente significa un mensaje corto que incluya quién llegó, dónde está, por qué vino y si algo requiere aprobación.

Qué debe disparar una alerta

Mantén los disparadores predecibles para que los anfitriones confíen en ellos:

  • Un invitado se registra en recepción
  • Un visitante agendado llega con retraso según un umbral (por ejemplo, 10 minutos)
  • Una respuesta de seguridad crea una bandera de seguridad
  • Una llegada VIP (a menudo con prioridad diferente)

Haz que los disparadores sean orientados por datos: relaciónalos con site, tipo de visita y preferencias del anfitrión para no codificar casos especiales.

Canales, dedupe y seguimiento

Usa múltiples canales, pero no dispares todos cada vez. Un buen valor por defecto es un canal primario, más una indicación en pantalla de recepción si falla la entrega.

Mantén reglas sencillas:

  • Dedupe key: (visit_id + trigger_type + host_id) dentro de una ventana corta
  • Prioridad: normal vs urgente (urgente puede intentar un segundo canal)
  • Horas silenciosas: respeta el horario de trabajo por anfitrión o site

Rastrea cada notificación como su propio registro para auditar lo ocurrido. Guarda estado (sent, delivered, failed), detalles de error, contador de intentos y tiempos de reintento. Si un mensaje falla, recurre a una acción simple en recepción como “Llamar al anfitrión.”

Registros de emergencia: capturar la presencia onsite en la que puedas confiar

Lanza un quiosco y un panel
Lanza un quiosco en tablet y una app web de recepción desde el mismo modelo de datos.
Construir apps

Un registro de emergencia no es lo mismo que un registro normal de visitante. Es una instantánea limitada en el tiempo en la que puedas confiar durante un simulacro, una evacuación o un incidente real, aunque alguien olvide hacer checkout después.

Define tipos de entrada y reglas por adelantado. Un simulacro puede ser planeado e iniciado por el personal. Un incidente puede ser creado por usuarios permitidos y luego confirmado por un responsable de seguridad. Vincula cada evento de emergencia a un site (y opcionalmente a una zona) para poder responder: “¿Quién debería estar aquí ahora?”

Para cada entrada del registro de emergencia, captura los campos mínimos que lo hagan confiable:

  • Tipo de evento, site y zona opcional
  • Hora de inicio, hora de fin y estado (open, closed)
  • Quién estaba onsite al inicio (visitantes, contratistas, empleados)
  • Acuses de recibo (quién confirmó recuentos, cuándo y desde qué dispositivo)
  • Identidad del actor para cada cambio (creado por, cerrado por, editado por)

Mantén estos registros append-only. Si alguien corrige un nombre o marca a una persona como segura, escribe una nueva acción con timestamp en lugar de sobrescribir valores antiguos.

La victoria más rápida es un botón “Lista actual onsite” que reúne todas las visitas activas para un site y congela la lista en el evento de emergencia. Hazlo fácil de usar bajo presión: vista con letra grande, exportación CSV/PDF y filtros por zona y “no confirmado aún”.

Paso a paso: flujo completo de check-in y check-out

El flujo debe funcionar tanto para walk-ins como para invitados pre-registrados, y debe dejar una traza limpia: quién llegó, quién aprobó, quién sigue onsite y cuándo se fue.

Flujo de check-in (desde la invitación hasta la credencial)

Si puedes, comienza antes de que el visitante llegue. La preinscripción crea una Visit ligada a una persona, site, anfitrión y ventana horaria. Luego envía un código QR ligado a esa visita específica para que la recepción no tenga que adivinar.

En el quiosco, el visitante escanea el QR o la recepcionista busca por nombre, empresa o teléfono. Muestra una confirmación rápida de identidad (por ejemplo, nombre completo y empresa) antes de continuar, para que el “John S.” equivocado no sea registrado.

Luego, recoge preguntas de seguridad y acuses. Guarda cada respuesta como su propio registro con timestamp y el texto exacto mostrado.

Después de que las verificaciones requeridas pasen, emite una credencial y notifica al anfitrión. La credencial debe llevar un token QR único mapeado a la Visit activa, no a la persona. Envía la alerta al anfitrión y guarda estado de entrega, reintentos y (si está soportado) lectura o acuse.

Flujo de check-out (incluido auto check-out)

El checkout debe ser igual de rápido: escanea el QR de la credencial, confirma la visita y establece check_out_time.

Para check-outs olvidados, usa una regla de fin de día por site que marque las visitas como auto checked-out y registre la razón. Eso mantiene los conteos de emergencia más fiables.

Escenario de ejemplo: visita de contratista con bandera de seguridad

Diseña preguntas de seguridad correctamente
Usa plantillas y respuestas por visita para que nunca sobrescribas el historial.
Modelar preguntas

Un contratista llamado Jordan llega 20 minutos antes para revisar una unidad HVAC. En recepción, Jordan usa un quiosco y escanea un QR (o se le emite uno si es su primera visita). El sistema crea una nueva Visit vinculada al site, al anfitrión esperado y al ID de la credencial.

Durante el check-in, Jordan responde un breve conjunto de preguntas de seguridad. Una pregunta: “¿Ha realizado trabajos en caliente en las últimas 24 horas?” Jordan selecciona “Sí.” Esa respuesta se marca, así que el estado de la visita pasa a “Pending approval” en lugar de “Checked in.” El timestamp y la pregunta y respuesta exactas se almacenan en la visita.

La recepcionista ve tres opciones claras:

  • Permitir entrada (sobrescribir con una razón)
  • Denegar entrada (registrar la razón)
  • Solicitar aprobación del anfitrión (recomendado para respuestas marcadas)

Si se solicita aprobación, el anfitrión es notificado inmediatamente con quién está esperando, por qué tiene la marca, dónde está y botones de decisión (aprobar o denegar). El anfitrión también puede ver un breve resumen del historial de visitas, como la fecha de la última visita y si hubo marcas previas.

Una vez aprobado, la visita cambia a “Checked in” y la credencial se activa. Cuando Jordan se va, la recepcionista (o Jordan en el quiosco) hace el checkout. La app registra la hora de salida, el estado de devolución de la credencial y una nota breve como “Cambio de filtro HVAC completado. Sin incidencias.” Si la credencial no se devuelve, eso también queda registrado.

Errores comunes que causan malos registros y alertas perdidas

Los datos malos suelen empezar con un atajo en el flujo. El sistema solo es tan útil como la traza de auditoría que puede producir cuando alguien pregunta: “¿Quién estuvo aquí, cuándo y quién lo aprobó?”

Un error frecuente es mezclar identidad del visitante con el historial de visitas. La persona debe permanecer estable en el tiempo, mientras que cada llegada es su propio registro. Si sobrescribes un campo de “visita actual” en el perfil del visitante, pierdes la capacidad de auditar visitas repetidas, anfitriones, respuestas de seguridad y reimpresiones de credenciales.

Los códigos QR son otra trampa. Si un código QR de credencial nunca expira, se convierte en un pase reutilizable y puede copiarse desde una foto. Trata el QR como un token de corta vida vinculado a una emisión de credencial y a una visita específica, e inviálidalo en el checkout.

Las ediciones sin trazabilidad destruyen la confianza silenciosamente. Si el personal puede cambiar respuestas de seguridad pasadas, necesitas almacenar quién cambió qué y cuándo, más el valor anterior.

Una caída del quiosco no debería convertirse en “déjalos entrar” sin registro. Planifica un fallback, como un flujo por teléfono del personal, un respaldo en papel que se introduzca después o un modo offline que sincronice cuando el dispositivo vuelva.

Las alertas perdidas suelen venir por complejidad del mundo real:

  • Múltiples sites compartiendo una base de datos sin un campo Site claro en visitas y credenciales
  • Múltiples anfitriones por visita (anfitrión principal, anfitrión de respaldo, buzón de equipo)
  • Cambios de anfitrión durante la visita sin registrar la reasignación

Comprobaciones rápidas antes del despliegue

Prepárate para roll calls de emergencia
Congela una instantánea onsite por sitio y registra acuses de recibo bajo presión.
Crear simulacro

Esto solo funciona si los datos se mantienen consistentes en días ocupados. Antes de ponerlo en la tablet de recepción, realiza una prueba de “día caótico”: múltiples llegadas a la vez, una credencial perdida y un anfitrión que no responde.

Empieza por el registro de visita. Cada visita debería tener un estado claro (pre-registrado, checked-in, checked-out, denied, canceled) y timestamps que coincidan con la vida real. Si alguien empieza el check-in y se va, decide qué ocurre después de 5–10 minutos: expirar el intento automáticamente o mantenerlo como “iniciado” pero no onsite.

Valida el ciclo de vida de la credencial de extremo a extremo. Una credencial QR debe ser fácil de auditar: cuándo se emitió, cuándo se activó y cuándo se devolvió o expiró. Si se reimprime una credencial, invalida la anterior inmediatamente para no acabar con dos credenciales “activas” para una sola visita.

Una lista de comprobación corta es suficiente:

  • Las exportaciones coinciden con lo que el personal ve en pantalla (conteos, rangos de fecha, filtros de site y anfitrión).
  • Reenviar una alerta no crea duplicados.
  • El contenido de la alerta es útil (nombre del visitante, site, anfitrión, banderas de seguridad).
  • Las fallas de entrega son visibles (sent, delivered, failed) y los reintentos son seguros.
  • Un simulacro de emergencia puede producir una lista onsite en menos de dos minutos.

Historial de visitantes exportable: informes, retención y traza de auditoría

Notifica a anfitriones vía mensajería
Envía notificaciones a anfitriones por email, SMS o Telegram usando módulos integrados.
Agregar mensajería

Las exportaciones son donde un sistema de check-in se vuelve útil para trabajo real: cumplimiento, revisiones de incidentes y preguntas sencillas como “¿Quién estuvo aquí el martes pasado a las 15:00?” Decide pronto qué se considera “verdad”, porque la exportación será tratada como el registro.

Soporta al menos CSV y XLSX. CSV es mejor para auditorías e importaciones. XLSX es más fácil para muchos equipos no técnicos.

Define un conjunto estable de campos y mantén su significado consistente con el tiempo. Un mínimo práctico incluye:

  • Visit ID (único y nunca reutilizado)
  • Identidad del visitante (nombre más una clave estable de visitante)
  • Site y anfitrión
  • Timestamps de check-in y check-out (con zona horaria)
  • Identificador de credencial (valor QR o número de credencial)

Mantén la regla de “quién puede exportar” estricta. Típicamente, el personal de recepción puede ver la lista del día, seguridad puede exportar un rango de fechas y los administradores pueden exportarlo todo. Trata la exportación como un permiso propio, no solo como “puede ver visitas”.

Reglas de retención que sobreviven la vida real

Escribe la retención en lenguaje llano para que se aplique de forma consistente. Reglas comunes incluyen mantener registros completos de visitas entre 12 y 24 meses, anonimizar datos personales después del periodo de retención (manteniendo totales y timestamps), conservar registros de emergencia por más tiempo si la política lo requiere y nunca borrar trazas de auditoría aunque se anonimice un visitante.

Traza de auditoría y solicitudes de eliminación

Añade campos de auditoría a cada registro de visita (created_by/at, edited_by/at) y a acciones de exportación (exported_by/at, scope de exportación, formato de archivo, número de filas).

Para solicitudes de eliminación, evita borrados permanentes que rompan informes. Un enfoque más seguro es la “eliminación de privacidad”: borrar o hashear campos personales (nombre, email, teléfono), mientras se mantiene el Visit ID, timestamps, site, anfitrión y códigos de motivo para que los informes sigan siendo coherentes.

Próximos pasos: convertir el plan en una app funcional

Convierte el modelo en tres pantallas enfocadas: un check-in de quiosco (rápido, botones grandes), un panel de recepcionista (llegadas del día, overrides, reimpresiones) y una vista para anfitriones (quién viene, quién está onsite, quién necesita atención). Cuando cada pantalla tiene un solo trabajo, la gente es menos propensa a eludir el proceso.

Luego vincula la automatización a eventos, no a clics. Cada cambio de estado debe ser algo en lo que puedas confiar: creado, checked in, credencial emitida, anfitrión notificado, checked out y marcado como salido durante una barrida de emergencia. Así las alertas seguirán disparándose incluso cuando diferentes miembros del personal usen dispositivos distintos.

Una primera versión que suele bastar para salir a producción incluye un site, un quiosco, un panel de recepcionista, creación y reimpresiones de credenciales QR, alertas básicas a anfitriones con seguimiento de entrega, preguntas de seguridad con una sola regla de revisión y exportación de historial de visitantes para un rango de fechas elegido.

Si quieres construir sin código, una plataforma como AppMaster (appmaster.io) puede ayudarte a configurar el modelo de base de datos, los flujos de trabajo y múltiples frontends (kiosco, web, móvil) alrededor de una única fuente de verdad. Empieza en pequeño, pilota en un vestíbulo y luego expande cuando los registros y las alertas se mantengan consistentes bajo la presión real del mostrador.

FAQ

¿Cuánto debe tardar el check-in de un visitante en un buen sistema?

Apunta a menos de un minuto para la mayoría de los visitantes. Mantén la vía rápida en tres pasos: identificar la visita (escaneo de QR o búsqueda rápida), responder las preguntas obligatorias y luego imprimir la credencial y notificar al anfitrión. Deja las excepciones (correcciones de errores tipográficos, aprobaciones, reimpresiones) para la pantalla de recepción para que el quiosco siga siendo ágil.

¿Debo almacenar la información del visitante en la visita, o mantener un perfil separado del visitante?

Separa a la persona de la visita. Guarda un registro estable de Visitor (identidad e información de contacto) y crea un nuevo registro Visit por cada llegada para poder auditar timestamps, anfitriones, respuestas y emisión de credenciales sin sobrescribir el historial anterior.

¿Cómo evito que las credenciales QR se reutilicen o copien?

Trata los códigos QR como tokens de corta vida vinculados a una emisión de credencial específica y a una visita concreta. Invalida el token en el checkout y también cuando reimprimas una credencial, para que nunca haya dos credenciales activas para la misma visita.

¿Qué eventos necesito registrar para que las auditorías e investigaciones sean confiables?

Usa eventos append-only para los momentos que necesitarás después: check-in completado, credencial emitida, anfitrión notificado, respuestas de seguridad guardadas y checkout. Cuando alguien corrige un error común como la ortografía de un nombre, registra quién lo cambió, cuándo y cuál era el valor anterior.

¿Quién debe poder ver y exportar el historial de visitantes?

Empieza con roles simples: visitor, host, receptionist, security y admin. Mantén los permisos de exportación estrictos; un buen valor por defecto es que la recepción ejecute el flujo del día, seguridad vea quién está onsite ahora, y solo los administradores puedan exportar el historial completo.

¿Cómo debo modelar las preguntas de seguridad para que el historial no se corrompa?

Almacena las preguntas como plantillas y guarda las respuestas por visita, incluyendo el texto exacto o la versión de la plantilla. Así, si cambias las preguntas más adelante, las visitas antiguas seguirán mostrando lo que el visitante realmente vio y respondió.

¿Cómo evito saturar a los anfitriones con notificaciones y aun así asegurarme de que lleguen?

Registra las notificaciones como sus propios registros con estados como sent, delivered o failed, más detalles de reintentos. Usa una regla de deduplicación como una alerta por anfitrión por disparador por visita dentro de una ventana corta, y ten un fallback claro cuando la entrega falle (por ejemplo, una indicación en recepción para llamar al anfitrión).

¿Cuál es la forma más sencilla de crear una lista onsite de emergencia en la que la gente confíe?

Un registro de emergencia debe congelar una instantánea con límite de tiempo de quién está onsite, incluso si alguien olvida hacer checkout más tarde. Crea un evento de emergencia para un sitio, copia todas las visitas activas en ese momento y luego registra las confirmaciones y cambios como nuevas acciones con marca temporal en lugar de ediciones.

¿Cómo manejo a los visitantes que se olvidan de hacer checkout?

Usa una regla predecible de fin de día por sitio que marque las visitas aún activas como auto-checked-out y registre la razón. Mantén intacta la hora original de check-in y haz visible en los registros la acción de auto-checkout para que no parezca que la persona se fue antes de tiempo.

¿Qué debe incluir la primera versión de una app de registro de visitantes?

Comienza con un sitio, un quiosco y un panel de recepcionista. Incluye impresión y reimpresión de credenciales QR, alertas básicas a anfitriones con seguimiento de entrega, un pequeño conjunto de preguntas de seguridad con una regla de revisión y una exportación CSV/XLSX limpia para un rango de fechas; luego amplía cuando los registros se mantengan consistentes en días ocupados.

Fácil de empezar
Crea algo sorprendente

Experimente con AppMaster con plan gratuito.
Cuando esté listo, puede elegir la suscripción adecuada.

Empieza