Un model descriu la forma d'un tipus de dades — un tipus. Pertany a un schema i està format per propietats.

Propietats

Cada propietat té:

  • Un nom (per exemple, email, birthDate, totalAmount).
  • Un tipus — text, cadena localitzada (un valor per idioma), enter, decimal, booleà, datetime, referència a un altre model, o una col·lecció de qualsevol d'aquests.
  • Una descripció que explica el significat de la propietat a humans i agents d'IA.
  • Un valor per defecte opcional.
  • Opcionalment, una expressió que fa la propietat virtual (calculada en temps de lectura a partir d'altres propietats).

Per a text que llegeixen els usuaris finals i que hauria de canviar segons l'idioma de la interfície — noms, títols, etiquetes — fes servir una cadena localitzada en lloc d'un text normal (vegeu Cadena localitzada).

Restriccions

Més enllà del tipus bàsic, les propietats poden portar restriccions:

  • Visualització — ordre, visibilitat, indicador de només lectura, layout flex, agrupació en seccions.
  • Restriccions de text — longitud mínima i màxima, patrons regex.
  • Restriccions d'enter — valors mínim i màxim.
  • Restriccions de datetime — moments mínim i màxim permesos.
  • Restriccions de referència — a quin model apunta una referència, cardinalitat (1..1, 1..N, N..N).
  • Restriccions de col·lecció — recompte mínim i màxim d'elements.

Aquestes restriccions alimenten els formularis autogenerats i la pàgina d'ajuda per model (vegeu Schemas & Models a l'esquerra).

Versionat

Els models poden estar versionats. Yellow guarda un historial dels canvis perquè les instàncies antigues continuïn sent llegibles fins i tot després que el model evolucioni.