{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "requirement": {
            "anyOf": [
                {
                    "required": [
                        "minimum"
                    ]
                },
                {
                    "required": [
                        "maximum"
                    ]
                }
            ],
            "properties": {
                "minimum": {
                    "type": "integer",
                    "minimum": 0
                },
                "maximum": {
                    "type": "integer",
                    "minimum": 0
                }
            }
        },
        "project-template": {
            "description": "A project's session template",
            "type": "object",
            "properties": {
                "session": {
                    "type": "object"
                },
                "acquisitions": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                        "$ref": "#/definitions/requirement"
                    }
                }
            },
            "additionalProperties": false
        }
    },
    "properties": {
        "requirement": {
            "$ref": "#/definitions/requirement"
        },
        "project-template": {
            "$ref": "#/definitions/project-template"
        }
    },
    "required": [
        "requirement",
        "project-template"
    ]
}