{
    "fields": {
        "name": {
            "type": "varchar",
            "required": true,
            "pattern": "$noBadCharacters"
        },
        "description": {
            "type": "text"
        },
        "createdAt": {
            "type": "datetime",
            "readOnly": true
        },
        "modifiedAt": {
            "type": "datetime",
            "readOnly": true
        },
        "createdBy": {
            "type": "link",
            "readOnly": true,
            "view": "views/fields/user"
        },
        "modifiedBy": {
            "type": "link",
            "readOnly": true,
            "view": "views/fields/user"
        },
        "assignedUser": {
            "type": "link",
            "required": false,
            "view": "views/fields/assigned-user"
        },
        "teams": {
            "type": "linkMultiple",
            "view": "views/fields/teams"
        },
        "lieferantenkategorie": {
            "type": "enum",
            "options": [
                "Reinigung",
                "Wäscheservice",
                "Hausmeister",
                "Schlüsseldienst"
            ],
            "style": {
                "Reinigung": null,
                "Wäscheservice": null,
                "Hausmeister": null,
                "Schlüsseldienst": null
            },
            "default": "Reinigung",
            "tooltip": true,
            "maxLength": 100,
            "isCustom": true
        },
        "kostenstellen": {
            "type": "varchar",
            "maxLength": 100,
            "options": [],
            "tooltip": true,
            "isCustom": true
        },
        "zahlungszielTage": {
            "type": "int",
            "tooltip": true,
            "isCustom": true
        },
        "reaktionszeitVereinbart": {
            "type": "varchar",
            "maxLength": 255,
            "options": [],
            "tooltip": true,
            "isCustom": true
        },
        "notfallNummer": {
            "type": "varchar",
            "maxLength": 255,
            "options": [],
            "tooltip": true
        },
        "einsatzfenster": {
            "type": "varchar",
            "maxLength": 255,
            "options": [],
            "tooltip": true,
            "isCustom": true
        },
        "vertragsdokument": {
            "type": "file",
            "sourceList": [],
            "accept": [],
            "tooltip": true,
            "isCustom": true
        }
    },
    "links": {
        "createdBy": {
            "type": "belongsTo",
            "entity": "User"
        },
        "modifiedBy": {
            "type": "belongsTo",
            "entity": "User"
        },
        "assignedUser": {
            "type": "belongsTo",
            "entity": "User"
        },
        "teams": {
            "type": "hasMany",
            "entity": "Team",
            "relationName": "entityTeam",
            "layoutRelationshipsDisabled": true
        },
        "vertragsdokument": {
            "type": "belongsTo",
            "entity": "Attachment",
            "skipOrmDefs": true,
            "utility": true
        }
    },
    "collection": {
        "orderBy": "createdAt",
        "order": "desc"
    },
    "indexes": {
        "name": {
            "columns": [
                "name",
                "deleted"
            ]
        },
        "assignedUser": {
            "columns": [
                "assignedUserId",
                "deleted"
            ]
        },
        "createdAt": {
            "columns": [
                "createdAt"
            ]
        },
        "createdAtId": {
            "unique": true,
            "columns": [
                "createdAt",
                "id"
            ]
        }
    }
}
