Saltar al contenido principal

Modelo Técnico: MenuItem

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

Campo API: content

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaContenido
DescripciónContenido neto o volumen (ej: 500ml, 250g).
DominioMagnitud
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Estándar
Regla UI: Texto corto.

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: Máximo 50 caracteres.
  • Longitud Max: 50

Ejemplo de Integración:

{
"content": "500ml"
}

Campo API: description

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaDescripción Corta
DescripciónDescripción breve que aparece en el listado general debajo del nombre.
DominioTexto libre
Público🟢

2. Capa de Interfaz (Frontend)

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

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

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

Ejemplo de Integración:

{
"description": "Medallón de 200g, cheddar, bacon y pan artesanal."
}

Campo API: detail

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaDetalle Ampliado
DescripciónInformación detallada que aparece en la pantalla de expansión del ítem.
DominioTexto libre
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Estándar
Regla UI: Área de texto (TextArea).

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: Máximo 350 caracteres.
  • Longitud Max: 350

Ejemplo de Integración:

{
"detail": "Nuestra carne es 100% pastura. El pan se hornea diariamente."
}

Campo API: isNew

Boolean?

1. Definición de Negocio

AtributoDetalle
EtiquetaEs Nuevo
DescripciónMuestra una etiqueta de 'Nuevo' en la lista de precios.
Dominio{true, false}
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Booleano
Regla UI: Switch / 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: N/A
  • Longitud Max: 255

Ejemplo de Integración:

{
"isNew": "true"
}

Campo API: isPop

Boolean?

1. Definición de Negocio

AtributoDetalle
EtiquetaEs Popular
DescripciónMuestra una etiqueta de 'Popular' o 'Más vendido'.
Dominio{true, false}
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Booleano
Regla UI: Switch / 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: N/A
  • Longitud Max: 255

Ejemplo de Integración:

{
"isPop": "true"
}

Campo API: isPromotion

Boolean?

1. Definición de Negocio

AtributoDetalle
EtiquetaEn Promoción
DescripciónHabilita el modo promoción para el ítem.
Dominio{true, false}
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Booleano
Regla UI: Switch / 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: N/A
  • Longitud Max: 255

Ejemplo de Integración:

{
"isPromotion": "true"
}

Campo API: isSuggested

Boolean?

1. Definición de Negocio

AtributoDetalle
EtiquetaSugerido
DescripciónMuestra el ítem como sugerencia del Chef.
Dominio{true, false}
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Booleano
Regla UI: Switch / 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: N/A
  • Longitud Max: 255

Ejemplo de Integración:

{
"isSuggested": "true"
}

Campo API: itemGroup

ItemGroup?

1. Definición de Negocio

AtributoDetalle
EtiquetaGrupo
DescripciónRelación con el Grupo de Ítems (Nivel 2).
DominioTabla ItemGroups
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ID Foráneo
Regla UI: Solo lectura en edició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: Requerido.
  • Longitud Max: 255

Ejemplo de Integración:

{
"itemGroup": "1, 5"
}

Campo API: itemStyle

ItemStyle?

1. Definición de Negocio

AtributoDetalle
EtiquetaEstilo/Categoría
DescripciónRelación con el Estilo o Categoría (Nivel 3).
DominioTabla ItemStyles
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: ID Foráneo
Regla UI: Selector de categorías dentro del grupo.

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: Requerido.
  • Longitud Max: 255

Ejemplo de Integración:

{
"itemStyle": "10, 20"
}

Campo API: name

String? REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaNombre del Ítem
DescripciónNombre comercial del producto tal como aparecerá en la carta.
DominioAlfanumérico
Público🟢

2. Capa de Interfaz (Frontend)

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

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🟢
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: N/A
  • Fuente / Dueño: Ingreso manual / Sistema
  • Validaciones Raw: Único en la base de datos.
  • Longitud Max: 100

Ejemplo de Integración:

{
"name": "Hamburguesa Doble Queso, Ensalada Caesar"
}

Campo API: people

Int REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaApto para (Personas)
DescripciónCantidad sugerida de personas que pueden compartir el ítem.
Dominio[0-99]
Público🟢

