Dashboard
En vivo
Profesionales totales
147
▲ +8 esta semana
👷
Clientes totales
1,137
▲ +23 esta semana
👥
Jales completados
847
▲ +12% este mes
Jales en progreso
14
● Activos ahora
Jales cancelados
23
▼ -3% vs mes anterior
Créditos PRO usados
342
De 500 disponibles
💳
Actividad reciente
Carlos M. completó un jale de plomería en Veracruz Centro
hace 4 min · $850 MXN
👷
Jorge R. solicitó verificación como electricista
hace 18 min · Pendiente de revisión
🚨
Ana L. reportó un problema con su jale #JL-0291
hace 32 min · Disputa abierta
👤
3 nuevos usuarios se registraron hoy
hace 1 hora · Boca del Río
Laura V. recibió una calificación de 5 estrellas
hace 2 horas · Servicio de limpieza
💰
Pedro H. solicitó retiro de $3,800 MXN
hace 3 horas · Transferencia SPEI
Métricas clave
4.8
⭐ Rating promedio
87%
Tasa completado
18m
Tiempo asignación
15%
Comisión Jale
92%
Pros activos
2.3
Jales por cliente
Gestión de Profesionales
5 solicitudes pendientes de verificación
Mejores calificados
⭐ 4.9+
12 profesionales
Plomería
43
Profesionales activos
Limpieza
38
Profesionales activos
⏳ Pendientes de verificación (RH) 5 en espera
Profesional Categoría Solicitud Tiempo pendiente Docs Acciones
JR
Jorge Ramírez
⚡ Electricista Hoy, 9:41 AM ⏱ 2h 15m ✓ Completos
ML
María López
🧹 Limpieza Hoy, 8:15 AM ⏱ 3h 41m ⚠ Falta INE
PH
Pedro Hernández
🔧 Plomero Ayer, 4:30 PM ⏱ 19h 26m ✓ Completos
✅ Profesionales verificados 147 activos
ProfesionalCategoríaJalesRatingEstadoAcciones
CM
Carlos Méndez
🔧 Plomero 43 ⭐ 4.9 Activo
LV
Laura Vargas
🧹 Limpieza 28 ⭐ 4.7 Activo
Gestión de Usuarios
1,137 clientes registrados
Usuarios por zona
Gráfica: Distribución por zona geográfica
Profesiones más solicitadas
Gráfica: Top profesiones
Distribución de calificaciones
Gráfica: Calificaciones promedio
Disputas por categoría
Gráfica: Disputas por tipo de servicio
Jales en tiempo real
14 jales activos ahora mismo
Actualizando en vivo
Buscando profesional
3
🔍
En camino
5
🚗
En progreso
6
Completados hoy
31
Jales activos
IDClienteProfesionalServicioEstadoDuraciónMontoAcciones
JL-0301
AL
Ana L.
CM
Carlos M.
🔧 Plomería En progreso 1h 23m $850
JL-0302
MF
Miguel F.
LV
Laura V.
🧹 Limpieza En camino 12m $500
Centro de Disputas y Soporte
2 disputas abiertas requieren atención
Disputa #D-041 Urgente
Jale #JL-0291 · hace 32 min
Cliente: Ana Lucía Torres vs Pro: Carlos Méndez
"El plomero dejó el baño en peores condiciones. El problema no se resolvió y hay agua en el piso."
Disputa #D-039 En revisión
Jale #JL-0278 · hace 2 horas
Cliente: Sofía Castro vs Pro: Roberto García
"El profesional llegó 2 horas tarde y el trabajo duró menos de lo acordado."
Chat tripartito — #D-041 En vivo
Ana (Cliente) · 10:32 AM
El baño quedó con agua en el piso y el problema sigue.
Carlos (Profesional) · 10:45 AM
Arreglé la tubería principal. El agua del piso es residual.
Ana (Cliente) · 10:48 AM
Pasaron 30 min y sigue igual. No quedé satisfecha.
🛡️ Jale Admin · 11:01 AM
Revisando el caso. Por favor esperen nuestra resolución.
Gestión de Finanzas
🚧
Sección en desarrollo
Esta sección se configurará próximamente
Monitor de Zonas Calientes
Demanda en tiempo real para decisiones de marketing
Mapa de demanda — Veracruz En vivo
📍 Boca del Río — Alta demanda
Alta demanda
Media
Cubierta
Alertas de demanda
🔥
Boca del Río — 12 solicitudes de limpieza sin profesional
Alta urgencia · Reclutar pros
Veracruz Centro — 7 solicitudes de electricidad
Media urgencia · 2 pros disponibles
Xalapa — Demanda cubierta al 94%
Zona saludable
Gestión de Permisos y Roles
Control de acceso por usuario admin
Usuarios administrativos
UsuarioRoleDashboardProfesionales (RH)UsuariosJalesDisputasFinanzasZonasAuditoría
AT
Alan Tovar
Super Admin ✓ Solo
MG
María González
RH Manager
Bitácora de Auditoría
Registro inmutable de acciones (Solo Dueño)
Registro de actividad
Hoy 11:04
Alan Tovar aprobó al profesional Jorge Ramírez como Electricista
Hoy 10:52
Alan Tovar procesó reembolso de $850 MXN a Ana Torres
Ayer 17:40
Alan Tovar suspendió al profesional Marco Díaz por reportes negativos
let currentAction = null; let currentTarget = null; function confirmAction(action, target) { currentAction = action; currentTarget = target; const modal = document.getElementById('confirmModal'); const title = document.getElementById('confirmTitle'); const text = document.getElementById('confirmText'); const btn = document.getElementById('confirmBtn'); if (action === 'approve') { title.textContent = '¿Aprobar profesional?'; text.textContent = `Estás a punto de aprobar a ${target}. Esta acción activará su cuenta.`; btn.textContent = 'Aprobar'; btn.className = 'btn approve'; } else if (action === 'reject') { title.textContent = '¿Rechazar solicitud?'; text.textContent = `Estás a punto de rechazar a ${target}. Esta acción no se puede deshacer.`; btn.textContent = 'Rechazar'; btn.className = 'btn reject'; } modal.classList.add('active'); } function executeAction() { closeModal('confirmModal'); if (currentAction === 'approve') { showToast('✅', `${currentTarget} aprobado exitosamente`); } else if (currentAction === 'reject') { showToast('❌', `Solicitud de ${currentTarget} rechazada`); } currentAction = null; currentTarget = null; } function openDocs(name) { const modal = document.getElementById('modalDocs'); const title = modal.querySelector('.modal-title'); title.textContent = `Documentación: ${name}`; modal.classList.add('active'); } function openEvidence(id) { const modal = document.getElementById('modalEvidence'); const title = modal.querySelector('.modal-title'); title.textContent = `Evidencia Fotográfica - Disputa ${id}`; modal.classList.add('active'); } function openComparison(client, pro) { document.getElementById('modalComparison').classList.add('active'); } function openUserTable() { document.getElementById('modalUserTable').classList.add('active'); } function openChat(user) { const modal = document.getElementById('chatModal'); document.getElementById('chatTitle').textContent = `Chat con ${user}`; modal.classList.add('active'); }