{
    "$schema": "https://themost-framework.github.io/themost/models/2018/2/schema.json",
    "@id": "https://universis.io/schemas/DiningConfiguration",
    "name": "DiningConfiguration",
    "description": "Dining service configuration",
    "title": "DiningConfiguration",
    "abstract": false,
    "sealed": false,
    "implements": "Thing",
    "version": "1.5",
    "fields": [
        {
            "@id": "https://universis.io/properties/id",
            "name": "id",
            "title": "ID",
            "description": "The identifier of the item.",
            "type": "Text",
            "value": "javascript:return this.newid();",
            "readonly": true,
            "primary": true,
            "nullable": false
          },
        {
            "name": "institute",
            "title": "Institute",
            "type": "Institute",
            "nullable": false,
            "editable": false,
            "value": "javascript:return this.model.context.model('Institute').where('local').equal(true).select('id').silent().value()"
        },
        {
            "@id": "https://universis.io/properties/academicYear",
            "name": "currentYear",
            "title": "Current year",
            "type": "AcademicYear",
            "expandable": true,
            "nullable": false
        },
        {
            "@id": "https://universis.io/properties/academicPeriod",
            "name": "currentPeriod",
            "title": "Current period",
            "type": "AcademicPeriod",
            "expandable": true,
            "nullable": false
        }
    ],
    "eventListeners": [
    ],
    "privileges": [
        {
            "mask": 15,
            "type": "global"
        },
        {
            "mask": 31,
            "type": "global",
            "account": "Administrators"
        },
        {
            "mask": 31,
            "type": "global",
            "account": "DiningAdministrators"
        },
        {
            "mask": 1,
            "type": "global",
            "account": "*"
        },
        {
            "mask": 16,
            "type": "global"
        }
    ],
    "constraints": [
        {
            "type": "unique",
            "description": "Institute must be unique across different records",
            "fields": [
                "institute"
            ]
        }
    ]
}