{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "A parsed date object. This allows us to represent not just normal dates, but also partial dates too",
    "type": "object",
    "properties": {
        "year": {
            "type": "number",
            "description": "year part as YYYY"
        },
        "month": {
            "type": "number",
            "description": "month part of date in numbers e.g. 11 for November, 4 for April"
        },
        "day": {
            "type": [
                "number",
                "null"
            ],
            "description": "day part of date in numbers"
        }
    },
    "additionalProperties": false,
    "anyOf": [
        {
            "required": [
                "year",
                "month"
            ]
        },
        {
            "required": [
                "month",
                "day"
            ]
        }
    ]
}