Control de Visitas

Registro de visitas con motivo, GPS, fotos y estados (mobile-first)

CL-013 Clientes → Control de Visitas consulta AY-100
Menú Ayuda

Enviarle este manual a un usuario

El enlace abre solo este manual, sin el menú del sistema. El usuario no necesita clave ni entrar a FactuPOS: se ve en cualquier navegador y en el celular.

El WhatsApp sale del número de Soporte Real y el correo de info@soportereal.com. Con Compartir desde este teléfono sale de su propio WhatsApp y elige el contacto de su lista, sin escribir el número.

Control de Visitas CL-013Permisos 671/672/673

Registro de visitas a clientes con motivo, detalle de los trabajos realizados, fotos de respaldo, ubicación GPS y estado de la atención. Diseñado mobile-first para que los técnicos y agentes de campo lo usen desde el celular durante la visita y luego se consulte desde escritorio.

Para qué sirve

  • Llevar bitácora de visitas de soporte técnico, mantenimiento, capacitación o entregas
  • Registrar trabajos realizados con evidencia fotográfica
  • Geolocalizar la visita (GPS desde el móvil) para validar asistencia y mantener historial de ubicaciones
  • Dar seguimiento a casos abiertos (Pendiente / En proceso / Resuelto / Cancelado)
  • Auditar visitas por cliente, por fecha, por motivo o por usuario

Lista de visitas

Listado paginado con filtros combinables:

  • Código de cliente exacto
  • Nombre de cliente contiene (LIKE)
  • Motivo contiene (texto libre, sin catálogo)
  • Estado — Todos / Pendiente / En proceso / Resuelto / Cancelado
  • Rango de fechas Desde / Hasta
  • Usuario que registró la visita

Crear / Editar visita

Bloque Cliente

  • Buscador inline (debounce 300-350 ms) por código, nombre o cédula
  • Al seleccionar, se muestra nombre, código, teléfono y dirección

Bloque Detalles

  • Fecha y hora * — datetime-local; por defecto la fecha actual
  • Motivo * — texto libre, máximo 150 caracteres. Ej: "Soporte impresora caja 2"
  • Estado — radio buttons en móvil, select en desktop
  • Trabajos realizados / observaciones — textarea sin límite

Bloque GPS

Solo funciona en dispositivos con servicio de ubicación activo:

  • Botón "Capturar" dispara navigator.geolocation.getCurrentPosition con alta precisión (15 s timeout)
  • Si el navegador pide permiso, el usuario debe aceptarlo
  • Las coordenadas se guardan con 7 decimales y se muestra link directo a Google Maps
  • Desde escritorio normalmente no devuelve coordenadas: el botón existe pero la captura es de campo

Bloque Fotos

Imágenes de respaldo del trabajo realizado:

  • Móvil: dos botones — Cámara (abre la cámara directo con capture="environment") y Galería (selección múltiple)
  • Desktop: botón Subir imágenes con selección múltiple desde el explorador
  • Formatos aceptados: JPG, PNG, WebP. Tamaño máximo: 12 MB por imagen
  • El servidor valida el MIME real con finfo (no confía en el header del cliente)
  • Click en una foto abre la versión original en pestaña nueva
  • Botón × en la esquina elimina la foto (pide confirmación)
Las fotos requieren guardar primero Al crear una visita nueva, primero se debe Guardar. Después de guardar, el sistema redirige al editor con el id asignado y ahí ya se pueden subir imágenes.

Estados de la visita

CódigoEstadoCuándo usarlo
1PendienteVisita programada, todavía no se ha atendido
2En procesoVisita iniciada, trabajo en curso o esperando insumos
3ResueltoTrabajo terminado, cliente conforme
4CanceladoNo se realizó la visita (cliente la canceló, no se pudo coordinar)

Detección móvil / desktop

  • El sistema detecta el User Agent y redirige automáticamente a la versión correspondiente
  • Para forzar desktop desde un móvil: agregar ?desktop=1 al URL
  • Para forzar móvil desde un escritorio: agregar ?mobile=1 al URL

Visibilidad

Cualquier usuario con el permiso 671 (Visitas Ver) puede consultar todas las visitas de la empresa, sin importar quién las haya creado. El registro guarda el código del usuario que creó cada visita y, si fue editada, quién la modificó por última vez.

Eliminar visita

Con el permiso 673 (Visitas Eliminar) aparece el botón rojo en el editor. Al eliminar:

  • Se borra el registro de la visita
  • Se eliminan en cascada todos los registros de imágenes asociados
  • Se borran los archivos físicos del directorio /uploads/visitas/<empresa>/<visita_id>/
  • La operación pide confirmación y no se puede deshacer

Tablas y archivos

  • Tabla ClientesVisitas — datos de la visita
  • Tabla ClientesVisitasImagenes — relación 1:N con FK ON DELETE CASCADE
  • Almacenamiento físico de fotos: /uploads/visitas/<empresa_db>/<visita_id>/
Buena práctica Para visitas en campo, siempre usar el celular: la captura GPS y la cámara son más rápidas y precisas. La versión desktop sirve para consultar el historial completo, filtrar por cliente o auditar las visitas del equipo.