Saltar al contenido principal

Modelo Técnico: MenuItemPortion

Ubicación SSoT: com.neosystima.app.modules.tenant.data.model.MenuItemPortion

Campo API: description

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaDescripción
DescripciónAclaración adicional sobre qué incluye esta presentación.
DominioLibre
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Estándar
Regla UI: Campo de texto multilínea.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 200

Ejemplo de Integración:

{
"description": "Incluye guarnición de papas fritas."
}

Campo API: isDefault

Boolean

1. Definición de Negocio

AtributoDetalle
EtiquetaPorción Predeterminada
DescripciónIndica si es la porción que debe mostrarse preseleccionada en el front.
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: false
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Solo una porción por ítem puede ser predeterminada (Regla de negocio).
  • Longitud Max: 255

Ejemplo de Integración:

{
"isDefault": "true / false"
}

Campo API: menuItem

MenuItem?

1. Definición de Negocio

AtributoDetalle
EtiquetaÍtem Relacionado
DescripciónReferencia al Ítem de Menú (Nivel 4) al que pertenece esta porción.
DominioTabla menu_items
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 porción.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

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

Ejemplo de Integración:

{
"menuItem": "101, 205"
}

Campo API: name

String? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaNombre de Porción
DescripciónNombre de la variante o tamaño (ej: Pinta, 1/2 Litro, Familiar).
DominioAlfanumérico
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Estándar
Regla UI: Texto de una sola línea.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Único por Ítem de Menú.
  • Longitud Max: 50

Ejemplo de Integración:

{
"name": "Individual, Para compartir, 1Kg"
}

Campo API: people

Int?

1. Definición de Negocio

AtributoDetalle
EtiquetaComensales
DescripciónCantidad estimada de comensales que pueden consumir esta porción.
Dominio[1-99]
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Entero
Regla UI: Input numérico de enteros.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Ninguna adicional.
  • Longitud Max: 255

Ejemplo de Integración:

{
"people": "2"
}

Campo API: price

BigDecimal REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrecio Estándar
DescripciónPrecio base de venta al público para esta porción.
DominioEconómico
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Decimal (10,2)
Regla UI: Input numérico con máscara de moneda.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: 0.00
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Mayor o igual a cero.
  • Longitud Max: 255

Ejemplo de Integración:

{
"price": "1500.00"
}

Campo API: promotionPrice

BigDecimal?

1. Definición de Negocio

AtributoDetalle
EtiquetaPrecio Promocional
DescripciónPrecio especial de oferta. Si tiene valor, el sistema lo prioriza.
DominioEconómico
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Decimal (10,2)
Regla UI: Input numérico con máscara de moneda.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Debe ser menor al precio estándar (Validación a nivel de servicio/DTO).
  • Longitud Max: 255

Ejemplo de Integración:

{
"promotionPrice": "1200.00"
}

Campo API: quantity

BigDecimal REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaCantidad
DescripciónCantidad física según la unidad definida.
DominioMagnitud
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Decimal
Regla UI: Input numérico decimal.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: 0.00
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Obligatorio. Mayor a cero.
  • Longitud Max: 255

Ejemplo de Integración:

{
"quantity": "500.00"
}

Campo API: sortOrder

Int REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrioridad
DescripciónOrden de aparición en la lista de opciones de porción del ítem.
Dominio[0-99]
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: Manual / Sistema
  • 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 de Porción
DescripciónEstado específico de la porción (ej: Desactivar solo el tamaño 'Grande').
DominioTabla Status
Público🟢

2. Capa de Interfaz (Frontend)

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

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Sistema / Sistema
  • Validaciones Raw: Limitado al dominio de estados.
  • Longitud Max: 255

Ejemplo de Integración:

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

Campo API: unit

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaUnidad
DescripciónUnidad de medida de la porción (ej: Gr, Ml, Un).
DominioUnidades
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Texto corto
Regla UI: Selector de unidades predefinidas.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Debe corresponder al sistema de unidades configurado.
  • Longitud Max: 20

Ejemplo de Integración:

{
"unit": "Grs, Lt, Porción"
}

Campo API: code

String? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaCódigo de Referencia
DescripciónIdentificador único de negocio para el registro.A diferencia del ID numérico interno, este código está pensado para ser expuesto y facilitar búsquedas o referencias.
DominioSecuencia controlada o formato prefijado
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Alfanumérico
Regla UI: Se muestra como referencia (usualmente entre paréntesis) junto al título del formulario. No es un campo editable en el flujo estándar.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: Generado por secuencia
  • Fuente / Dueño: Generado automáticamente por el motor de secuencias del sistema / Sistema
  • Validaciones Raw: Debe ser estrictamente único en toda la tabla.
  • Longitud Max: 20

Ejemplo de Integración:

{
"code": "000001, CLI-005, STY-20"
}

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: isSystem

Boolean REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaRegistro de Sistema
DescripciónMarca técnica que indica si el registro fue creado por el sistema y posee restricciones (ej: no se puede borrar o editar su código).
Dominio{true, false}
Público🔴

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Booleano
Regla UI: Casilla de verificación (Checkbox) o Interruptor (Toggle). En formularios se muestra deshabilitado (solo lectura).

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: false
  • Fuente / Dueño: Generado por el sistema / Sistema
  • Validaciones Raw: No modificable por el usuario final (bloqueado a nivel de servicio).
  • Longitud Max: 255

Ejemplo de Integración:

{
"isSystem": "true, false"
}

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"
}