Skip to main content

Estructura

1. Campos Principales del Recurso Client

CampoTipoObligatorioDescripción
idString✅ SíIdentificador único autogenerado (ej: CL-0000000079).
companyNameString✅ SíNombre oficial de la empresa/cliente.
companyEmailEmail✅ SíCorreo principal de contacto.
companyPhoneString❌ NoTeléfono de contacto.
websiteURL❌ NoURL del sitio web de la empresa.
linkedinUrlURL❌ NoPerfil de LinkedIn corporativo.
addressString❌ NoDirección física (calle, ciudad, país).
countryString✅ SíPaís del cliente (código ISO o nombre completo).
areaString❌ NoÁrea de negocio (ej: Technology, Mining, Retail).
companyTypeString✅ SíTipo de empresa (ej: Holding, Subsidiary, Partner).
statusEnum✅ SíEstado del cliente (ACTIVE, INACTIVE, PROSPECT).
createdAtDateTime✅ SíFecha de creación del registro.
updatedAtDateTime✅ SíFecha de la última modificación.

2. Subcolecciones Internas

Cada Client tiene tres subcolecciones clave que permiten un seguimiento granular:

2.1 Contacts

  • Estructura de un Contacto:

    CampoTipoObligatorioDescripción
    idString✅ SíIdentificador único del contacto.
    nameString✅ SíNombre del contacto.
    lastNameString❌ NoApellido (opcional).
    emailEmail✅ SíCorreo principal.
    secondEmailEmail❌ NoCorreo alternativo.
    phoneString❌ NoTeléfono fijo o extensión.
    mobileString❌ NoTeléfono móvil.
    secondPhoneString❌ NoSegundo teléfono (opcional).
    secondMobileString❌ NoSegundo móvil (opcional).
    positionString✅ SíCargo o título (ej: Manager).
    functionString❌ NoRol o departamento.
    linkedinUrlURL❌ NoPerfil LinkedIn personal.
    commentsText❌ NoNotas internas sobre el contacto.

2.2 Events

  • Estructura de un Evento:

    CampoTipoObligatorioDescripción
    idString✅ SíIdentificador único del evento.
    eventTypeEnum✅ SíTipo de evento (Meeting, Client Won, Proposal Sent…).
    contactIdString✅ SíID del contacto asociado (o null si no aplica).
    descriptionText❌ NoComentarios o detalles adicionales.
    documentsArray❌ NoArchivos adjuntos (PDF, imágenes, etc.).
    createdAtDateTime✅ SíFecha y hora de registro del evento.

2.3 Jobs

  • Estructura de una Oferta (Job Posting):

    CampoTipoObligatorioDescripción
    idString✅ SíIdentificador único de la oferta.
    jobTitleString✅ SíTítulo de la posición.
    positionTypeString✅ SíCategoría de la posición (IT & Digital, Sales…).
    salaryRangeObject✅ Sí{ min: Number, max: Number }
    feePercentageNumber✅ SíPorcentaje de comisión (0–100%).
    commercialSchemeString✅ SíEsquema comercial (Success Fee, Retainer…).
    guaranteeMonthsNumber✅ SíGarantía en meses (p.ej. 1, 3).
    hasCancellationBoolean✅ SíIndica si aplica cláusula de cancelación.
    cancellationRateNumber❌ Cond.Porcentaje de cancelación (0–100%), solo si hasCancellation.
    notesText❌ NoNotas adicionales o condiciones especiales.
    forecastRevenueCurrency✅ SíCálculo de ingresos estimados (salario * feePercentage).
    createdAtDateTime✅ SíFecha de publicación de la oferta.

3. Relaciones con Otros Modelos

flowchart LR
Lead["Lead"] -->|Won Deal| Client["Client"]
Client --> Contacts["Contact"]
Client --> Events["Event"]
Client --> Jobs["Job Posting"]
Jobs --> Candidates["Candidate"]:::future
style Candidates stroke-dasharray: 5 5,fill:none