{
  "$schema": "https://govschema.org/spec/v0.3/govschema.schema.json",
  "govschemaVersion": "0.3.0",
  "id": "fr/ants/vehicle-registration-certificate",
  "version": "2.0.0",
  "title": "France Vehicle Registration Certificate Application (Cerfa 13750*07, Certificat d'immatriculation)",
  "description": "Apply for, or amend, a French vehicle registration certificate (certificat d'immatriculation, historically called the carte grise) using Cerfa form 13750*07: first-time issue, duplicate, correction, change of the holder's address or civil status, or a change to the vehicle's recorded technical characteristics. Since the 2017 reform, French vehicle-registration formalities are handled online (ANTS's Système d'Immatriculation des Véhicules, immatriculation.ants.gouv.fr, or an approved professional intermediary such as a dealer or registration agent) rather than at a prefecture counter, but the same Cerfa 13750 field set underlies both the paper form and the online service's own data entry. This document models the printed form's own field set (holder, co-holder, lessor/lessee, and vehicle description) rather than the online portal's screen-by-screen flow, which sits behind an authenticated FranceConnect/professional-account session this review could not reach — see VERIFICATION.md.",
  "status": "draft",
  "jurisdiction": {
    "country": "FR",
    "level": "national"
  },
  "authority": {
    "name": "Agence Nationale des Titres Sécurisés (national vehicle registration system operator) / Ministère de l'Intérieur",
    "abbreviation": "ANTS",
    "url": "https://www.ants.gouv.fr"
  },
  "process": {
    "type": "registration",
    "language": "fr"
  },
  "source": {
    "url": "https://www.service-public.fr/particuliers/vosdroits/R13567",
    "retrievedAt": "2026-07-03",
    "documentRef": "Cerfa 13750*07 — 'Demande de certificat d'immatriculation d'un véhicule' (Articles R. 322-1 et suivants du code de la route), published via service-public.fr / Direction de l'information légale et administrative (DILA); form PDF cross-referenced from the DILA-hosted Cerfa mirror and matched by form number/edition against multiple independent mirrors (eplaque.fr, cartegrise.com, préfecture de l'Hérault)."
  },
  "verification": {
    "method": "manual-source-review-v1",
    "lastVerifiedAt": "2026-07-03",
    "verifiedBy": "GovSchema Engineering (Standards Engineer)",
    "nextReviewBy": "2027-01-01",
    "notes": "Authored directly from the official Cerfa 13750*07 PDF's own printed text (extracted with pdfjs-dist getTextContent, position-sorted — the PDF carries no AcroForm/Widget annotations, a static print-and-sign form like AU's NAT 2541 and DE's ESt 1 A), cross-checked against service-public.fr's own guidance page for the form (process steps, required supporting documents, and the Cerfa number/edition). The live online submission channel (ANTS's immatriculation.ants.gouv.fr Système d'Immatriculation des Véhicules) requires an authenticated FranceConnect or professional account this review could not reach, so the field-by-field comparison the practice requires has not been completed against that live screen set — status remains draft. v2.0.0 adds the previously-missed `titleRecipient` field (a distinct checkbox row selecting who receives the certificate, found during GOV-744 review) — see VERIFICATION.md."
  },
  "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-03"
  },
  "license": "CC-BY-4.0",
  "fields": [
    {
      "name": "procedureType",
      "label": "What are you requesting?",
      "type": "enum",
      "required": true,
      "description": "certificat = first-time issue of a registration certificate for this vehicle; duplicata = duplicate of a lost/stolen/damaged certificate; correction = correction of an error on the certificate; changement_domicile = the holder's change of address; changement_etat_civil = change of civil/marital status; changement_caracteristiques_techniques = change to the vehicle's recorded technical characteristics.",
      "sourceRef": "'Veuillez cocher la case correspondante : Certificat / Duplicata / Correction / Changement de domicile / Changement d'état civil ou d'état matrimonial / Changement des caractéristiques techniques du véhicule'",
      "validation": {
        "enum": [
          "certificat",
          "duplicata",
          "correction",
          "changement_domicile",
          "changement_etat_civil",
          "changement_caracteristiques_techniques"
        ]
      }
    },
    {
      "name": "currentRegistrationNumber",
      "label": "(A) Current registration number",
      "type": "string",
      "required": false,
      "description": "Left blank when this is the first-ever registration of a vehicle that has never previously been issued a French plate.",
      "sourceRef": "'(A) Numéro d'immatriculation actuel'"
    },
    {
      "name": "vehiclePurchaseDate",
      "label": "Date of purchase, if applicable",
      "type": "date",
      "required": false,
      "sourceRef": "'Date d'achat, le cas échéant'"
    },
    {
      "name": "currentCertificateIssueDate",
      "label": "(I) Date of the current certificate",
      "type": "date",
      "required": false,
      "sourceRef": "'(I) Date de certificat actuel'"
    },
    {
      "name": "firstRegistrationDate",
      "label": "(B) Date of first registration",
      "type": "date",
      "required": false,
      "sourceRef": "'(B) Date de 1re immatriculation'"
    },
    {
      "name": "certificateFormNumber",
      "label": "Certificate form (formule) number",
      "type": "string",
      "required": false,
      "description": "Only applicable to the new-format certificate; printed on page 1 of the current certificate under the heading 'Certificat d'immatriculation'.",
      "sourceRef": "'Numéro de formule * du certificat d'immatriculation (si nouveau format d'immatriculation. Ce numéro figure sur la 1re page du certificat actuel sous la mention « Certificat d'immatriculation »)'"
    },
    {
      "name": "dominantColor",
      "label": "Dominant colour (COULEUR DOMINANTE)",
      "type": "enum",
      "required": true,
      "sourceRef": "'COULEUR DOMINANTE (Veuillez cocher les cases correspondantes)' — Noir / Jaune / Gris / Marron / Vert / Blanc / Rouge / Bleu / Orange / Beige",
      "validation": {
        "enum": [
          "noir",
          "jaune",
          "gris",
          "marron",
          "vert",
          "blanc",
          "rouge",
          "bleu",
          "orange",
          "beige"
        ]
      }
    },
    {
      "name": "colorShade",
      "label": "Colour shade (Clair / Foncé), if applicable",
      "type": "enum",
      "required": false,
      "description": "A separate light/dark shade checkbox pair printed alongside the ten named colours; the form's own layout does not confirm whether it pairs with one specific colour swatch or is a free-standing modifier, so it is modelled here as an independent optional field — see VERIFICATION.md.",
      "sourceRef": "'Clair' / 'Foncé' checkboxes in the COULEUR DOMINANTE block",
      "validation": {
        "enum": [
          "clair",
          "fonce"
        ]
      }
    },
    {
      "name": "make",
      "label": "Make (Marque, code D.1)",
      "type": "string",
      "required": true,
      "sourceRef": "'Marque (D.1)'"
    },
    {
      "name": "commercialDenomination",
      "label": "Commercial denomination / model (Dénomination commerciale, code D.3)",
      "type": "string",
      "required": false,
      "sourceRef": "'Dénomination commerciale (D.3)'"
    },
    {
      "name": "typeVariantVersion",
      "label": "Type / variant / version (code D.2)",
      "type": "string",
      "required": false,
      "sourceRef": "'Type variante version (D.2)'"
    },
    {
      "name": "vehicleIdentificationNumber",
      "label": "Vehicle identification number (Numéro d'identification du véhicule, code E)",
      "type": "string",
      "required": true,
      "classification": "sensitive-pii",
      "sourceRef": "'Numéro d'identification du véhicule (E)'"
    },
    {
      "name": "nationalVehicleCategory",
      "label": "National vehicle category (Genre national, code J.1)",
      "type": "string",
      "required": true,
      "sourceRef": "'Genre national (J.1)'"
    },
    {
      "name": "agriculturalOperationNumber",
      "label": "Agricultural operation number, if applicable",
      "type": "string",
      "required": false,
      "sourceRef": "'Numéro d'exploitation agricole, le cas échéant'"
    },
    {
      "name": "rentalArrangement",
      "label": "Is the vehicle rented or leased?",
      "type": "enum",
      "required": true,
      "fieldRole": "eligibility",
      "description": "not_applicable = the vehicle is not being placed into a rental/leasing arrangement; long_term_rental = location longue durée; short_term_rental = location courte durée; finance_lease = crédit-bail. Determines whether a LOUEUR (lessor) and/or LOCATAIRE (lessee) block must also be completed.",
      "sourceRef": "'Si véhicule pris en location, cocher la case correspondante : Véhicule en location longue durée / en location courte durée / en crédit-bail'",
      "validation": {
        "enum": [
          "not_applicable",
          "long_term_rental",
          "short_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "holderEntityType",
      "label": "Holder (TITULAIRE) — applicant type",
      "type": "enum",
      "required": true,
      "sourceRef": "'TITULAIRE — Personne physique ou entreprise individuelle' / 'Personne morale'",
      "validation": {
        "enum": [
          "personne_physique",
          "personne_morale"
        ]
      }
    },
    {
      "name": "holderSex",
      "label": "Holder — sex",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "sourceRef": "TITULAIRE — 'Sexe : M ... F ...'",
      "validation": {
        "enum": [
          "M",
          "F"
        ]
      }
    },
    {
      "name": "holderSiret",
      "label": "Holder — SIRET number, if applicable",
      "type": "string",
      "required": false,
      "sourceRef": "TITULAIRE — 'N° SIRET, le cas échéant'"
    },
    {
      "name": "holderBirthName",
      "label": "Holder — birth name (NOM DE NAISSANCE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "holderGivenNames",
      "label": "Holder — given name(s) (PRÉNOM)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "holderCompanyName",
      "label": "Holder — company name (RAISON SOCIALE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_morale"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_morale"
      },
      "sourceRef": "TITULAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "holderUsualName",
      "label": "Holder — usual name (NOM D'USAGE), optional",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'NOM D'USAGE (facultatif) : nom d'époux(se)'"
    },
    {
      "name": "holderDateOfBirth",
      "label": "Holder — date of birth (Né(e) le)",
      "type": "date",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "sensitive-pii",
      "sourceRef": "TITULAIRE — 'Né(e) — Jour / Mois / Année'"
    },
    {
      "name": "holderPlaceOfBirthCommune",
      "label": "Holder — place of birth: commune",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "pii",
      "description": "French birth commune, when born in France.",
      "sourceRef": "TITULAIRE — 'à — Commune'"
    },
    {
      "name": "holderPlaceOfBirthDepartment",
      "label": "Holder — place of birth: département",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "description": "French administrative département of birth, when born in France.",
      "sourceRef": "TITULAIRE — 'à — Département'"
    },
    {
      "name": "holderPlaceOfBirthCountry",
      "label": "Holder — place of birth: country",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "visibleWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'à — Pays'"
    },
    {
      "name": "holderAddressFloorStaircaseApartment",
      "label": "Holder address — floor / staircase / apartment",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'Étage / Escalier / Appartement'"
    },
    {
      "name": "holderAddressBuildingResidence",
      "label": "Holder address — building / residence name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'Immeuble / Résidence / Bâtiment'"
    },
    {
      "name": "holderAddressStreetNumber",
      "label": "Holder address — street number",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'N° de la voie'"
    },
    {
      "name": "holderAddressStreetNumberExtension",
      "label": "Holder address — street number extension (bis, ter...)",
      "type": "string",
      "required": false,
      "sourceRef": "TITULAIRE — Domicile: 'Extension (bis, ter,...)'"
    },
    {
      "name": "holderAddressStreetType",
      "label": "Holder address — street type (avenue, rue, etc.)",
      "type": "string",
      "required": false,
      "sourceRef": "TITULAIRE — Domicile: 'Type de voie (avenue, etc.)'"
    },
    {
      "name": "holderAddressStreetName",
      "label": "Holder address — street name",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'Libellé de voie'"
    },
    {
      "name": "holderAddressLocality",
      "label": "Holder address — locality (lieu-dit / BP), if different from the commune",
      "type": "string",
      "required": false,
      "sourceRef": "TITULAIRE — Domicile: 'Lieu-dit / BP / Localité (si différente de la commune)'"
    },
    {
      "name": "holderAddressPostalCode",
      "label": "Holder address — postal code",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'Code postal'"
    },
    {
      "name": "holderAddressCommune",
      "label": "Holder address — commune (town)",
      "type": "string",
      "required": true,
      "classification": "pii",
      "sourceRef": "TITULAIRE — Domicile: 'Commune'"
    },
    {
      "name": "holderMobilePhone",
      "label": "Holder — mobile phone (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'Tél. portable (recommandé)'"
    },
    {
      "name": "holderEmail",
      "label": "Holder — email (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "TITULAIRE — 'Mél (recommandé)'"
    },
    {
      "name": "hasCoHolder",
      "label": "Is there more than one holder (multi-propriété)?",
      "type": "boolean",
      "required": true,
      "fieldRole": "eligibility",
      "description": "Gates the CO-TITULAIRE block. The form additionally asks for a headcount when more than two people jointly hold the certificate; only one co-holder's identity fits on this page, so 3+ joint holders require a supplementary annex not modelled here — see VERIFICATION.md.",
      "sourceRef": "'Dans le cas de multi-propriété, veuillez indiquer le nombre de personnes titulaires du certificat d'immatriculation'"
    },
    {
      "name": "multiOwnerCount",
      "label": "Number of joint holders (if multi-propriété)",
      "type": "integer",
      "required": false,
      "requiredWhen": {
        "field": "hasCoHolder",
        "equals": true
      },
      "visibleWhen": {
        "field": "hasCoHolder",
        "equals": true
      },
      "sourceRef": "'Dans le cas de multi-propriété, veuillez indiquer le nombre de personnes titulaires du certificat d'immatriculation'"
    },
    {
      "name": "coHolderEntityType",
      "label": "CO-TITULAIRE (co-holder) — applicant type",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "field": "hasCoHolder",
        "equals": true
      },
      "visibleWhen": {
        "field": "hasCoHolder",
        "equals": true
      },
      "description": "personne_physique = a private individual or sole proprietor (entreprise individuelle); personne_morale = a company or other legal entity.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'Personne physique ou entreprise individuelle' / 'Personne morale'",
      "validation": {
        "enum": [
          "personne_physique",
          "personne_morale"
        ]
      }
    },
    {
      "name": "coHolderSex",
      "label": "CO-TITULAIRE (co-holder) — sex",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "description": "Printed as 'Sexe : M / F' on the form, asked only for a personne physique.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'Sexe : M ... F ...'",
      "validation": {
        "enum": [
          "M",
          "F"
        ]
      }
    },
    {
      "name": "coHolderSiret",
      "label": "CO-TITULAIRE (co-holder) — SIRET number, if applicable",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "hasCoHolder",
        "equals": true
      },
      "description": "France's 14-digit business establishment identifier (SIRET). The form marks this 'le cas échéant' (as applicable) even for a personne physique operating as an entreprise individuelle.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'N° SIRET, le cas échéant'"
    },
    {
      "name": "coHolderBirthName",
      "label": "CO-TITULAIRE (co-holder) — birth name (NOM DE NAISSANCE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "description": "Legal birth surname, for a personne physique.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "coHolderGivenNames",
      "label": "CO-TITULAIRE (co-holder) — given name(s) (PRÉNOM)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "description": "Given name(s), for a personne physique.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "coHolderCompanyName",
      "label": "CO-TITULAIRE (co-holder) — company name (RAISON SOCIALE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "description": "Registered company/legal-entity name, for a personne morale.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "coHolderUsualName",
      "label": "CO-TITULAIRE (co-holder) — usual name (NOM D'USAGE), optional",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "all": [
          {
            "field": "hasCoHolder",
            "equals": true
          },
          {
            "field": "coHolderEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "description": "Optional married/usual name, distinct from the legal birth name, e.g. a spouse's name adopted in daily use.",
      "sourceRef": "CO-TITULAIRE (co-holder) — 'NOM D'USAGE (facultatif) : nom d'époux(se)'"
    },
    {
      "name": "lessorEntityType",
      "label": "LOUEUR (lessor) — applicant type",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "description": "personne_physique = a private individual or sole proprietor; personne_morale = a company or other legal entity. Applies to any rental or crédit-bail arrangement.",
      "sourceRef": "LOUEUR (en cas de location ou crédit-bail) — 'Personne physique ou entreprise individuelle' / 'Personne morale'",
      "validation": {
        "enum": [
          "personne_physique",
          "personne_morale"
        ]
      }
    },
    {
      "name": "lessorSex",
      "label": "LOUEUR — sex",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "sourceRef": "LOUEUR — 'Sexe : M ... F ...'",
      "validation": {
        "enum": [
          "M",
          "F"
        ]
      }
    },
    {
      "name": "lessorSiret",
      "label": "LOUEUR — SIRET number, if applicable",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "sourceRef": "LOUEUR — 'N° SIRET, le cas échéant'"
    },
    {
      "name": "lessorBirthName",
      "label": "LOUEUR — birth name (NOM DE NAISSANCE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOUEUR — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE'"
    },
    {
      "name": "lessorGivenNames",
      "label": "LOUEUR — given name(s) (PRÉNOM)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOUEUR — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE'"
    },
    {
      "name": "lessorCompanyName",
      "label": "LOUEUR — company name (RAISON SOCIALE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "sourceRef": "LOUEUR — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "lessorUsualName",
      "label": "LOUEUR — usual name (NOM D'USAGE), optional",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "notEquals": "not_applicable"
          },
          {
            "field": "lessorEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOUEUR — 'NOM D'USAGE (facultatif): nom d'époux (se)'"
    },
    {
      "name": "lessorAddressFloorStaircaseApartment",
      "label": "LOUEUR (lessor) address — floor / staircase / apartment",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Étage / Escalier / Appartement'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressBuildingResidence",
      "label": "LOUEUR (lessor) address — building / residence name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Immeuble / Résidence / Bâtiment'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressStreetNumber",
      "label": "LOUEUR (lessor) address — street number",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'N° de la voie'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressStreetNumberExtension",
      "label": "LOUEUR (lessor) address — street number extension (bis, ter...)",
      "type": "string",
      "required": false,
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Extension (bis, ter,...)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressStreetType",
      "label": "LOUEUR (lessor) address — street type (avenue, rue, etc.)",
      "type": "string",
      "required": false,
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Type de voie (avenue, etc.)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressStreetName",
      "label": "LOUEUR (lessor) address — street name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Libellé de voie'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressLocality",
      "label": "LOUEUR (lessor) address — locality (lieu-dit / BP), if different from the commune",
      "type": "string",
      "required": false,
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Lieu-dit / BP / Localité (si différente de la commune)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressPostalCode",
      "label": "LOUEUR (lessor) address — postal code",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Code postal'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorAddressCommune",
      "label": "LOUEUR (lessor) address — commune (town)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — Domicile: 'Commune'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorMobilePhone",
      "label": "LOUEUR (lessor) — mobile phone (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — 'Tél. portable (recommandé)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lessorEmail",
      "label": "LOUEUR (lessor) — email (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOUEUR (lessor) — 'Mél (recommandé)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "notEquals": "not_applicable"
      }
    },
    {
      "name": "lesseeEntityType",
      "label": "LOCATAIRE (lessee) — applicant type",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "description": "Applies only when the rental arrangement is long-term (location longue durée) or a finance lease (crédit-bail) — not for short-term rental.",
      "sourceRef": "LOCATAIRE (en cas de location longue durée ou crédit-bail) — 'Personne physique ou entreprise individuelle' / 'Personne morale'",
      "validation": {
        "enum": [
          "personne_physique",
          "personne_morale"
        ]
      }
    },
    {
      "name": "lesseeSex",
      "label": "LOCATAIRE — sex",
      "type": "enum",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "sourceRef": "LOCATAIRE — 'Sexe : M ... F ...'",
      "validation": {
        "enum": [
          "M",
          "F"
        ]
      }
    },
    {
      "name": "lesseeSiret",
      "label": "LOCATAIRE — SIRET number, if applicable",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "sourceRef": "LOCATAIRE — 'N° SIRET, le cas échéant'"
    },
    {
      "name": "lesseeBirthName",
      "label": "LOCATAIRE — birth name (NOM DE NAISSANCE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOCATAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE'"
    },
    {
      "name": "lesseeGivenNames",
      "label": "LOCATAIRE — given name(s) (PRÉNOM)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOCATAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE'"
    },
    {
      "name": "lesseeCompanyName",
      "label": "LOCATAIRE — company name (RAISON SOCIALE)",
      "type": "string",
      "required": false,
      "requiredWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_morale"
          }
        ]
      },
      "sourceRef": "LOCATAIRE — 'NOM DE NAISSANCE et PRÉNOM ou RAISON SOCIALE pour une personne morale'"
    },
    {
      "name": "lesseeUsualName",
      "label": "LOCATAIRE — usual name (NOM D'USAGE), optional",
      "type": "string",
      "required": false,
      "visibleWhen": {
        "all": [
          {
            "field": "rentalArrangement",
            "in": [
              "long_term_rental",
              "finance_lease"
            ]
          },
          {
            "field": "lesseeEntityType",
            "equals": "personne_physique"
          }
        ]
      },
      "classification": "pii",
      "sourceRef": "LOCATAIRE — 'NOM D'USAGE (facultatif): nom d'époux (se)'"
    },
    {
      "name": "lesseeAddressFloorStaircaseApartment",
      "label": "LOCATAIRE (lessee) address — floor / staircase / apartment",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Étage / Escalier / Appartement'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressBuildingResidence",
      "label": "LOCATAIRE (lessee) address — building / residence name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Immeuble / Résidence / Bâtiment'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressStreetNumber",
      "label": "LOCATAIRE (lessee) address — street number",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'N° de la voie'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressStreetNumberExtension",
      "label": "LOCATAIRE (lessee) address — street number extension (bis, ter...)",
      "type": "string",
      "required": false,
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Extension (bis, ter,...)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressStreetType",
      "label": "LOCATAIRE (lessee) address — street type (avenue, rue, etc.)",
      "type": "string",
      "required": false,
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Type de voie (avenue, etc.)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressStreetName",
      "label": "LOCATAIRE (lessee) address — street name",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Libellé de voie'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressLocality",
      "label": "LOCATAIRE (lessee) address — locality (lieu-dit / BP), if different from the commune",
      "type": "string",
      "required": false,
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Lieu-dit / BP / Localité (si différente de la commune)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressPostalCode",
      "label": "LOCATAIRE (lessee) address — postal code",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Code postal'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeAddressCommune",
      "label": "LOCATAIRE (lessee) address — commune (town)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — Domicile: 'Commune'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      },
      "requiredWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeMobilePhone",
      "label": "LOCATAIRE (lessee) — mobile phone (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — 'Tél. portable (recommandé)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "lesseeEmail",
      "label": "LOCATAIRE (lessee) — email (recommended)",
      "type": "string",
      "required": false,
      "classification": "pii",
      "sourceRef": "LOCATAIRE (lessee) — 'Mél (recommandé)'",
      "visibleWhen": {
        "field": "rentalArrangement",
        "in": [
          "long_term_rental",
          "finance_lease"
        ]
      }
    },
    {
      "name": "optOutOfCommercialDataReuse",
      "label": "I object to my personal data being reused for commercial prospecting",
      "type": "boolean",
      "required": false,
      "sourceRef": "'Je m'oppose à la réutilisation de mes données personnelles à des fins de prospection commerciale** : Oui / Non'"
    },
    {
      "name": "titleDeliveryMethod",
      "label": "How should the certificate be sent?",
      "type": "enum",
      "required": true,
      "sourceRef": "'Mode d'expédition du titre : Voie postale / Retrait à l'Imprimerie Nationale'",
      "validation": {
        "enum": [
          "postal",
          "pickup_imprimerie_nationale"
        ]
      }
    },
    {
      "name": "titleRecipient",
      "label": "Who receives the certificate?",
      "type": "enum",
      "required": true,
      "description": "Selects the party the certificate is delivered to — distinct from `titleDeliveryMethod`, which only selects how (postal vs. pickup). Only meaningful values are `lessor`/`lessee` when a LOUEUR/LOCATAIRE block exists on this application; see `crossFieldValidation`.",
      "sourceRef": "'Le titulaire / Le loueur / Le locataire' (checkbox row printed directly beneath 'Mode d'expédition du titre')",
      "validation": {
        "enum": [
          "holder",
          "lessor",
          "lessee"
        ]
      }
    }
  ],
  "crossFieldValidation": [
    {
      "id": "titleRecipientLessorRequiresLessorBlock",
      "when": {
        "field": "titleRecipient",
        "equals": "lessor"
      },
      "requirePresent": [
        "lessorEntityType"
      ]
    },
    {
      "id": "titleRecipientLesseeRequiresLesseeBlock",
      "when": {
        "field": "titleRecipient",
        "equals": "lessee"
      },
      "requirePresent": [
        "lesseeEntityType"
      ]
    }
  ],
  "documents": [
    {
      "id": "identityProof",
      "label": "Proof of identity",
      "category": "identity-document",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_physique"
      },
      "belongsTo": "applicant",
      "issuingAuthority": "Any accepted French/EU government identity document",
      "sourceRef": "service-public.fr — 'Documents à préparer: ... Justificatif d'identité ... si le demandeur est une personne physique'"
    },
    {
      "id": "kbisExtract",
      "label": "Extrait KBis (company registration extract)",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "holderEntityType",
        "equals": "personne_morale"
      },
      "belongsTo": "applicant",
      "issuingAuthority": "Greffe du tribunal de commerce",
      "sourceRef": "service-public.fr — 'Documents à préparer: ... extrait KBis ... si le demandeur est une personne morale'"
    },
    {
      "id": "priorRegistrationCertificate",
      "label": "Existing vehicle registration certificate (certificat d'immatriculation), when one already exists",
      "category": "supporting-evidence",
      "required": false,
      "requiredWhen": {
        "field": "procedureType",
        "notEquals": "certificat"
      },
      "belongsTo": "applicant",
      "sourceRef": "service-public.fr — 'Documents à préparer: Certificat d'immatriculation'"
    },
    {
      "id": "signature",
      "label": "Signed, dated form",
      "category": "attestation",
      "required": true,
      "belongsTo": "applicant",
      "sourceRef": "Form footer — 'Fait à : ... Le : ...' / 'Signature :' (and, for a company, the name/capacity of the signatory and company seal)"
    }
  ],
  "steps": [
    {
      "id": "procedure_and_prior_document",
      "title": "What you are requesting, and the current certificate",
      "fields": [
        "procedureType",
        "currentRegistrationNumber",
        "vehiclePurchaseDate",
        "currentCertificateIssueDate",
        "firstRegistrationDate",
        "certificateFormNumber"
      ]
    },
    {
      "id": "vehicle_details",
      "title": "Vehicle description",
      "fields": [
        "dominantColor",
        "colorShade",
        "make",
        "commercialDenomination",
        "typeVariantVersion",
        "vehicleIdentificationNumber",
        "nationalVehicleCategory",
        "agriculturalOperationNumber",
        "rentalArrangement"
      ]
    },
    {
      "id": "holder_identity",
      "title": "Holder (titulaire) identity",
      "fields": [
        "holderEntityType",
        "holderSex",
        "holderSiret",
        "holderBirthName",
        "holderGivenNames",
        "holderCompanyName",
        "holderUsualName",
        "holderDateOfBirth",
        "holderPlaceOfBirthCommune",
        "holderPlaceOfBirthDepartment",
        "holderPlaceOfBirthCountry"
      ]
    },
    {
      "id": "holder_address",
      "title": "Holder (titulaire) address and contact",
      "fields": [
        "holderAddressFloorStaircaseApartment",
        "holderAddressBuildingResidence",
        "holderAddressStreetNumber",
        "holderAddressStreetNumberExtension",
        "holderAddressStreetType",
        "holderAddressStreetName",
        "holderAddressLocality",
        "holderAddressPostalCode",
        "holderAddressCommune",
        "holderMobilePhone",
        "holderEmail",
        "hasCoHolder",
        "multiOwnerCount"
      ]
    },
    {
      "id": "co_holder",
      "title": "Co-holder (co-titulaire), if there is more than one holder",
      "fields": [
        "coHolderEntityType",
        "coHolderSex",
        "coHolderSiret",
        "coHolderBirthName",
        "coHolderGivenNames",
        "coHolderCompanyName",
        "coHolderUsualName"
      ]
    },
    {
      "id": "lessor_details",
      "title": "Lessor (loueur), if the vehicle is rented or leased",
      "fields": [
        "lessorEntityType",
        "lessorSex",
        "lessorSiret",
        "lessorBirthName",
        "lessorGivenNames",
        "lessorCompanyName",
        "lessorUsualName",
        "lessorAddressFloorStaircaseApartment",
        "lessorAddressBuildingResidence",
        "lessorAddressStreetNumber",
        "lessorAddressStreetNumberExtension",
        "lessorAddressStreetType",
        "lessorAddressStreetName",
        "lessorAddressLocality",
        "lessorAddressPostalCode",
        "lessorAddressCommune",
        "lessorMobilePhone",
        "lessorEmail"
      ]
    },
    {
      "id": "lessee_details",
      "title": "Lessee (locataire), for long-term rental or crédit-bail",
      "fields": [
        "lesseeEntityType",
        "lesseeSex",
        "lesseeSiret",
        "lesseeBirthName",
        "lesseeGivenNames",
        "lesseeCompanyName",
        "lesseeUsualName",
        "lesseeAddressFloorStaircaseApartment",
        "lesseeAddressBuildingResidence",
        "lesseeAddressStreetNumber",
        "lesseeAddressStreetNumberExtension",
        "lesseeAddressStreetType",
        "lesseeAddressStreetName",
        "lesseeAddressLocality",
        "lesseeAddressPostalCode",
        "lesseeAddressCommune",
        "lesseeMobilePhone",
        "lesseeEmail"
      ]
    },
    {
      "id": "delivery_and_consent",
      "title": "Data-reuse preference and delivery",
      "fields": [
        "optOutOfCommercialDataReuse",
        "titleDeliveryMethod",
        "titleRecipient"
      ]
    }
  ]
}
