{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "id": "http://sport-archive.com/input-schema/activities#",
    "properties": {
        "activityTaskList": {
            "description": "Tasklist (queue) where task are stacked and polled from",
            "maxLength": 64,
            "minLength": 3,
            "pattern": "^[\\w\\.\\- ]+$",
            "type": "string"
        },
        "class": {
            "description": "Class name implementing this activity",
            "maxLength": 256,
            "minLength": 8,
            "pattern": "^[\\w\\-]+$",
            "type": "string"
        },
        "description": {
            "description": "Activity description",
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
        },
        "file": {
            "description": "File implementing this activity",
            "maxLength": 1024,
            "minLength": 16,
            "pattern": "^[\\w\\-\\./]+\\.php+$",
            "type": "string"
        },
        "heartbeatTimeout": {
            "description": "Max time between heartbeat",
            "maximum": 99999999,
            "minimum": 1,
            "type": "integer"
        },
        "name": {
            "description": "Activity name",
            "maxLength": 64,
            "minLength": 3,
            "type": "string"
        },
        "scheduleToCloseTimeout": {
            "description": "Max time from schedule to close for a task",
            "maximum": 31536000,
            "minimum": 1,
            "type": "integer"
        },
        "scheduleToStartTimeout": {
            "description": "Max time from schedule to start for a task",
            "maximum": 31536000,
            "minimum": 1,
            "type": "integer"
        },
        "startToCloseTimeout": {
            "description": "Max time from start to close for a task",
            "maximum": 31536000,
            "minimum": 1,
            "type": "integer"
        },
        "version": {
            "description": "Activity version",
            "maxLength": 32,
            "minLength": 1,
            "pattern": "^[\\w\\.\\- ]+$",
            "type": "string"
        }
    },
    "required": [
        "name",
        "version",
        "description",
        "file",
        "class",
        "activityTaskList",
        "scheduleToStartTimeout",
        "scheduleToCloseTimeout",
        "startToCloseTimeout",
        "heartbeatTimeout"
    ],
    "title": "Schemas for activities items in activities array of main config file",
    "type": "object"
}