Un modelo describe la forma de un tipo de datos — un tipo. Pertenece a un schema y está formado por propiedades.

Propiedades

Cada propiedad tiene:

  • Un nombre (por ejemplo, email, birthDate, totalAmount).
  • Un tipo — texto, cadena localizada (un valor por idioma), entero, decimal, booleano, datetime, referencia a otro modelo, o una colección de cualquiera de ellos.
  • Una descripción que explica el significado de la propiedad a humanos y agentes de IA.
  • Un valor por defecto opcional.
  • Opcionalmente, una expresión que hace la propiedad virtual (calculada en tiempo de lectura a partir de otras propiedades).

Para texto que leen los usuarios finales y que debería cambiar según el idioma de la interfaz — nombres, títulos, etiquetas — usa una cadena localizada en lugar de un texto normal (consulta Cadena localizada).

Restricciones

Más allá del tipo básico, las propiedades pueden llevar restricciones:

  • Visualización — orden, visibilidad, indicador de solo lectura, layout flex, agrupación en secciones.
  • Restricciones de texto — longitud mínima y máxima, patrones regex.
  • Restricciones de entero — valores mínimo y máximo.
  • Restricciones de datetime — momentos mínimo y máximo permitidos.
  • Restricciones de referencia — a qué modelo apunta una referencia, cardinalidad (1..1, 1..N, N..N).
  • Restricciones de colección — recuento mínimo y máximo de elementos.

Estas restricciones alimentan los formularios autogenerados y la página de ayuda por modelo (consulta Schemas & Models a la izquierda).

Versionado

Los modelos pueden estar versionados. Yellow guarda un historial de los cambios para que las instancias antiguas sigan siendo legibles incluso después de que el modelo evolucione.