2. Capa de Interfaz (Frontend)

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

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

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

Ejemplo de Integración:

{
"people": "1, 2"
}

Campo API: price

BigDecimal REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrecio Base
DescripciónPrecio base referencial del ítem. Nota: El precio final suele residir en la porción.
DominioMonetario
Público🟢

2. Capa de Interfaz (Frontend)

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

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

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

Ejemplo de Integración:

{
"price": "1200.50"
}

Campo API: promotionEnd

LocalDateTime?

1. Definición de Negocio

AtributoDetalle
EtiquetaFin Promoción
DescripciónFecha y hora de fin de la promoción.
DominioFecha
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ISO 8601
Regla UI: Selector de fecha y hora (DateTimePicker).

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 mayor a la fecha de inicio.
  • Longitud Max: 255

Ejemplo de Integración:

{
"promotionEnd": "2024-01-31T23:59:59"
}

Campo API: promotionPrice

BigDecimal REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrecio Promocional
DescripciónPrecio de oferta aplicado durante la vigencia de la promoción.
DominioMonetario
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🟢
Forms: 🟢
Formato: Decimal (10,2)
Regla UI: Input numérico con formato 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: Debe ser menor al precio base.
  • Longitud Max: 255

Ejemplo de Integración:

{
"promotionPrice": "999.99"
}

Campo API: promotionStart

LocalDateTime?

1. Definición de Negocio

AtributoDetalle
EtiquetaInicio Promoción
DescripciónFecha y hora de inicio de la promoción.
DominioFecha
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ISO 8601
Regla UI: Selector de fecha y hora (DateTimePicker).

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 a la fecha de fin.
  • Longitud Max: 255

Ejemplo de Integración:

{
"promotionStart": "2024-01-01T00:00:00"
}

Campo API: section

Section?

1. Definición de Negocio

AtributoDetalle
EtiquetaSección
DescripciónRelación con la Sección raíz (Nivel 1).
DominioTabla Sections
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: ID Foráneo
Regla UI: Solo lectura en edició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: Requerido.
  • Longitud Max: 255

Ejemplo de Integración:

{
"section": "1, 2"
}

Campo API: sortOrder

Int REQUIRED

1. Definición de Negocio

AtributoDetalle
EtiquetaPrioridad
DescripciónPosición relativa del ítem dentro de su categoría.
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: Manual / Sistema
  • Validaciones Raw: Requerido.
  • Longitud Max: 255

Ejemplo de Integración:

{
"sortOrder": "1, 10, 100"
}

Campo API: status

Status?

1. Definición de Negocio

AtributoDetalle
EtiquetaEstado
DescripciónEstado de visibilidad del ítem. Si está inactivo, no se muestra en la carta.
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 / Sistema
  • Validaciones Raw: Requerido.
  • Longitud Max: 255

Ejemplo de Integración:

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

Campo API: tags

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaEtiquetas / Tags
DescripciónPalabras clave para motores de búsqueda interna (separadas por coma).
DominioTags
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Estándar
Regla UI: Input con soporte de chips o etiquetas.

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: Máximo 50 caracteres.
  • Longitud Max: 50

Ejemplo de Integración:

{
"tags": "carne, glutenfree, bacon"
}

Campo API: unit

String?

1. Definición de Negocio

AtributoDetalle
EtiquetaUnidad de Medida
DescripciónUnidad de medida principal (ej: Un, Kg, Lts).
DominioUnidades
Público🟢

2. Capa de Interfaz (Frontend)

RequerimientoReglas Visuales
Grilla: 🔴
Forms: 🟢
Formato: Estándar
Regla UI: Texto corto o selector.

3. Seguridad y Auditoría

ParámetroValor
SensibilidadLOW
Encriptado🔴
Indexado🔴
Auditado🟢

4. Especificaciones Técnicas

  • Valor Default: Unidad
  • Fuente / Dueño: Manual / Sistema
  • Validaciones Raw: Máximo 20 caracteres.
  • Longitud Max: 20

Ejemplo de Integración:

{
"unit": "Unidad, 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"
}