{ "definitions": {}, "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://example.com/root.json", "type": "object", "required": [ "scrutin", "candidatRef", "avancement", "resultatsParFonction" ], "properties": { "scrutin": { "$id": "#/properties/scrutin", "type": "object", "required": ["code", "ordre", "libelle", "libelleCourt", "portee", "systemeElectoral", "quorum", "fonctions", "postesAPourvoir", "candidats", "listes"], "properties": { "code": { "type": "string", "examples": ["202603PG"] }, "ordre": { "type": "integer", "examples": [1] }, "libelle": { "type": "string", "examples": ["Procureur général"] }, "libelleCourt": { "type": "string", "examples": ["Procureur général"] }, "portee": { "type": "string", "examples": ["Cantonale"] }, "systemeElectoral": { "type": "string", "examples": ["MAJORITAIRE"] }, "quorum": { "type": "number", "examples": [50.0] }, "fonctions": { "type": "array", "items": { "type": "object", "required": ["code", "libelle", "libelleMasculin", "libelleFeminin"], "properties": { "code": { "type": "string", "examples": ["PROC-GE"] }, "libelle": { "type": "string", "examples": ["Procureure générale ou procureur général"] }, "libelleMasculin": { "type": "string", "examples": ["Procureur général"] }, "libelleFeminin": { "type": "string", "examples": ["Procureure générale"] } } } }, "postesAPourvoir": { "type": "array", "items": { "type": "object", "required": ["ordre", "fonctionRef", "nbSieges", "nbSiegesSuppleants"], "properties": { "ordre": { "type": "integer", "examples": [1] }, "fonctionRef": { "type": "string", "examples": ["PROC-GE"] }, "nbSieges": { "type": "integer", "examples": [1] }, "nbSiegesSuppleants": { "type": "integer", "examples": [0] } } } }, "candidats": { "type": "array", "items": { "type": "object", "required": ["id", "nom", "prenom", "genre"], "properties": { "id": { "type": "integer", "examples": [375] }, "nom": { "type": "string", "examples": ["BAYENET"] }, "prenom": { "type": "string", "examples": ["Pierre"] }, "genre": { "type": "string", "examples": ["MASCULIN"] } } } }, "listes": { "type": "array", "items": { "type": "object", "required": ["numero", "libelle", "libelleCourt", "sigle", "apparentement", "sousApparentement", "candidatures"], "properties": { "numero": { "type": "integer", "examples": [1] }, "libelle": { "type": "string", "examples": ["Pierre Bayenet, impartial et humain pour la sécurité de toutes et tous"] }, "libelleCourt": { "type": "string", "examples": ["Pierre Bayenet"] }, "sigle": { "type": "string", "examples": ["PB"] }, "apparentement": { "type": "integer", "examples": [0] }, "sousApparentement": { "type": "integer", "examples": [0] }, "candidatures": { "type": "array", "items": { "type": "object", "required": ["numero", "candidatRef", "fonctionRef", "cumul", "tauxCharge"], "properties": { "numero": { "type": "string", "examples": ["1"] }, "candidatRef": { "type": "integer", "examples": [375] }, "fonctionRef": { "type": "string", "examples": ["PROC-GE"] }, "cumul": { "type": "boolean", "examples": [false] }, "tauxCharge": { "type": "number", "examples": [1.0] } } } } } } } } }, "candidatRef": { "$id": "#/properties/candidatRef", "type": "integer", "examples": [375] }, "avancement": { "$id": "#/properties/avancement", "type": "object", "required": ["etat", "texte", "dateheure", "composition"], "properties": { "etat": { "type": "string", "examples": ["Provisoires"] }, "texte": { "type": "string", "examples": ["Résultats provisoires du 29.03.2026 à 12:01"] }, "dateheure": { "type": "string", "examples": ["29.03.2026 12:01"] }, "composition": { "type": "string", "examples": ["67 locaux provisoires"] } } }, "resultatsParFonction": { "$id": "#/properties/resultatsParFonction", "type": "array", "items": { "type": "object", "required": ["fonctionRef", "resultats"], "properties": { "fonctionRef": { "type": "string", "examples": ["PROC-GE"] }, "resultats": { "$id": "#/properties/resultatsParFonction/items/properties/resultats", "type": "object", "required": ["circonscription", "ordre", "suffrages", "pourcentSuffrage", "ratioPourcentSuffrageScrutin", "elu", "egalite", "seraitElu", "circonscriptionsEnfantes"], "properties": { "circonscription": { "type": "object", "required": ["type", "id", "numero", "libelle"], "properties": { "type": { "type": "string", "examples": ["Canton"] }, "id": { "type": "string", "examples": ["25"] }, "numero": { "type": "string", "examples": ["01"] }, "libelle": { "type": "string", "examples": ["Canton de Genève"] } } }, "ordre": { "type": "integer", "examples": [1] }, "suffrages": { "type": "integer", "examples": [76] }, "pourcentSuffrage": { "type": "number", "examples": [54.29] }, "ratioPourcentSuffrageScrutin": { "type": "number", "examples": [100.0] }, "elu": { "type": "boolean", "examples": [false] }, "egalite": { "type": "boolean", "examples": [false] }, "seraitElu": { "type": "boolean", "examples": [true] }, "circonscriptionsEnfantes": { "type": "array", "items": { "type": "object", "required": ["circonscription", "suffrages", "pourcentSuffrage", "ratioPourcentSuffrageScrutin"], "properties": { "circonscription": { "type": "object", "required": ["type", "id", "numero", "libelle"], "properties": { "type": { "type": "string", "examples": ["Commune"] }, "id": { "type": "string", "examples": ["6601"] }, "numero": { "type": "string", "examples": ["01"] }, "libelle": { "type": "string", "examples": ["Aire-la-Ville"] } } }, "suffrages": { "type": "integer", "examples": [4] }, "pourcentSuffrage": { "type": "number", "examples": [50.0] }, "ratioPourcentSuffrageScrutin": { "type": "number", "examples": [92.11] }, "circonscriptionsEnfantes": { "type": "array", "items": { "type": "object", "required": ["circonscription", "suffrages", "pourcentSuffrage", "ratioPourcentSuffrageScrutin"], "properties": { "circonscription": { "type": "object", "required": ["type", "id", "numero", "libelle"], "properties": { "type": { "type": "string", "examples": ["Local de vote"] }, "id": { "type": "string", "examples": ["101"] }, "numero": { "type": "string", "examples": ["01"] }, "libelle": { "type": "string", "examples": ["Aire-la-Ville"] } } }, "suffrages": { "type": "integer", "examples": [4] }, "pourcentSuffrage": { "type": "number", "examples": [50.0] }, "ratioPourcentSuffrageScrutin": { "type": "number", "examples": [92.11] } } } } } } } } } } } } } }