{
    "id": "http://schemas.triniti.io/json-schema/triniti/curator/slot/1-0-0.json#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "_schema": {
            "type": "string",
            "pattern": "^pbj:([a-z0-9-]+):([a-z0-9\\.-]+):([a-z0-9-]+)?:([a-z0-9-]+):([0-9]+-[0-9]+-[0-9]+)$",
            "default": "pbj:triniti:curator::slot:1-0-0"
        },
        "name": {
            "type": "string",
            "pattern": "^([\\w\\/-]|[\\w-][\\w\\/-]*[\\w-])$",
            "minLength": 0,
            "maxLength": 255,
            "description": "The name of the location where the widget should render, e.g. \"sidebar\", \"html-head\" or \"jumbotron-top\".",
            "pbj": {
                "type": "string",
                "rule": "single",
                "format": "slug"
            }
        },
        "widget_ref": {
            "type": "string",
            "pattern": "^[\\w\\/\\.:-]+$",
            "description": "A reference to the widget this slot will render.",
            "pbj": {
                "type": "identifier",
                "rule": "single"
            }
        },
        "rendering": {
            "type": "string",
            "default": "lazy",
            "enum": [
                "unknown",
                "server",
                "client",
                "lazy"
            ],
            "pbj": {
                "type": "string-enum",
                "rule": "single"
            }
        }
    },
    "required": [
        "_schema"
    ],
    "additionalProperties": false
}