Skip to content

Flujos principales

HUMAE opera alrededor de cuatro flujos que combinan a los cuatro roles. Entender estos flujos es la forma más rápida de ver cómo encaja todo el sistema.

Flujo 1 · Candidato se activa

1. El candidato entra a /register
2. Llena el formulario (nombre, correo, teléfono, contraseña, acepta términos)
3. Recibe correo con URL firmada → verifica su email
4. Inicia sesión → entra a /dashboard (candidato sin membresía activa)
5. Va a Membresía → clic en "Contratar membresía"
6. HUMAE crea una Stripe Checkout Session y redirige a checkout.stripe.com
7. El candidato paga con tarjeta (test o real)
8. Stripe dispara el webhook checkout.session.completed
9. El backend:
   • Valida firma del webhook
   • Marca el Payment como succeeded
   • Crea la Membership (expires_at = +180 días)
   • Envía MembershipActivatedNotification (correo + in-app)
10. El candidato regresa a /membership/success y ve su membresía activa
11. Construye su perfil profesional (datos, experiencias, educación, docs)
12. Completa las pruebas psicométricas requeridas
13. Descarga su CV en PDF

Al final, queda como candidato activo visible en el directorio para los recruiters. Ver detalles en Registro, Membresía y pago y Perfil profesional.

Flujo 2 · Empresa publica una vacante

1. Admin HUMAE crea la Company (datos fiscales, contactos)
2. Admin invita a un company_user (email) → recibe correo de bienvenida
3. company_user entra a /me/empresa/vacantes → "Nueva vacante"
4. Llena el formulario (título, descripción, responsabilidades, salario,
   skills requeridas, idiomas, ubicación, tipo de contratación, prioridad)
5. Guarda la vacante como "borrador"
6. Valida datos, la publica → pasa a estado "activa"
7. HUMAE recibe notificación in-app: "Nueva vacante activa"
8. Reclutador la toma en su pipeline

La vacante es privada: solo la empresa dueña y los recruiters HUMAE la ven.

Ver: Publicar una vacante y Máquinas de estado.

Flujo 3 · Reclutador presenta candidatos

1. Reclutador entra a /recruiter/directorio
2. Filtra candidatos: skill "React", idioma "Inglés B2+",
   ubicación CDMX, salario ≤ 50K, disponibilidad inmediata
3. Abre el perfil detallado de 3 candidatos prometedores
4. Descarga su CV, revisa psicométricos, añade a favoritos
5. En cada candidato, clic "Asignar a vacante" → elige vacante activa
6. Candidato queda en pipeline como "sourced" (etapa 1)
7. Reclutador mueve al candidato a "presented" (etapa 2)
8. Se dispara AssignmentStageChangedNotification al company_user
9. company_user ve al candidato en su panel, revisa, hace comentarios
10. company_user solicita entrevista
11. Reclutador agenda con ScheduleInterviewDialog
    (fecha, hora, modalidad online/presencial, enlace Meet/Zoom)
12. Candidato y company_user reciben InterviewScheduledNotification

Ver: Directorio, Pipeline, Entrevistas.

Flujo 4 · Entrevista → cierre

1. Entrevista en estado "propuesta"
2. Candidato confirma → "confirmada" (envía notificación)
   O reprograma → "reprogramada" → "propuesta" con nueva fecha
   O cancela → "cancelada" (terminal)
3. La entrevista sucede (presencial, videollamada, teléfono)
4. Reclutador marca como "realizada" y captura feedback
5. Si pasa: mueve asignación a "finalist" (etapa 4)
6. company_user confirma el hire → asignación "hired" (etapa 5)
7. Vacancy pasa a "finalista_seleccionado" y luego "cubierta"
8. Todos los candidatos no seleccionados pasan a "rejected" con motivo
9. Se archiva el caso, queda en reportes

Este flujo alimenta los KPIs de tiempo-de-cierre y efectividad del reclutador. Ver: Entrevistas del candidato, Gestión de entrevistas, Reportes.

Vista temporal (quién hace qué y cuándo)

T+0    Candidato       Registro + pago + perfil básico
T+1d   Candidato       Completa psicométricos
T+2d   Empresa         Publica vacante
T+3d   Reclutador      Filtra directorio, encuentra match
T+3d   Reclutador      Asigna candidato → sourced
T+3d   Reclutador      Presenta candidato → presented
T+4d   Empresa         Solicita entrevista
T+4d   Reclutador      Agenda (propuesta)
T+4d   Candidato       Confirma entrevista
T+7d   Todos           Entrevista sucede
T+7d   Reclutador      Marca realizada + feedback
T+8d   Empresa         Confirma hire → finalist → hired
T+8d   Sistema         Vacancy cubierta, notificaciones finales

Tiempo-objetivo del flujo completo: 7–10 días desde publicación de vacante hasta contratación. Se mide con el reporte time-to-fill.

Qué se notifica en cada flujo

EventoCanalDestinatarioCuándo
MembershipActivatedemail + in-appCandidatoTras webhook Stripe exitoso
VacancyPublishedin-appRecruiters HUMAEAl publicar una vacante
AssignmentPresentedin-app + emailcompany_userRecruiter presenta candidato
InterviewScheduledemail + in-appCandidato + company_userRecruiter agenda
InterviewConfirmedemail + in-appRecruiter + company_userCandidato confirma
InterviewCancelledemail + in-appTodas las partesCualquiera cancela
CandidateHiredemail + in-appCandidato + company_userAsignación → hired

Catálogo completo: Notificaciones.

Siguiente

Para ver la foto técnica general: Arquitectura de alto nivel →

Manual de usuario HUMAE · Uso interno