{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "anyOf": [
        {
            "required": [
                "deliveryTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "performanceAnalysisTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "securityTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "softwareDevelopmentTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "supportAndOperationsTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "testingAndAuditingTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "userExperienceAndDesignTypes"
            ],
            "title": "capability"
        },
        {
            "required": [
                "userResearchTypes"
            ],
            "title": "capability"
        }
    ],
    "properties": {
        "accessibleApplicationsOutcomes": {
            "enum": [
                true
            ]
        },
        "bespokeSystemInformation": {
            "enum": [
                true
            ]
        },
        "dataProtocols": {
            "enum": [
                true
            ]
        },
        "deliveryTypes": {
            "items": {
                "enum": [
                    "Agile coaching",
                    "Agile delivery",
                    "Business analysis",
                    "Digital communication and engagement",
                    "Product management",
                    "Programme management",
                    "Project management",
                    "Service management"
                ]
            },
            "maxItems": 8,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "helpGovernmentImproveServices": {
            "enum": [
                true
            ]
        },
        "locations": {
            "items": {
                "enum": [
                    "Offsite",
                    "Scotland",
                    "North East England",
                    "North West England",
                    "Yorkshire and the Humber",
                    "East Midlands",
                    "West Midlands",
                    "East of England",
                    "Wales",
                    "London",
                    "South East England",
                    "South West England",
                    "Northern Ireland"
                ]
            },
            "maxItems": 13,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "openStandardsPrinciples": {
            "enum": [
                true
            ]
        },
        "performanceAnalysisTypes": {
            "items": {
                "enum": [
                    "A/B and multivariate testing",
                    "Data analysis",
                    "Data cleansing",
                    "Data visualisation",
                    "Performance frameworks",
                    "Performance reporting",
                    "Statistical modelling",
                    "Web analytics"
                ]
            },
            "maxItems": 8,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "securityTypes": {
            "items": {
                "enum": [
                    "CESG information assurance certification",
                    "Firewall audit",
                    "Incident response and forensics",
                    "Infrastructure review",
                    "IT health check",
                    "Risk management",
                    "Security policy",
                    "Threat modelling",
                    "Vulnerability and penetration testing"
                ]
            },
            "maxItems": 9,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "softwareDevelopmentTypes": {
            "items": {
                "enum": [
                    "API development",
                    "Cloud-based service development",
                    "Content management system",
                    "Customer relationship management",
                    "Database development",
                    "Desktop application development",
                    "Front-end web application development",
                    "Game development",
                    "Geographic information systems (GIS) development",
                    "Machine learning",
                    "Mainframe",
                    "Message queues",
                    "Mobile application development",
                    "Search",
                    "Systems integration",
                    "Web application development"
                ]
            },
            "maxItems": 16,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "supportAndOperationsTypes": {
            "items": {
                "enum": [
                    "Customer support",
                    "Firewall management",
                    "Hosting",
                    "Incident management",
                    "Monitoring",
                    "Network administration",
                    "Service desk",
                    "Systems administration",
                    "Tooling"
                ]
            },
            "maxItems": 9,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "testingAndAuditingTypes": {
            "items": {
                "enum": [
                    "Accessibility testing",
                    "Application testing",
                    "Data auditing",
                    "Load and performance testing",
                    "Process auditing",
                    "Software auditing",
                    "System auditing"
                ]
            },
            "maxItems": 7,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "userExperienceAndDesignTypes": {
            "items": {
                "enum": [
                    "Accessibility",
                    "Animation",
                    "Brand development",
                    "Content design and copywriting",
                    "Cross-platform design",
                    "Information architecture",
                    "Interaction design",
                    "Prototyping",
                    "Service design",
                    "User experience and design strategy"
                ]
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        },
        "userResearchTypes": {
            "items": {
                "enum": [
                    "Creating personas",
                    "Quantitative research",
                    "Usability testing",
                    "User journey mapping",
                    "User needs and insights"
                ]
            },
            "maxItems": 5,
            "minItems": 1,
            "type": "array",
            "_uniqueItems": true
        }
    },
    "required": [
        "accessibleApplicationsOutcomes",
        "bespokeSystemInformation",
        "dataProtocols",
        "helpGovernmentImproveServices",
        "locations",
        "openStandardsPrinciples"
    ],
    "title": "Digital Outcomes and Specialists 4 Digital outcomes Service Schema",
    "type": "object"
}