Skip to main content

Modelo Técnico: PlanFeature

Ubicación SSoT: com.neosystima.app.modules.main.data.model.PlanFeature

Campo API: featureCode

String REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaCódigo de Característica
DescripciónIdentificador técnico de la funcionalidad o límite (ej: MAX_USERS, CUSTOM_DOMAIN). Usado por el backend para aplicar restricciones lógicas.
DominioCatálogo de Límites Técnicos
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: UPPERCASE
Regla UI: Texto sin espacios en mayúsculas.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Producto / Ingeniería / Plataforma
  • Validaciones Raw: Único por Plan.
  • Longitud Max: 50

Ejemplo de Integración:

{
"featureCode": "MAX_ITEMS, SUPPORT_24_7"
}

Campo API: featureValue

String REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaValor de Configuración
DescripciónValor límite o configuración asociada al código (ej: '50' para límite de usuarios, 'true' para acceso a API).
DominioLibre / Depende de valueType
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: String (Dinámico)
Regla UI: Input de texto. Su validación dinámica en el frontend depende del valueType.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Producto / Plataforma
  • Validaciones Raw: Debe ser convertible lógicamente al tipo definido en valueType.
  • Longitud Max: 100

Ejemplo de Integración:

{
"featureValue": "10, UNLIMITED, true"
}

Campo API: isIncluded

Boolean REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaEstá Incluido
DescripciónDefine si la característica se muestra como incluida (tilde verde) o no incluida/bloqueada (cruz roja) en la tabla de precios.
Dominio{true, false}
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Booleano
Regla UI: Interruptor (Switch) o Checkbox.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: true
  • Fuente / Dueño: Marketing / Producto / Plataforma
  • Validaciones Raw: Solo admite true o false.
  • Longitud Max: 255

Ejemplo de Integración:

{
"isIncluded": "true / false"
}

Campo API: plan

Plan?

1. Definición de Negocio

AtributoDetalle
EtiquetaPlan Asociado
DescripciónPlan comercial al que pertenece esta característica o límite.
DominioTabla Plan
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ID Foráneo
Regla UI: Campo de solo lectura en edición de característica.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Sistema / Plataforma
  • Validaciones Raw: El registro foráneo debe existir.
  • Longitud Max: 255

Ejemplo de Integración:

{
"plan": "1, 2"
}

Campo API: sortOrder

Int REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaOrden de Visualización
DescripciónDefine la posición de esta característica al listar los beneficios del plan (ej: los límites arriba, el soporte abajo).
Dominio[0-999]
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Entero
Regla UI: Spinner numérico.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: 0
  • Fuente / Dueño: Producto / Plataforma
  • Validaciones Raw: Número entero positivo.
  • Longitud Max: 255

Ejemplo de Integración:

{
"sortOrder": "1, 2, 3"
}

Campo API: status

Status?

1. Definición de Negocio

AtributoDetalle
EtiquetaEstado
DescripciónDetermina si esta característica está activa en el plan o si ha sido deshabilitada temporalmente.
DominioTabla Status
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector de estados del sistema.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Sistema / Plataforma
  • Validaciones Raw: Obligatorio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"status": "1 (Activo), 2 (Inactivo)"
}

Campo API: translationKey

String REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaClave de Traducción (i18n)
DescripciónReferencia al diccionario de traducciones del Frontend para renderizar el nombre o explicación de la característica al usuario comercial.
DominioClaves i18n
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Texto (Notación por puntos)
Regla UI: Texto estándar.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Desarrollo / Plataforma
  • Validaciones Raw: Debe existir en el archivo de internacionalización del frontend.
  • Longitud Max: 100

Ejemplo de Integración:

{
"translationKey": "plan.feature.max_users, plan.feature.premium_support"
}

Campo API: valueType

PlanFeatureValueType

1. Definición de Negocio

AtributoDetalle
EtiquetaTipo de Valor
DescripciónDetermina el tipo de dato subyacente del featureValue para parseos y validaciones lógicas en backend y frontend.
DominioEnum PlanFeatureValueType
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Enum
Regla UI: Selector de tipos de datos predefinidos.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: STRING
  • Fuente / Dueño: Ingeniería / Plataforma
  • Validaciones Raw: Solo valores del enumerador PlanFeatureValueType.
  • Longitud Max: 20

Ejemplo de Integración:

{
"valueType": "INTEGER, BOOLEAN, STRING"
}

Campo API: createdAt

Instant? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaFecha de Creación
DescripciónFecha y hora exacta en la que se insertó el registro por primera vez.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: No modificable tras su creación (updatable = false).
  • Longitud Max: 255

Ejemplo de Integración:

{
"createdAt": "2025-10-15T14:30:00Z"
}

Campo API: createdBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaCreado Por
DescripciónIdentificador principal del usuario que creó originalmente el registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadMEDIUM
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: No modificable tras la creación.
  • Longitud Max: 50

Ejemplo de Integración:

{
"createdBy": "admin, guest, USR-001"
}

Campo API: id

Long? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaIdentificador del Sistema
DescripciónIdentificador numérico interno y clave primaria (Primary Key) del registro en la base de datos.
DominioNúmeros enteros positivos mayores a 0
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🔴
Formato: Numérico (BigInt)
Regla UI: Campo oculto o deshabilitado. No se expone directamente al usuario final para edición.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: Asignación automática
  • Fuente / Dueño: Autoincrementable y asignado por el motor de BD al insertar (INSERT). / Sistema
  • Validaciones Raw: Único e irrepetible. De solo lectura tras su creación.
  • Longitud Max: 255

Ejemplo de Integración:

{
"id": "1, 2, 1054"
}

Campo API: lastModifiedBy

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaModificado Por
DescripciónIdentificador principal del usuario que realizó la última modificación al registro.
DominioUsuarios válidos en el contexto de seguridad
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Alfanumérico
Regla UI: Campo de texto estándar. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Extraído del contexto de seguridad (SecurityContext) / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 50

Ejemplo de Integración:

{
"lastModifiedBy": "admin, manager"
}

Campo API: updatedAt

Instant?

1. Definición de Negocio

AtributoDetalle
EtiquetaÚltima Actualización
DescripciónFecha y hora de la última modificación del registro.
DominioFechas válidas pasadas o presentes
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Timestamp (ISO 8601)
Regla UI: Selector de fecha/hora. En creación está oculto, en edición se muestra como solo lectura.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🔴

4. Especificaciones Técnicas

  • Valor Default: CURRENT_TIMESTAMP
  • Fuente / Dueño: Generado automáticamente por el framework de auditoría / Sistema
  • Validaciones Raw: Se actualiza automáticamente en cada operación de modificación (UPDATE).
  • Longitud Max: 255

Ejemplo de Integración:

{
"updatedAt": "2025-10-16T09:15:00Z"
}