{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
        "educationPricing": {
            "type": "boolean"
        },
        "incidentEscalation": {
            "type": "boolean"
        },
        "minimumContractPeriod": {
            "enum": [
                "Hour",
                "Day",
                "Month",
                "Year",
                "Other"
            ]
        },
        "priceInterval": {
            "enum": [
                "",
                "Second",
                "Minute",
                "Hour",
                "Day",
                "Week",
                "Month",
                "Quarter",
                "6 months",
                "Year"
            ]
        },
        "priceMax": {
            "pattern": "^$|^\\d{1,15}(?:\\.\\d{1,5})?$",
            "type": "string"
        },
        "priceMin": {
            "pattern": "^\\d{1,15}(?:\\.\\d{1,5})?$",
            "type": "string"
        },
        "priceUnit": {
            "enum": [
                "Unit",
                "Person",
                "Licence",
                "User",
                "Device",
                "Instance",
                "Server",
                "Virtual machine",
                "Transaction",
                "Megabyte",
                "Gigabyte",
                "Terabyte"
            ]
        },
        "pricingDocumentURL": {
            "_format": "uri",
            "type": "string"
        },
        "serviceBenefits": {
            "items": {
                "maxLength": 100,
                "pattern": "^(?:\\S+\\s+){0,9}\\S+$",
                "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
        },
        "serviceDefinitionDocumentURL": {
            "_format": "uri",
            "type": "string"
        },
        "serviceFeatures": {
            "items": {
                "maxLength": 100,
                "pattern": "^(?:\\S+\\s+){0,9}\\S+$",
                "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
        },
        "serviceName": {
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
        },
        "serviceSummary": {
            "maxLength": 500,
            "minLength": 1,
            "pattern": "^(?:\\S+\\s+){0,49}\\S+$",
            "type": "string"
        },
        "serviceTypes": {
            "items": {
                "enum": [
                    "Implementation",
                    "Ongoing support",
                    "Planning",
                    "Testing",
                    "Training"
                ]
            },
            "maxItems": 5,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "sfiaRateDocumentURL": {
            "_format": "uri",
            "type": "string"
        },
        "supportAvailability": {
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^(?:\\S+\\s+){0,19}\\S+$",
            "type": "string"
        },
        "supportForThirdParties": {
            "type": "boolean"
        },
        "supportResponseTime": {
            "maxLength": 200,
            "minLength": 1,
            "pattern": "^(?:\\S+\\s+){0,19}\\S+$",
            "type": "string"
        },
        "supportTypes": {
            "items": {
                "enum": [
                    "Service desk",
                    "Email",
                    "Phone",
                    "Live chat",
                    "Onsite"
                ]
            },
            "maxItems": 5,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "terminationCost": {
            "type": "boolean"
        },
        "termsAndConditionsDocumentURL": {
            "_format": "uri",
            "type": "string"
        },
        "vatIncluded": {
            "type": "boolean"
        },
        "vendorCertifications": {
            "items": {
                "maxLength": 100,
                "pattern": "^(?:\\S+\\s+){0,9}\\S+$",
                "type": "string"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
        }
    },
    "required": [
        "educationPricing",
        "incidentEscalation",
        "minimumContractPeriod",
        "priceMin",
        "priceUnit",
        "pricingDocumentURL",
        "serviceBenefits",
        "serviceDefinitionDocumentURL",
        "serviceFeatures",
        "serviceName",
        "serviceSummary",
        "serviceTypes",
        "supportAvailability",
        "supportForThirdParties",
        "supportResponseTime",
        "supportTypes",
        "terminationCost",
        "termsAndConditionsDocumentURL",
        "vatIncluded"
    ],
    "title": "G-Cloud 8 SCS Service Schema",
    "type": "object"
}