{
    "title": "PlansFilter",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "javaType": "com.sos.joc.model.plan.PlansFilter",
    "type": "object",
    "extends": {
        "javaType": "com.sos.joc.model.plan.PlansOpenCloseFilter",
        "type": "object",
        "required": [
            "controllerId"
        ],
        "properties": {
            "controllerId": {
                "type": "string",
                "pattern": "^[^/\\<>?:\"|*]*$",
                "maxLength": 100,
                "minLength": 1
            },
            "onlyOpenPlans": {
                "type": "boolean",
                "default": false
            },
            "onlyClosedPlans": {
                "type": "boolean",
                "default": false
            }
        },
        "additionalProperties": false
    },
    "required": [
        "controllerId"
    ],
    "properties": {
        "planSchemaIds": {
            "type": "array",
            "uniqueItems": true,
            "items": {
                "type": "string",
                "pattern": "^[^<>]*$",
                "maxLength": 255
            }
        },
        "noticeSpaceKeys": {
            "alias": "planKeys",
            "description": "Will be ignored for global schema because it has no plan keys",
            "type": "array",
            "uniqueItems": true,
            "items": {
                "type": "string",
                "pattern": "^[^<>]*$",
                "maxLength": 255
            }
        },
        "noticeBoardPaths": {
            "type": "array",
            "uniqueItems": true,
            "items": {
                "type": "string",
                "pattern": "^[^<>]*$",
                "maxLength": 255
            }
        },
        "compact": {
            "type": "boolean",
            "default": false
        },
        "includeOrders": {
            "type": "boolean",
            "default": false
        },
        "limit": {
            "description": "-1=unlimited",
            "type": "integer",
            "default": 10000
        }
    },
    "additionalProperties": false
}