﻿{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/art13-v1.0.schema.json",
    "type": "object",
    "additionalProperties": false,
    "title": "Obblighi di pubblicazione concernenti l'organizzazione delle pubbliche amministrazioni (art. 13 d.lgs. 33/2013)",
    "properties": {
        "intestazione": {
            "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Intestazione"
        },
        "ambitoSoggettivo": {
            "$comment": "Ambito soggettivo di applicazione",
            "$ref": "#/definitions/AmbitoSoggettivoEnum"
        },
        "organi": {
            "type": "array",
            "description": "Organi di indirizzo politico o di amministrazione/gestione",
            "minItems": 1,
            "items": {
                "$ref": "#/definitions/Organo"
            }
        },
        "organigramma" : {
            "$comment": "Organigramma o analoghe rappresentazioni grafiche",
            "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Url"
        },
        "contatti": {
            "$ref": "#/definitions/Riferimenti"
        }
    },
    "oneOf": [        
        {
            "required": [
                "intestazione",
                "ambitoSoggettivo",
                "organi"
            ]
        },
        {
            "required": [
                "intestazione",
                "ambitoSoggettivo",
                "contatti"
            ]
        }
    ],
    "definitions": {
        "AmbitoSoggettivoEnum": {
            "enum": [
                "Pubbliche amministrazioni",
                "Ordini e collegi professionali",
                "Società ed Enti"
            ]
        },
        "Organo": {
            "type": "object",
            "description": "Definizione dell'organo dell'amministrazione",
            "additionalProperties": false,
            "properties": {
                "denominazione": {
                    "$comment": "Tipo di incarico/carica",
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Denominazione"
                },
                "competenze": {
                    "$comment": "Descrizione competenze/attività",
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Descrizione"
                },
                "uffici": {
                    "type": "array",
                    "description": "Articolazione degli uffici",
                    "minItems": 0,
                    "items": [
                        {
                            "$ref": "#/definitions/Ufficio"
                        }
                    ]
                }
            },
            "required": [
                "denominazione",
                "competenze",
                "uffici"
            ]
        },
        "Ufficio": {
            "type": "object",
            "description": "Dati e riferimenti dell'ufficio",
            "additionalProperties": false,
            "properties": {
                "tipologia": {
                    "$comment": "Tipologia di ufficio dirigenziale o non dirigenziale",
                    "$ref": "#/definitions/TipologiaUfficio"
                },                
                "denominazione": {
                    "$comment": "Denominazione ufficio",
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Denominazione"
                },
                "competenze": {
                    "$comment": "Descrizione delle competenze del singolo ufficio",
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Descrizione"
                },
                "nominativo": {
                    "type": "string",
                    "description": "Nome e cognome del dirigente responsabile dell'ufficio/altro"
                },
                "qualifica": {
                    "type": "string",
                    "description": "Qualifica rivestita dal dirigente responsabile dell'ufficio"
                },
                "contatti": {
                    "$ref": "#/definitions/Riferimenti"
                }
            },
            "required": [
                "tipologia",
                "denominazione",
                "competenze",
                "nominativo",
                "qualifica",
                "contatti"
            ]
        },
        "TipologiaUfficio": {
            "enum": [
                "Ufficio dirigenziale",
                "Ufficio non dirigenziale"
            ]
        },
        "Riferimenti": {
            "type": "object",
            "description": "Recapiti telefonici e di posta elettronica",
            "additionalProperties": false,
            "properties": {
                "recapitoTelefonico": {
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Telefono"
                },
                "postaElettronicaOrdinaria": {
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Email"
                },
                "postaElettronicaCertificata": {
                    "$ref": "https://guida-servizi.anticorruzione.it/help/trasparenza/schemi/json/commons-v1.0.schema.json#/definitions/Email"
                }
            },
            "required": [
                "recapitoTelefonico"
            ],
            "anyOf": [
                {
                    "required": [
                        "postaElettronicaOrdinaria"
                    ]
                },
                {
                    "required": [
                        "postaElettronicaCertificata"
                    ]
                }
            ]
        }
    }
}