{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "minProperties": 1,
    "properties": {
        "countersignerName": {
            "minLength": 1,
            "type": "string"
        },
        "countersignerRole": {
            "minLength": 1,
            "type": "string"
        },
        "frameworkAgreementVersion": {
            "minLength": 1,
            "type": "string"
        },
        "frameworkRefDate": {
            "minLength": 1,
            "type": "string"
        },
        "frameworkExtensionLength": {
            "minLength": 1,
            "type": "string"
        },
        "frameworkURL": {
            "minLength": 1,
            "type": "string"
        },
        "signaturePageNumber": {
            "type": "integer",
            "minimum": 1
        },
        "pageTotal": {
            "type": "integer",
            "minimum": 1
        },
        "contractNoticeNumber": {
            "minLength": 1,
            "type": "string"
        },
        "lotOrder": {
            "type": "array",
            "minItems": 1,
            "items": {
                "minLength": 1,
                "type": "string"
            }
        },
        "lotDescriptions": {
            "type": "object",
            "minProperties": 1,
            "additionalProperties": {
                "minLength": 1,
                "type": "string"
            }
        },
        "variations": {
            "additionalProperties": {
                "additionalProperties": false,
                "properties": {
                    "createdAt": {
                        "type": "string"
                    },
                    "countersignedAt": {
                        "type": "string"
                    },
                    "countersignerName": {
                        "type": "string"
                    },
                    "countersignerRole": {
                        "type": "string"
                    }
                },
                "required": [
                    "createdAt"
                ],
                "type": "object"
            },
            "type": "object"
        }
    },
    "required": [
        "frameworkAgreementVersion",
        "variations"
    ],
    "title": "Framework.framework_agreement_details Schema",
    "type": "object"
}