{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "es/aeat/declaracion-censal-personas-fisicas-modelo-030",
  "version": "1.0.0",
  "title": "Spain Census Declaration for Natural Persons (Declaración Censal, Modelo 030)",
  "description": "The Agencia Estatal de Administración Tributaria's (AEAT, Spain's tax authority) Modelo 030, 'Declaración censal de alta en el Censo de obligados tributarios, cambio de domicilio y/o de variación de datos personales' — the simplified census declaration a natural person (persona física) not carrying out a business/professional activity uses to register in Spain's Censo de Obligados Tributarios for the first time, request a NIF when they hold no DNI/NIE, change their fiscal or notification domicile, update identifying data (name, nationality, birth data), report a change of civil status, or add/withdraw a phone number or email address AEAT may use for informational notices. A single Section 1 ('Causas de presentación') carries fifteen checkboxes — one pair (interesado/cónyuge) per cause, plus one interesado-only cause for phone/email notices — that determine which of the form's other conditional sections (2/3 identifying data, 5 fiscal domicile, 9 civil status) are completed; Sections 4 (phone/email), 6 (foreign domicile), 7 (notification domicile), and 8 (representative) are available regardless of which Section 1 cause is marked. The form is genuinely downloadable and fillable (a 4-page AcroForm PDF hosted directly on sede.agenciatributaria.gob.es, HTTP 200, no login/CAPTCHA/WAF gate; pages 3-4 are an identical duplicate 'Ejemplar para el interesado' copy of pages 1-2's 'Ejemplar para la Administración', not modeled separately). This document opens Spain as a new jurisdiction in this registry. Deliberately does not model: the electronic-filing channel (Modelo 030 can also be submitted through AEAT's authenticated Sede Electrónica, an entirely different, session-based flow this document does not attempt to describe); the external AEAT code tables the 'Clave' fields in Section 8 and the country-code field in Section 6 reference, none of which are reproduced inside this 2-page form; and the physical-signature line itself, which is not applicant-supplied data. GovSchema is independent and is not affiliated with, endorsed by, or operated by the Government of Spain or the Agencia Estatal de Administración Tributaria.",
  "status": "draft",
  "jurisdiction": {
    "country": "ES",
    "level": "national"
  },
  "authority": {
    "name": "Agencia Estatal de Administración Tributaria",
    "abbreviation": "AEAT",
    "url": "https://sede.agenciatributaria.gob.es"
  },
  "process": {
    "type": "filing",
    "language": "es-ES"
  },
  "source": {
    "url": "https://sede.agenciatributaria.gob.es/static_files/Sede/Procedimiento_ayuda/G321/mod030_es_es.pdf",
    "retrievedAt": "2026-07-07",
    "documentRef": "Modelo 030, 'Declaración censal de alta en el Censo de obligados tributarios, cambio de domicilio y/o de variación de datos personales', Agencia Tributaria (AEAT) (4-page fillable AcroForm PDF; pages 1-2 are the 'Ejemplar para la Administración' copy, pages 3-4 an identical duplicate 'Ejemplar para el interesado')"
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-07",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-07",
    "notes": "GovSchema Standard Research cycle (GOV-1645), opening Spain as this registry's 21st jurisdiction. Screened alongside Chile's remaining Passport/National ID/Visa gaps (all re-confirmed ClaveÚnica-gated or non-resolving, no fillable form found), Peru's Migraciones/RENIEC channels (a genuine Peru PDF exists — SOLICITUD-GENERAL.pdf — but carries no AcroForm layer at all; RENIEC's own DNI-renewal app is a reCAPTCHA-enterprise-gated Angular SPA), and Argentina's RENAPER (appointment/Mi Argentina-app gated, no downloadable form found) — see VERIFICATION.md for the full candidate comparison. The live PDF was independently fetched (HTTP 200, no login/CAPTCHA/WAF) and its AcroForm field structure extracted via pdfjs-dist (annotation/widget layer plus page text layer, cross-referenced by x/y-coordinate and corroborated with a rendered page-image visual check via pdfjs-dist+canvas at 3x zoom), since — like the sibling cl/sii/aviso-venta-vehiculo schema's F1816 — this form's AcroForm field names are generic (dato.1...dato.135) and carry no descriptive information of their own; each field's real printed label and reference-number box were attributed by matching widget rects against the nearest label text and confirmed visually against the rendered page image. See VERIFICATION.md for the full field inventory, sourcing, and every disclosed judgment call."
  },
  "maturity": {
    "level": "structural-reference",
    "criteria": {
      "structuralReference": true,
      "verifiedSchema": false,
      "agentReadySchema": false,
      "executionTestedSchema": false
    },
    "method": "maturity-self-assessment-v1",
    "assertedBy": "GovSchema Engineering (Standards Engineer)",
    "assertedAt": "2026-07-07"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "required": true,
      "name": "nifInteresado",
      "label": "NIF",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "NIF (Número de Identificación Fiscal) of the declarant ('interesado'). Printed as the form's own running header, present on every page; the only field this document treats as unconditionally required, since every submission — regardless of which box in Section 1 is marked — must identify who is filing.",
      "sourceRef": "p.1 header 'Datos identificativos', box 01 'NIF' (AcroForm field dato.nif.1)",
      "validation": {
        "pattern": "^([0-9]{8}|[XYZ][0-9]{7})[A-Z]$"
      }
    },
    {
      "required": true,
      "name": "apellidosInteresado",
      "label": "Apellidos",
      "type": "string",
      "classification": "pii",
      "description": "Surname(s) of the declarant, as printed in the form's own running header (combined first+second surname, distinct from Section 2's own split 'Primer apellido'/'Segundo apellido' boxes).",
      "sourceRef": "p.1 header 'Datos identificativos', box 02 'Apellidos' (AcroForm field dato.1)"
    },
    {
      "required": true,
      "name": "nombreInteresado",
      "label": "Nombre",
      "type": "string",
      "classification": "pii",
      "description": "Given name of the declarant, as printed in the form's own running header.",
      "sourceRef": "p.1 header 'Datos identificativos', box 03 'Nombre' (AcroForm field dato.2)"
    },
    {
      "required": false,
      "name": "causaAltaCensoInteresado",
      "label": "Causa de presentación 101",
      "type": "boolean",
      "description": "Checkbox: Alta en el censo de obligados tributarios (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 101 (AcroForm field dato.3)"
    },
    {
      "required": false,
      "name": "causaAltaCensoConyuge",
      "label": "Causa de presentación 102",
      "type": "boolean",
      "description": "Checkbox: Alta en el censo de obligados tributarios (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 102 (AcroForm field dato.4)"
    },
    {
      "required": false,
      "name": "causaCambioDomicilioFiscalInteresado",
      "label": "Causa de presentación 103",
      "type": "boolean",
      "description": "Checkbox: Modificaciones/cambio de domicilio fiscal (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 103 (AcroForm field dato.5)"
    },
    {
      "required": false,
      "name": "causaCambioDomicilioFiscalConyuge",
      "label": "Causa de presentación 104",
      "type": "boolean",
      "description": "Checkbox: Modificaciones/cambio de domicilio fiscal (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 104 (AcroForm field dato.6)"
    },
    {
      "required": false,
      "name": "causaDomicilioNotificacionesInteresado",
      "label": "Causa de presentación 105",
      "type": "boolean",
      "description": "Checkbox: Consignación/modificación/baja de domicilio de notificaciones (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 105 (AcroForm field dato.7)"
    },
    {
      "required": false,
      "name": "causaDomicilioNotificacionesConyuge",
      "label": "Causa de presentación 106",
      "type": "boolean",
      "description": "Checkbox: Consignación/modificación/baja de domicilio de notificaciones (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 106 (AcroForm field dato.8)"
    },
    {
      "required": false,
      "name": "causaModificacionDatosIdentificativosInteresado",
      "label": "Causa de presentación 107",
      "type": "boolean",
      "description": "Checkbox: Modificación de datos identificativos (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 107 (AcroForm field dato.9)"
    },
    {
      "required": false,
      "name": "causaModificacionDatosIdentificativosConyuge",
      "label": "Causa de presentación 108",
      "type": "boolean",
      "description": "Checkbox: Modificación de datos identificativos (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 108 (AcroForm field dato.10)"
    },
    {
      "required": false,
      "name": "causaSolicitudNifSinDniNieInteresado",
      "label": "Causa de presentación 109",
      "type": "boolean",
      "description": "Checkbox: Solicitud de NIF por persona física que no disponga de DNI/NIE (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 109 (AcroForm field dato.11)"
    },
    {
      "required": false,
      "name": "causaSolicitudNifSinDniNieConyuge",
      "label": "Causa de presentación 110",
      "type": "boolean",
      "description": "Checkbox: Solicitud de NIF por persona física que no disponga de DNI/NIE (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 110 (AcroForm field dato.12)"
    },
    {
      "required": false,
      "name": "causaCambioEstadoCivilInteresado",
      "label": "Causa de presentación 111",
      "type": "boolean",
      "description": "Checkbox: Cambio/modificación de estado civil (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 111 (AcroForm field dato.13)"
    },
    {
      "required": false,
      "name": "causaCambioEstadoCivilConyuge",
      "label": "Causa de presentación 112",
      "type": "boolean",
      "description": "Checkbox: Cambio/modificación de estado civil (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 112 (AcroForm field dato.14)"
    },
    {
      "required": false,
      "name": "causaNuevaTarjetaNifInteresado",
      "label": "Causa de presentación 115",
      "type": "boolean",
      "description": "Checkbox: Solicitud de nueva tarjeta acreditativa del NIF (interesado). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 115 (AcroForm field dato.15)"
    },
    {
      "required": false,
      "name": "causaNuevaTarjetaNifConyuge",
      "label": "Causa de presentación 116",
      "type": "boolean",
      "description": "Checkbox: Solicitud de nueva tarjeta acreditativa del NIF (cónyuge). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 116 (AcroForm field dato.16)"
    },
    {
      "required": false,
      "name": "causaTelefonosCorreoAvisos",
      "label": "Causa de presentación 117",
      "type": "boolean",
      "description": "Checkbox: Alta/modificación/baja de datos de teléfonos y direcciones electrónicas para recibir avisos de la AEAT (interesado only — this cause has no separate cónyuge checkbox on the form). Section 1's own instructions state that both the 'Interesado' and 'Cónyuge' checkboxes for a shared cause are marked only when both spouses are jointly communicating the same change of fiscal/notification domicile, or simultaneously requesting registration/NIF/identifying-data changes, in which case the declaration must be signed by both spouses.",
      "sourceRef": "p.1 §1 'Causas de presentación', box 117 (AcroForm field dato.17)"
    },
    {
      "required": false,
      "name": "residenteFiscalEspanaInteresado",
      "label": "Residente fiscal en España",
      "type": "boolean",
      "description": "Checkbox: the interesado is a fiscal resident in Spain.",
      "sourceRef": "p.1 §2 'Datos identificativos del interesado', box 201 (AcroForm field dato.18)"
    },
    {
      "required": false,
      "name": "noResidenteFiscalEspanaInteresado",
      "label": "NO residente fiscal en España",
      "type": "boolean",
      "description": "Checkbox: the interesado is NOT a fiscal resident in Spain.",
      "sourceRef": "p.1 §2 'Datos identificativos del interesado', box 202 (AcroForm field dato.19)"
    },
    {
      "required": false,
      "name": "fechaEfectosResidenciaFiscalInteresado",
      "label": "Fecha de efectos residencia fiscal",
      "type": "date",
      "description": "Effective date of the interesado's fiscal-residence status declared above. The source prints this as three adjacent day/month/year text boxes (all-numeric, maxLen 2/2/4); merged into a single date field per this registry's convention for split date sub-widgets (matching this registry's precedent, e.g. cl/sii/aviso-venta-vehiculo's fechaVenta).",
      "sourceRef": "p.1 §2, box 217 'Fecha de efectos residencia fiscal' (AcroForm fields dato.21/dato.22/dato.23, day/month/year)"
    },
    {
      "required": false,
      "name": "nifOtrosPaisesInteresado",
      "label": "NIF de otros países/CIF Estado residencia",
      "type": "string",
      "description": "Tax identification number issued by another country, or CIF of the interesado's state of residence, when relevant to the residency status declared above.",
      "sourceRef": "p.1 §2, box 203 (AcroForm field dato.24)"
    },
    {
      "required": false,
      "name": "numeroPasaporteInteresado",
      "label": "Nº pasaporte",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "Passport number of the interesado.",
      "sourceRef": "p.1 §2, box 204 (AcroForm field dato.25)"
    },
    {
      "required": false,
      "name": "nacionalidadInteresado",
      "label": "Nacionalidad",
      "type": "string",
      "classification": "pii",
      "description": "Nationality of the interesado.",
      "sourceRef": "p.1 §2, box 205 (AcroForm field dato.26)"
    },
    {
      "required": false,
      "name": "sexoInteresado",
      "label": "Sexo",
      "type": "enum",
      "classification": "pii",
      "description": "Sex of the interesado. The source widget is a plain single-character text box (maxLen 1) with no combo/radio structure exposing its accepted values; 'H'/'M' (Hombre/Mujer) is this registry's inference from standard AEAT census-form convention on comparable forms, NOT confirmed from this PDF's own annotation data — flagged for a human reviewer to double-check against a live-filled specimen if one becomes available.",
      "sourceRef": "p.1 §2, box 206 (AcroForm field dato.27, maxLen 1)",
      "validation": {
        "enum": [
          "H",
          "M"
        ]
      }
    },
    {
      "required": false,
      "name": "nifSeccion2Interesado",
      "label": "NIF",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoInteresado",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosInteresado",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieInteresado",
            "equals": true
          }
        ]
      },
      "classification": "sensitive-pii",
      "description": "NIF of the interesado, as entered in Section 2's own identification block (distinct AcroForm field from the running-header NIF above, though expected to carry the same value).",
      "sourceRef": "p.1 §2, box 207 (AcroForm field dato.nif.2)",
      "validation": {
        "pattern": "^([0-9]{8}|[XYZ][0-9]{7})[A-Z]$"
      }
    },
    {
      "required": false,
      "name": "primerApellidoInteresado",
      "label": "Primer apellido",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoInteresado",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosInteresado",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieInteresado",
            "equals": true
          }
        ]
      },
      "classification": "pii",
      "description": "First (paternal) surname of the interesado.",
      "sourceRef": "p.1 §2, box 208 (AcroForm field dato.28)"
    },
    {
      "required": false,
      "name": "segundoApellidoInteresado",
      "label": "Segundo apellido",
      "type": "string",
      "classification": "pii",
      "description": "Second (maternal) surname of the interesado, when applicable.",
      "sourceRef": "p.1 §2, box 209 (AcroForm field dato.29)"
    },
    {
      "required": false,
      "name": "nombreSeccion2Interesado",
      "label": "Nombre",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoInteresado",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosInteresado",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieInteresado",
            "equals": true
          }
        ]
      },
      "classification": "pii",
      "description": "Given name of the interesado, as entered in Section 2's own identification block.",
      "sourceRef": "p.1 §2, box 210 (AcroForm field dato.30)"
    },
    {
      "required": false,
      "name": "fechaNacimientoInteresado",
      "label": "Fecha de nacimiento",
      "type": "date",
      "classification": "sensitive-pii",
      "description": "Date of birth of the interesado. Merged from three adjacent day/month/year text boxes (all-numeric, maxLen 2/2/4) per this registry's date-merge convention.",
      "sourceRef": "p.1 §2, boxes 211/212/213 'Día'/'Mes'/'Año' (AcroForm fields dato.31/dato.32/dato.33)"
    },
    {
      "required": false,
      "name": "municipioNacimientoInteresado",
      "label": "Municipio",
      "type": "string",
      "description": "Municipality of birth of the interesado.",
      "sourceRef": "p.1 §2, box 214 'Lugar de nacimiento — Municipio' (AcroForm field dato.34)"
    },
    {
      "required": false,
      "name": "provinciaNacimientoInteresado",
      "label": "Provincia",
      "type": "string",
      "description": "Province of birth of the interesado.",
      "sourceRef": "p.1 §2, box 215 'Lugar de nacimiento — Provincia' (AcroForm field dato.35)"
    },
    {
      "required": false,
      "name": "paisNacimientoInteresado",
      "label": "País",
      "type": "string",
      "description": "Country of birth of the interesado.",
      "sourceRef": "p.1 §2, box 216 'Lugar de nacimiento — País' (AcroForm field dato.36)"
    },
    {
      "required": false,
      "name": "residenteFiscalEspanaConyuge",
      "label": "Residente fiscal en España",
      "type": "boolean",
      "description": "Checkbox: the cónyuge is a fiscal resident in Spain.",
      "sourceRef": "p.1 §3 'Datos identificativos del cónyuge', box 301 (AcroForm field dato.37)"
    },
    {
      "required": false,
      "name": "noResidenteFiscalEspanaConyuge",
      "label": "NO residente fiscal en España",
      "type": "boolean",
      "description": "Checkbox: the cónyuge is NOT a fiscal resident in Spain.",
      "sourceRef": "p.1 §3, box 302 (AcroForm field dato.38)"
    },
    {
      "required": false,
      "name": "fechaEfectosResidenciaFiscalConyuge",
      "label": "Fecha de efectos residencia fiscal",
      "type": "date",
      "description": "Effective date of the cónyuge's fiscal-residence status declared above. Merged from three adjacent day/month/year text boxes per this registry's date-merge convention.",
      "sourceRef": "p.1 §3, box 317 (AcroForm fields dato.39/dato.40/dato.41, day/month/year)"
    },
    {
      "required": false,
      "name": "nifOtrosPaisesConyuge",
      "label": "NIF de otros países/CIF Estado residencia",
      "type": "string",
      "description": "Tax identification number issued by another country, or CIF of the cónyuge's state of residence.",
      "sourceRef": "p.1 §3, box 303 (AcroForm field dato.42)"
    },
    {
      "required": false,
      "name": "numeroPasaporteConyuge",
      "label": "Nº pasaporte",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "Passport number of the cónyuge.",
      "sourceRef": "p.1 §3, box 304 (AcroForm field dato.43)"
    },
    {
      "required": false,
      "name": "nacionalidadConyuge",
      "label": "Nacionalidad",
      "type": "string",
      "classification": "pii",
      "description": "Nationality of the cónyuge.",
      "sourceRef": "p.1 §3, box 305 (AcroForm field dato.44)"
    },
    {
      "required": false,
      "name": "sexoConyuge",
      "label": "Sexo",
      "type": "enum",
      "classification": "pii",
      "description": "Sex of the cónyuge. Same unconfirmed-enum caveat as sexoInteresado: the source widget is a plain single-character text box with no exposed value list.",
      "sourceRef": "p.1 §3, box 306 (AcroForm field dato.45, maxLen 1)",
      "validation": {
        "enum": [
          "H",
          "M"
        ]
      }
    },
    {
      "required": false,
      "name": "nifSeccion3Conyuge",
      "label": "NIF",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoConyuge",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosConyuge",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieConyuge",
            "equals": true
          }
        ]
      },
      "classification": "sensitive-pii",
      "description": "NIF of the cónyuge, as entered in Section 3's own identification block.",
      "sourceRef": "p.1 §3, box 307 (AcroForm field dato.nif.3)",
      "validation": {
        "pattern": "^([0-9]{8}|[XYZ][0-9]{7})[A-Z]$"
      }
    },
    {
      "required": false,
      "name": "primerApellidoConyuge",
      "label": "Primer apellido",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoConyuge",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosConyuge",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieConyuge",
            "equals": true
          }
        ]
      },
      "classification": "pii",
      "description": "First (paternal) surname of the cónyuge.",
      "sourceRef": "p.1 §3, box 308 (AcroForm field dato.46)"
    },
    {
      "required": false,
      "name": "segundoApellidoConyuge",
      "label": "Segundo apellido",
      "type": "string",
      "classification": "pii",
      "description": "Second (maternal) surname of the cónyuge, when applicable.",
      "sourceRef": "p.1 §3, box 309 (AcroForm field dato.47)"
    },
    {
      "required": false,
      "name": "nombreSeccion3Conyuge",
      "label": "Nombre",
      "type": "string",
      "requiredWhen": {
        "any": [
          {
            "field": "causaAltaCensoConyuge",
            "equals": true
          },
          {
            "field": "causaModificacionDatosIdentificativosConyuge",
            "equals": true
          },
          {
            "field": "causaSolicitudNifSinDniNieConyuge",
            "equals": true
          }
        ]
      },
      "classification": "pii",
      "description": "Given name of the cónyuge.",
      "sourceRef": "p.1 §3, box 310 (AcroForm field dato.48)"
    },
    {
      "required": false,
      "name": "fechaNacimientoConyuge",
      "label": "Fecha de nacimiento",
      "type": "date",
      "classification": "sensitive-pii",
      "description": "Date of birth of the cónyuge. Merged from three adjacent day/month/year text boxes per this registry's date-merge convention.",
      "sourceRef": "p.1 §3, boxes 311/312/313 (AcroForm fields dato.49/dato.50/dato.51)"
    },
    {
      "required": false,
      "name": "municipioNacimientoConyuge",
      "label": "Municipio",
      "type": "string",
      "description": "Municipality of birth of the cónyuge.",
      "sourceRef": "p.1 §3, box 314 (AcroForm field dato.52)"
    },
    {
      "required": false,
      "name": "provinciaNacimientoConyuge",
      "label": "Provincia",
      "type": "string",
      "description": "Province of birth of the cónyuge.",
      "sourceRef": "p.1 §3, box 315 (AcroForm field dato.53)"
    },
    {
      "required": false,
      "name": "paisNacimientoConyuge",
      "label": "País",
      "type": "string",
      "description": "Country of birth of the cónyuge.",
      "sourceRef": "p.1 §3, box 316 (AcroForm field dato.54)"
    },
    {
      "required": false,
      "name": "prefijoPaisTelefono",
      "label": "Prefijo país",
      "type": "string",
      "description": "Country calling code prefix for the mobile number below.",
      "sourceRef": "p.1 §4, box 426 (AcroForm field dato.55, maxLen 5)",
      "validation": {
        "maxLength": 5
      }
    },
    {
      "required": false,
      "name": "telefonoMovilAvisos",
      "label": "Tlfo. móvil para avisos",
      "type": "string",
      "classification": "pii",
      "description": "Mobile phone number the AEAT may use to send informational notices. The form's own §4 notice states that supplying a phone number or email here authorizes AEAT to use it for informational notices.",
      "sourceRef": "p.1 §4, box 427 (AcroForm field dato.56)"
    },
    {
      "required": false,
      "name": "bajaTelefonoAvisos",
      "label": "Baja",
      "type": "boolean",
      "description": "Checkbox: withdraw ('baja') a previously registered notice mobile number, rather than adding/changing one. Left required:false/independent of telefonoMovilAvisos: a withdrawal submission would set this true while leaving the number field blank.",
      "sourceRef": "p.1 §4, box 431 (AcroForm field dato.133)"
    },
    {
      "required": false,
      "name": "correoElectronicoAvisos",
      "label": "Correo electrónico para avisos",
      "type": "string",
      "classification": "pii",
      "description": "Email address the AEAT may use to send informational notices.",
      "sourceRef": "p.1 §4, box 429 (AcroForm field dato.58)"
    },
    {
      "required": false,
      "name": "bajaCorreoElectronicoAvisos",
      "label": "Baja",
      "type": "boolean",
      "description": "Checkbox: withdraw ('baja') a previously registered notice email address, rather than adding/changing one.",
      "sourceRef": "p.1 §4, box 432 (AcroForm field dato.134)"
    },
    {
      "required": false,
      "name": "tipoViaDomicilioFiscal",
      "label": "Tipo de vía",
      "type": "string",
      "requiredWhen": {
        "field": "causaCambioDomicilioFiscalInteresado",
        "equals": true
      },
      "description": "Street-type abbreviation (e.g. Calle, Avenida, Plaza) of the interesado's Spanish fiscal domicile.",
      "sourceRef": "p.1 §5 'Consignación de domicilio fiscal', box 411 (AcroForm field dato.60)"
    },
    {
      "required": false,
      "name": "nombreViaDomicilioFiscal",
      "label": "Nombre de la vía pública",
      "type": "string",
      "requiredWhen": {
        "field": "causaCambioDomicilioFiscalInteresado",
        "equals": true
      },
      "classification": "pii",
      "description": "Street name of the fiscal domicile.",
      "sourceRef": "p.1 §5, box 412 (AcroForm field dato.61)"
    },
    {
      "required": false,
      "name": "tipoNumeracionDomicilioFiscal",
      "label": "Tipo Num.",
      "type": "string",
      "description": "House-numbering type qualifier of the fiscal domicile (e.g. Número, Kilómetro).",
      "sourceRef": "p.1 §5, box 413 (AcroForm field dato.62)"
    },
    {
      "required": false,
      "name": "numeroCasaDomicilioFiscal",
      "label": "Núm. casa",
      "type": "string",
      "description": "House/building number of the fiscal domicile.",
      "sourceRef": "p.1 §5, box 414 (AcroForm field dato.63)"
    },
    {
      "required": false,
      "name": "calificadorNumeroDomicilioFiscal",
      "label": "Calif. nu[m]",
      "type": "string",
      "description": "Qualifier appended to the house number (e.g. bis, duplicado), when applicable.",
      "sourceRef": "p.1 §5, box 415 (AcroForm field dato.64)"
    },
    {
      "required": false,
      "name": "bloqueDomicilioFiscal",
      "label": "Bloque",
      "type": "string",
      "description": "Block identifier of the fiscal domicile, when applicable.",
      "sourceRef": "p.1 §5, box 416 (AcroForm field dato.65)"
    },
    {
      "required": false,
      "name": "portalDomicilioFiscal",
      "label": "Portal",
      "type": "string",
      "description": "Portal/entrance identifier of the fiscal domicile, when applicable.",
      "sourceRef": "p.1 §5, box 417 (AcroForm field dato.66)"
    },
    {
      "required": false,
      "name": "escaleraDomicilioFiscal",
      "label": "Escal.",
      "type": "string",
      "description": "Staircase identifier of the fiscal domicile, when applicable.",
      "sourceRef": "p.1 §5, box 418 (AcroForm field dato.67)"
    },
    {
      "required": false,
      "name": "plantaDomicilioFiscal",
      "label": "Planta",
      "type": "string",
      "description": "Floor of the fiscal domicile, when applicable.",
      "sourceRef": "p.1 §5, box 419 (AcroForm field dato.68)"
    },
    {
      "required": false,
      "name": "puertaDomicilioFiscal",
      "label": "Puerta",
      "type": "string",
      "description": "Door identifier of the fiscal domicile, when applicable.",
      "sourceRef": "p.1 §5, box 420 (AcroForm field dato.69)"
    },
    {
      "required": false,
      "name": "complementoDomicilioFiscal",
      "label": "Complemento domicilio",
      "type": "string",
      "description": "Free-text complement to the fiscal domicile (e.g. Urbanización, Polígono Industrial, Centro Comercial), per the source's own examples.",
      "sourceRef": "p.1 §5, box 421 (AcroForm field dato.70)"
    },
    {
      "required": false,
      "name": "localidadDomicilioFiscal",
      "label": "Localidad / Población",
      "type": "string",
      "description": "Locality/population center of the fiscal domicile, only when distinct from the municipality below.",
      "sourceRef": "p.1 §5, box 422 (AcroForm field dato.71)"
    },
    {
      "required": false,
      "name": "codigoPostalDomicilioFiscal",
      "label": "C. Postal",
      "type": "string",
      "requiredWhen": {
        "field": "causaCambioDomicilioFiscalInteresado",
        "equals": true
      },
      "description": "Postal code of the fiscal domicile. The source widget itself carries a generic maxLen of 10 with no format constraint; this document tightens it to Spain's standard 5-digit postal-code format as a disclosed judgment call, since §5 is explicitly scoped to a 'Domicilio fiscal en España'.",
      "sourceRef": "p.1 §5, box 423 (AcroForm field dato.72, maxLen 10)",
      "validation": {
        "pattern": "^[0-9]{5}$"
      }
    },
    {
      "required": false,
      "name": "municipioDomicilioFiscal",
      "label": "Nombre del Municipio",
      "type": "string",
      "requiredWhen": {
        "field": "causaCambioDomicilioFiscalInteresado",
        "equals": true
      },
      "description": "Municipality of the fiscal domicile.",
      "sourceRef": "p.1 §5, box 424 (AcroForm field dato.73)"
    },
    {
      "required": false,
      "name": "provinciaDomicilioFiscal",
      "label": "Provincia",
      "type": "string",
      "requiredWhen": {
        "field": "causaCambioDomicilioFiscalInteresado",
        "equals": true
      },
      "description": "Province of the fiscal domicile.",
      "sourceRef": "p.1 §5, box 425 (AcroForm field dato.74)"
    },
    {
      "required": false,
      "name": "indicadorReferenciaCatastral",
      "label": "Indicador Ref. catastral",
      "type": "string",
      "description": "Short indicator/prefix code for the cadastral reference below, per Spain's cadastral-reference numbering convention.",
      "sourceRef": "p.1 §5, box 428 (AcroForm field dato.75)"
    },
    {
      "required": false,
      "name": "referenciaCatastral",
      "label": "Referencia catastral",
      "type": "string",
      "description": "Cadastral reference number of the fiscal domicile, when known.",
      "sourceRef": "p.1 §5, box 430 (AcroForm field dato.76)"
    },
    {
      "required": false,
      "name": "domicilioFiscalExtranjero",
      "label": "Domicilio fiscal",
      "type": "boolean",
      "description": "Checkbox: the foreign address entered below is the interesado's fiscal domicile abroad.",
      "sourceRef": "p.1 §6 'Consignación de domicilio en el extranjero', box 501 (AcroForm field dato.78)"
    },
    {
      "required": false,
      "name": "otrosDomiciliosExtranjero",
      "label": "Otros domicilios",
      "type": "boolean",
      "description": "Checkbox: the foreign address entered below is some other (non-fiscal) foreign address.",
      "sourceRef": "p.1 §6, box 502 (AcroForm field dato.79)"
    },
    {
      "required": false,
      "name": "direccionExtranjero",
      "label": "Domicilio (Address)",
      "type": "string",
      "classification": "pii",
      "description": "Full street address of the foreign domicile (the source's own bilingual label 'Domicilio (Address)' is printed verbatim).",
      "sourceRef": "p.1 §6, box 503 (AcroForm field dato.82)"
    },
    {
      "required": false,
      "name": "complementoDomicilioExtranjero",
      "label": "Complemento domicilio",
      "type": "string",
      "description": "Free-text complement to the foreign address, when needed.",
      "sourceRef": "p.1 §6, box 504 (AcroForm field dato.83)"
    },
    {
      "required": false,
      "name": "poblacionCiudadExtranjero",
      "label": "Población / Ciudad",
      "type": "string",
      "description": "City/town of the foreign address.",
      "sourceRef": "p.1 §6, box 505 (AcroForm field dato.84)"
    },
    {
      "required": false,
      "name": "codigoPostalExtranjero",
      "label": "C. Postal (ZIP)",
      "type": "string",
      "description": "Postal/ZIP code of the foreign address, in that country's own format (left unconstrained, unlike the Spain-only domestic postal-code fields elsewhere in this document).",
      "sourceRef": "p.1 §6, box 507 (AcroForm field dato.135, maxLen 10)"
    },
    {
      "required": false,
      "name": "provinciaRegionEstadoExtranjero",
      "label": "Provincia / Región / Estado",
      "type": "string",
      "description": "Province/region/state of the foreign address.",
      "sourceRef": "p.1 §6, box 508 (AcroForm field dato.85)"
    },
    {
      "required": false,
      "name": "paisExtranjero",
      "label": "País",
      "type": "string",
      "description": "Country name of the foreign address.",
      "sourceRef": "p.1 §6, box 509 (AcroForm field dato.88)"
    },
    {
      "required": false,
      "name": "codigoPaisExtranjero",
      "label": "Cod. País",
      "type": "string",
      "description": "Country code of the foreign address, per AEAT's own external country-code table (not reproduced in this form).",
      "sourceRef": "p.1 §6, box 510 (AcroForm field dato.89)"
    },
    {
      "required": false,
      "name": "bajaDomicilioNotificaciones",
      "label": "Baja",
      "type": "boolean",
      "description": "Checkbox: withdraw ('baja') a previously registered notification domicile, rather than adding/changing one.",
      "sourceRef": "p.2 §7 'Consignación del domicilio a efectos de notificaciones', box 600 (AcroForm field dato.90)"
    },
    {
      "required": false,
      "name": "tipoViaNotificaciones",
      "label": "Tipo de vía",
      "type": "string",
      "description": "Street-type abbreviation of the notification domicile — track 1) of two alternative tracks the source's own instructions offer ('cumplimente el apartado 1 ó el 2 según estime oportuno'); track 2) is the apartado-de-correos fields below. Left required:false/ungated: the source names no field that flags which of the two tracks applies, only the general causaDomicilioNotificacionesInteresado/Conyuge checkboxes in Section 1, which do not distinguish between them either.",
      "sourceRef": "p.2 §7, box 601 (AcroForm field dato.91)"
    },
    {
      "required": false,
      "name": "nombreViaNotificaciones",
      "label": "Nombre de la vía pública",
      "type": "string",
      "classification": "pii",
      "description": "Street name of the notification domicile (track 1).",
      "sourceRef": "p.2 §7, box 602 (AcroForm field dato.92)"
    },
    {
      "required": false,
      "name": "tipoNumeracionNotificaciones",
      "label": "Tipo Num.",
      "type": "string",
      "description": "House-numbering type qualifier of the notification domicile (track 1).",
      "sourceRef": "p.2 §7, box 603 (AcroForm field dato.93)"
    },
    {
      "required": false,
      "name": "numeroCasaNotificaciones",
      "label": "Núm. casa",
      "type": "string",
      "description": "House/building number of the notification domicile (track 1).",
      "sourceRef": "p.2 §7, box 604 (AcroForm field dato.94)"
    },
    {
      "required": false,
      "name": "calificadorNumeroNotificaciones",
      "label": "Calif. nu[m]",
      "type": "string",
      "description": "Qualifier appended to the house number of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 605 (AcroForm field dato.95)"
    },
    {
      "required": false,
      "name": "bloqueNotificaciones",
      "label": "Bloque",
      "type": "string",
      "description": "Block identifier of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 606 (AcroForm field dato.96)"
    },
    {
      "required": false,
      "name": "portalNotificaciones",
      "label": "Portal",
      "type": "string",
      "description": "Portal/entrance identifier of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 607 (AcroForm field dato.97)"
    },
    {
      "required": false,
      "name": "escaleraNotificaciones",
      "label": "Escal.",
      "type": "string",
      "description": "Staircase identifier of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 608 (AcroForm field dato.98)"
    },
    {
      "required": false,
      "name": "plantaNotificaciones",
      "label": "Planta",
      "type": "string",
      "description": "Floor of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 609 (AcroForm field dato.99)"
    },
    {
      "required": false,
      "name": "puertaNotificaciones",
      "label": "Puerta",
      "type": "string",
      "description": "Door identifier of the notification domicile, when applicable (track 1).",
      "sourceRef": "p.2 §7, box 610 (AcroForm field dato.100)"
    },
    {
      "required": false,
      "name": "complementoDomicilioNotificaciones",
      "label": "Complemento domicilio",
      "type": "string",
      "description": "Free-text complement to the notification domicile (track 1), same examples as the fiscal-domicile complement above.",
      "sourceRef": "p.2 §7, box 611 (AcroForm field dato.101)"
    },
    {
      "required": false,
      "name": "localidadNotificaciones",
      "label": "Localidad / Población",
      "type": "string",
      "description": "Locality/population center of the notification domicile, only when distinct from the municipality below (track 1).",
      "sourceRef": "p.2 §7, box 612 (AcroForm field dato.102)"
    },
    {
      "required": false,
      "name": "codigoPostalNotificaciones",
      "label": "C. Postal",
      "type": "string",
      "description": "Postal code of the notification domicile (track 1). Not pattern-constrained to 5 digits, unlike the fiscal-domicile postal code: unlike Section 5, Section 7 does not print an 'en España'-only scope note, so a stricter domestic-only pattern was not asserted here.",
      "sourceRef": "p.2 §7, box 614 (AcroForm field dato.103, maxLen 10)"
    },
    {
      "required": false,
      "name": "municipioNotificaciones",
      "label": "Nombre del Municipio",
      "type": "string",
      "description": "Municipality of the notification domicile (track 1).",
      "sourceRef": "p.2 §7, box 615 (AcroForm field dato.104)"
    },
    {
      "required": false,
      "name": "provinciaNotificaciones",
      "label": "Provincia",
      "type": "string",
      "description": "Province of the notification domicile (track 1).",
      "sourceRef": "p.2 §7, box 616 (AcroForm field dato.105)"
    },
    {
      "required": false,
      "name": "destinatarioNotificaciones",
      "label": "Destinatario (si es distinto del declarante)",
      "type": "string",
      "classification": "pii",
      "description": "Name of the notification recipient, only when different from the declarant (track 1).",
      "sourceRef": "p.2 §7, box 620 (AcroForm field dato.106)"
    },
    {
      "required": false,
      "name": "calidadDestinatarioNotificaciones",
      "label": "En calidad de",
      "type": "string",
      "description": "Capacity in which the named recipient acts (e.g. representante, apoderado, familiar), per the source's own examples (track 1).",
      "sourceRef": "p.2 §7, box 621 (AcroForm field dato.107)"
    },
    {
      "required": false,
      "name": "apartadoCorreosNumero",
      "label": "APARTADO DE CORREOS NÚMERO",
      "type": "string",
      "description": "P.O. box number of the notification domicile — track 2) of the two alternative tracks (see tipoViaNotificaciones above).",
      "sourceRef": "p.2 §7, box 622 (AcroForm field dato.108)"
    },
    {
      "required": false,
      "name": "poblacionCiudadApartadoCorreos",
      "label": "Población / Ciudad",
      "type": "string",
      "description": "City/town of the P.O. box (track 2).",
      "sourceRef": "p.2 §7, box 623 (AcroForm field dato.109)"
    },
    {
      "required": false,
      "name": "codigoPostalApartadoCorreos",
      "label": "C. Postal",
      "type": "string",
      "description": "Postal code of the P.O. box (track 2). Tightened to Spain's 5-digit format as a disclosed judgment call, consistent with codigoPostalDomicilioFiscal, since a P.O. box is necessarily a domestic Spanish postal facility.",
      "sourceRef": "p.2 §7, box 624 (AcroForm field dato.110, maxLen 10)",
      "validation": {
        "pattern": "^[0-9]{5}$"
      }
    },
    {
      "required": false,
      "name": "provinciaApartadoCorreos",
      "label": "Provincia",
      "type": "string",
      "description": "Province of the P.O. box (track 2).",
      "sourceRef": "p.2 §7, box 625 (AcroForm field dato.111)"
    },
    {
      "required": false,
      "name": "destinatarioApartadoCorreos",
      "label": "Destinatario (si es distinto del declarante)",
      "type": "string",
      "classification": "pii",
      "description": "Name of the notification recipient at the P.O. box, only when different from the declarant (track 2).",
      "sourceRef": "p.2 §7, box 629 (AcroForm field dato.112)"
    },
    {
      "required": false,
      "name": "calidadDestinatarioApartadoCorreos",
      "label": "En calidad de",
      "type": "string",
      "description": "Capacity in which the named P.O.-box recipient acts (track 2).",
      "sourceRef": "p.2 §7, box 630 (AcroForm field dato.113)"
    },
    {
      "required": false,
      "name": "nifRepresentante",
      "label": "NIF",
      "type": "string",
      "classification": "sensitive-pii",
      "description": "NIF of the legal or voluntary representative acting on the interesado's behalf, when the declaration is filed through a representative.",
      "sourceRef": "p.2 §8 'Representante', box 701 (AcroForm field dato.nif.4)",
      "validation": {
        "pattern": "^([0-9]{8}|[XYZ][0-9]{7})[A-Z]$"
      }
    },
    {
      "required": false,
      "name": "nombreRazonSocialRepresentante",
      "label": "Apellidos y nombre o razón social",
      "type": "string",
      "classification": "pii",
      "description": "Full name (or company name, if the representative is a legal entity) of the representative.",
      "sourceRef": "p.2 §8, box 702 (AcroForm field dato.114)"
    },
    {
      "required": false,
      "name": "representanteResidenteSi",
      "label": "Residente: SÍ",
      "type": "boolean",
      "description": "Checkbox: the representative is a fiscal resident.",
      "sourceRef": "p.2 §8, box 703 'Residente — SÍ' (AcroForm field dato.115)"
    },
    {
      "required": false,
      "name": "representanteResidenteNo",
      "label": "Residente: NO",
      "type": "boolean",
      "description": "Checkbox: the representative is not a fiscal resident.",
      "sourceRef": "p.2 §8, box 703 'Residente — NO' (AcroForm field dato.116)"
    },
    {
      "required": false,
      "name": "representacionLegal",
      "label": "Legal",
      "type": "boolean",
      "description": "Checkbox: the representative acts under legal representation (e.g. parental authority, guardianship).",
      "sourceRef": "p.2 §8 'Causa de la representación', box 704 (AcroForm field dato.117)"
    },
    {
      "required": false,
      "name": "representacionLegalClave",
      "label": "Clave (Legal)",
      "type": "string",
      "description": "Code identifying the specific legal-representation basis, per AEAT's own external code table (not reproduced in this 2-page form).",
      "sourceRef": "p.2 §8, box 705 'Clave' (AcroForm field dato.118)"
    },
    {
      "required": false,
      "name": "representacionVoluntaria",
      "label": "Voluntaria",
      "type": "boolean",
      "description": "Checkbox: the representative acts under voluntary representation (e.g. power of attorney).",
      "sourceRef": "p.2 §8, box 706 (AcroForm field dato.119)"
    },
    {
      "required": false,
      "name": "tipoRepresentacionClave",
      "label": "Tipo de representación — Clave",
      "type": "string",
      "description": "Code identifying the type of representation, per AEAT's own external code table (not reproduced in this form).",
      "sourceRef": "p.2 §8, box 707 (AcroForm field dato.120)"
    },
    {
      "required": false,
      "name": "tituloRepresentacionClave",
      "label": "Título de la representación — Clave",
      "type": "string",
      "description": "Code identifying the document/title evidencing the representation, per AEAT's own external code table (not reproduced in this form).",
      "sourceRef": "p.2 §8, box 708 (AcroForm field dato.121)"
    },
    {
      "required": false,
      "name": "estadoCivilSoltero",
      "label": "Soltero/a",
      "type": "boolean",
      "classification": "pii",
      "description": "Checkbox: current civil status is single.",
      "sourceRef": "p.2 §9 'Estado civil', box 801 (AcroForm field dato.122)"
    },
    {
      "required": false,
      "name": "estadoCivilCasado",
      "label": "Casado/a",
      "type": "boolean",
      "classification": "pii",
      "description": "Checkbox: current civil status is married.",
      "sourceRef": "p.2 §9, box 802 (AcroForm field dato.123)"
    },
    {
      "required": false,
      "name": "estadoCivilViudo",
      "label": "Viudo/a",
      "type": "boolean",
      "classification": "pii",
      "description": "Checkbox: current civil status is widowed.",
      "sourceRef": "p.2 §9, box 803 (AcroForm field dato.124)"
    },
    {
      "required": false,
      "name": "estadoCivilDivorciadoSeparado",
      "label": "Divorciado/a o separado/a legalmente",
      "type": "boolean",
      "classification": "pii",
      "description": "Checkbox: current civil status is divorced or legally separated.",
      "sourceRef": "p.2 §9, box 804 (AcroForm field dato.125)"
    },
    {
      "required": false,
      "name": "fechaAdquisicionEstadoCivilActual",
      "label": "Fecha de adquisición del estado civil actual",
      "type": "date",
      "requiredWhen": {
        "field": "causaCambioEstadoCivilInteresado",
        "equals": true
      },
      "description": "Date the current civil status (checked above) was acquired. The source itself parenthetically scopes this box to '(si se comunica cambio de estado civil)' — only when a civil-status change is being communicated — matched here to the causaCambioEstadoCivilInteresado checkbox in Section 1.",
      "sourceRef": "p.2 §9, box 805 (AcroForm field dato.126, single free-text box, maxLen 10 — not split into day/month/year sub-widgets like the other date fields in this document)"
    },
    {
      "required": false,
      "name": "lugarFirma",
      "label": "En [lugar]",
      "type": "string",
      "description": "Place of signature ('En ___ a ___ de ___ de ___').",
      "sourceRef": "p.2 §10 'Fecha y firma de la declaración' (AcroForm field dato.127)"
    },
    {
      "required": false,
      "name": "fechaFirma",
      "label": "Fecha de la declaración",
      "type": "date",
      "description": "Date of signature. Merged from three adjacent 'a ___ de ___ de ___' (day/month/year) text boxes per this registry's date-merge convention. Judgment call: the day (dato.128) and year (dato.130) sub-boxes carry native maxLen 2/4 (purely numeric), but the month sub-box (dato.129) carries no maxLen at all — unlike every other merged date triple in this document — suggesting the source may expect the month spelled out as a word (e.g. 'julio') rather than a 2-digit number on this specific line; normalized to a single ISO date here regardless, consistent with how this document treats every other split date widget.",
      "sourceRef": "p.2 §10 (AcroForm fields dato.128/dato.129/dato.130, day/month/year)"
    }
  ],
  "exclusivityGroups": [
    {
      "id": "residenciaFiscalInteresado",
      "fields": [
        "residenteFiscalEspanaInteresado",
        "noResidenteFiscalEspanaInteresado"
      ]
    },
    {
      "id": "residenciaFiscalConyuge",
      "fields": [
        "residenteFiscalEspanaConyuge",
        "noResidenteFiscalEspanaConyuge"
      ]
    },
    {
      "id": "estadoCivilActual",
      "fields": [
        "estadoCivilSoltero",
        "estadoCivilCasado",
        "estadoCivilViudo",
        "estadoCivilDivorciadoSeparado"
      ]
    },
    {
      "id": "domicilioExtranjeroTipo",
      "fields": [
        "domicilioFiscalExtranjero",
        "otrosDomiciliosExtranjero"
      ]
    },
    {
      "id": "representanteResidencia",
      "fields": [
        "representanteResidenteSi",
        "representanteResidenteNo"
      ]
    },
    {
      "id": "causaRepresentacion",
      "fields": [
        "representacionLegal",
        "representacionVoluntaria"
      ]
    }
  ]
}
