Apariencia
Dashboard de empresa
Panel de control para usuarios con rol company_user. En el MVP se enfoca en consultar el estado de sus vacantes (creadas por HUMAE a su nombre) y actualizar los datos corporativos. No hay acceso al directorio general ni a otras empresas.
URL y acceso
- Home del rol:
/me/empresa/vacantes(redirigida desde "Inicio" si el usuario escompany_user). - Datos de empresa:
/me/empresa. - Nav: dropdown "Empresa" en el header (solo visible para
company_user).
Modelo Company ↔ User
Un User con rol company_user se vincula a una Company a través de CompanyMember:
User ─────┬─────(1)────── CompanyMember ──── Company
│ │
│ └── role_in_company: owner|manager|viewer
│
└─ role (global): company_userRoles internos (CompanyMemberRole, definidos en DB pero solo owner está operativo en el MVP):
- Owner — único rol activo hoy. Puede editar datos de la empresa.
- Manager — pospuesto.
- Viewer — pospuesto.
Páginas disponibles
/me/empresa/vacantes — Lista de vacantes
Vista de solo lectura. Muestra todas las vacantes de la empresa con:
- Título + código (p.ej.
HUM-2026-0031). - Badge de estado (
borrador,activa,con_candidatos_asignados,cubierta,cancelada). - Fechas: creada, publicada, cierra.
Si no hay vacantes: empty state con el mensaje "Habla con tu account manager de HUMAE para crear la primera."
Creación de vacantes
La creación y publicación de vacantes se realiza internamente por el equipo de HUMAE. El endpoint POST /api/v1/me/company/vacancies existe en backend pero la UI para company_user no expone el formulario en esta fase.
/me/empresa — Datos de empresa
Ficha editable por el owner con los campos corporativos.
Campos principales:
| Campo | Origen |
|---|---|
name, legal_name | Manual |
tax_id (RFC) | Manual |
industry_id | Catálogo industries |
company_size_id | Catálogo company_sizes (1-10, 11-50, ...) |
ownership_type_id | Catálogo (privada, pública, ONG, gobierno) |
logo_url | Upload al disco local (storage/app/public/companies/...) |
website_url | Manual |
description | Manual (markdown permitido) |
country_id, state_id, city_id, address | Manual |
contact_email, contact_phone | Manual |
Endpoints:
GET /api/v1/me/company— leer datos.PATCH /api/v1/me/company— actualizar (soloowner).POST /api/v1/me/company/logo— cambiar logo (multipart, validación igual que avatar).
Pospuesto para fases posteriores
Todo el siguiente bloque no está disponible en el MVP actual y la UI correspondiente está oculta o deshabilitada:
- Gestión del equipo de empresa: invitar, listar, editar rol y remover miembros. Backend existe (
/api/v1/me/company/members/*) pero sin UI en frontend. - Creación / publicación / cancelación de vacantes desde el lado empresa: hoy lo hace el reclutador HUMAE. Endpoint de creación existe pero sin UI; transiciones de estado solo desde
/recruiter/vacantes. - Revisión de candidatos presentados y notas con
visibility=company: las notas internas del pipeline tienen soporte de visibilidad en backend pero el company_user no tiene panel para verlas ni añadirlas. - Solicitud y confirmación de entrevistas: el flujo se coordina manualmente con el account manager.
- Reportes internos (tiempo promedio para llenar vacantes, candidatos propuestos vs entrevistados, feedback agregado): roadmap futuro.
Políticas activas
CompanyPolicy:
- Solo miembros de la Company pueden ver sus datos.
ownerpuede editar datos de la empresa.- Recruiter HUMAE y admin pueden ver cualquier empresa.

