{
    "$schema": "http://json-schema.org/draft-04/schema",
    "additionalProperties": false,
    "definitions": {
        "IDType": {
            "pattern": "^\\d{10}$",
            "type": "string"
        },
        "ISO8601-Date": {
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string"
        },
        "ISO8601-Timestamp": {
            "pattern": "\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?(([+-]\\d{2}(:\\d{2})?)|Z)",
            "type": "string"
        },
        "NINOType": {
            "pattern": "^[A-Z]{2}\\d{6}[A-D]$",
            "type": "string"
        }
    },
    "properties": {
        "DoB": {
            "$ref": "#/definitions/ISO8601-Date"
        },
        "firstname": {
            "type": "string"
        },
        "investorID": {
            "$ref": "#/definitions/IDType"
        },
        "investorNINO": {
            "$ref": "#/definitions/NINOType"
        },
        "lastname": {
            "type": "string"
        },
        "title": {
            "type": "string"
        }
    },
    "required": [
        "investorNINO",
        "title",
        "firstname",
        "lastname",
        "DoB"
    ],
    "type": "object"
}