{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://demarches-simplifiees.fr/avis-imposition.schema.json",
  "title": "avis imposition",
  "type": "object",
  "properties": {
    "declarant1": {
      "$ref": "#/$defs/declarant"
    },
    "declarant2": {
      "$ref": "#/$defs/declarant"
    },
    "dateRecouvrement": {
      "type": "string",
      "pattern": "^[0-9]{2}/[0-9]{2}/[0-9]{4}$"
    },
    "dateEtablissement": {
      "type": "string",
      "pattern": "^[0-9]{2}/[0-9]{2}/[0-9]{4}$"
    },
    "nombreParts": {
      "type": "number"
    },
    "situationFamille": {
      "type": "string"
    },
    "revenuBrutGlobal": {
      "type": "number",
      "nullable": true
    },
    "revenuImposable": {
      "type": "number",
      "nullable": true
    },
    "impotRevenuNetAvantCorrections": {
      "type": "number",
      "nullable": true
    },
    "montantImpot": {
      "type": "number",
      "nullable": true
    },
    "revenuFiscalReference": {
      "type": "number",
      "nullable": true
    },
    "nombrePersonnesCharge": {
      "type": "integer"
    },
    "anneeImpots": {
      "type": "string",
      "pattern": "^[0-9]{4}$"
    },
    "anneeRevenus": {
      "type": "string",
      "pattern": "^[0-9]{4}$"
    },
    "erreurCorrectif": {
      "type": "string"
    },
    "situationPartielle": {
      "type": "string"
    }
  },
  "$defs": {
    "declarant": {
      "type": "object",
      "properties": {
        "nom": {
          "type": "string"
        },
        "nomNaissance": {
          "type": "string"
        },
        "prenoms": {
          "type": "string"
        }
      }
    }
  }
}