{
    "uuid": "2281f8ec6078a07236d260d5da04fbd7",
    "elementtype": "fichinter",
    "schema_kind": "intervention",
    "title": "Fiche d'intervention - Révision périodique véhicule",
    "description": "Suivi du plan d'entretien constructeur d'un véhicule : vidange, filtres, freins, distribution, plaquettes, niveaux. Garantit le respect des préconisations et la couverture garantie.",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "rev_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Atelier ou agence de location",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_site",
            "label": "Site / atelier",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_identifiant_vehicule",
            "label": "Identifiant véhicule",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro d'inventaire interne",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_immatriculation",
            "label": "Immatriculation",
            "type": "varchar",
            "size": "20",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_marque_modele",
            "label": "Marque et modèle",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_referent",
            "label": "Référent atelier",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Responsable de l'opération",
            "pos": 125,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_type_revision",
            "label": "Type de révision",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "petite_revision": "Petite révision (vidange)",
                    "grande_revision": "Grande révision",
                    "revision_distribution": "Révision avec distribution",
                    "preparation_ct": "Préparation contrôle technique",
                    "revision_constructeur": "Révision constructeur planifiée"
                }
            },
            "help": "",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "petite_revision",
            "alwayseditable": 0
        },
        {
            "name": "rev_kilometrage_actuel",
            "label": "Kilométrage actuel",
            "type": "int",
            "size": "7",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Compteur en km",
            "pos": 205,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_kilometrage_precedent",
            "label": "Kilométrage révision précédente",
            "type": "int",
            "size": "7",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "rev_date_prochaine_km",
            "label": "Kilométrage prochaine révision",
            "type": "int",
            "size": "7",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon plan constructeur",
            "pos": 215,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ope_vidange_moteur",
            "label": "Vidange moteur effectuée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Huile moteur remplacée",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_filtre_huile",
            "label": "Filtre à huile remplacé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 305,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_filtre_air",
            "label": "Filtre à air remplacé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "ope_filtre_habitacle",
            "label": "Filtre habitacle remplacé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 315,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "ope_filtre_carburant",
            "label": "Filtre à carburant remplacé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "ope_distribution",
            "label": "Distribution remplacée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Courroie ou chaîne de distribution",
            "pos": 325,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "ope_plaquettes_avant",
            "label": "Plaquettes de frein avant",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "ok": "OK - bonne épaisseur",
                    "surveillance": "A surveiller",
                    "remplacees": "Remplacées",
                    "non_concerne": "Non concerné"
                }
            },
            "help": "",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "ok",
            "alwayseditable": 0
        },
        {
            "name": "ope_plaquettes_arriere",
            "label": "Plaquettes de frein arrière",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "ok": "OK - bonne épaisseur",
                    "surveillance": "A surveiller",
                    "remplacees": "Remplacées",
                    "non_concerne": "Non concerné"
                }
            },
            "help": "",
            "pos": 335,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "ok",
            "alwayseditable": 0
        },
        {
            "name": "ope_disques_avant",
            "label": "Disques de frein avant",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "ok": "OK",
                    "surveillance": "A surveiller",
                    "remplaces": "Remplacés"
                }
            },
            "help": "",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "ok",
            "alwayseditable": 0
        },
        {
            "name": "ope_liquide_frein",
            "label": "Liquide de frein contrôlé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesure d'humidité",
            "pos": 345,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_liquide_refroidissement",
            "label": "Liquide de refroidissement contrôlé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Niveau et densité",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_lave_glace",
            "label": "Lave-glace complété",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 355,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_balais_essuie_glace",
            "label": "Balais essuie-glace",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "ok": "OK",
                    "remplaces": "Remplacés",
                    "a_remplacer": "A remplacer"
                }
            },
            "help": "",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "ok",
            "alwayseditable": 0
        },
        {
            "name": "ope_batterie_demarrage",
            "label": "Batterie démarrage testée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Test de charge",
            "pos": 365,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_eclairage_signalisation",
            "label": "Éclairage et signalisation OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Phares, clignotants, stops, plaque",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_diagnostic_obd",
            "label": "Diagnostic OBD effectué",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Effacement des codes défaut",
            "pos": 375,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ope_reset_compteur_revision",
            "label": "Indicateur de service remis à zéro",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Reset Service Interval",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "anomalies_constatees",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description des défauts trouvés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "mesures_correctives",
            "label": "Mesures correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Travaux complémentaires réalisés ou recommandés",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE - Conforme plan d'entretien",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - Immobilisation requise"
                }
            },
            "help": "Verdict de la révision",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_verif",
            "label": "Date prochaine révision",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon plan constructeur",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "technicien_nom",
            "label": "Nom du technicien",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mécanicien qui a réalisé la révision",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Qualification atelier",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Agréé constructeur, indépendant...",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.0",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Fiche de révision périodique véhicule",
            "subtitle": "Plan d'entretien constructeur",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Document généré via schemas.cap-rel.fr",
            "legal_mentions": "À conserver pour la garantie constructeur et le suivi flotte"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification du véhicule",
                "layout": "two_columns",
                "fields": [
                    "rev_etablissement",
                    "rev_site",
                    "rev_identifiant_vehicule",
                    "rev_immatriculation",
                    "rev_marque_modele",
                    "rev_referent"
                ]
            },
            {
                "id": "operation",
                "title": "Type d'opération et kilométrage",
                "layout": "two_columns",
                "fields": [
                    "rev_type_revision",
                    "rev_kilometrage_actuel",
                    "rev_kilometrage_precedent",
                    "rev_date_prochaine_km"
                ]
            },
            {
                "id": "operations_mecaniques",
                "title": "Opérations mécaniques",
                "layout": "checklist",
                "fields": [
                    "ope_vidange_moteur",
                    "ope_filtre_huile",
                    "ope_filtre_air",
                    "ope_filtre_habitacle",
                    "ope_filtre_carburant",
                    "ope_distribution"
                ]
            },
            {
                "id": "freinage_niveaux",
                "title": "Freinage et niveaux",
                "layout": "two_columns",
                "fields": [
                    "ope_plaquettes_avant",
                    "ope_plaquettes_arriere",
                    "ope_disques_avant",
                    "ope_liquide_frein",
                    "ope_liquide_refroidissement",
                    "ope_lave_glace"
                ]
            },
            {
                "id": "consommables_diagnostic",
                "title": "Consommables et diagnostic",
                "layout": "checklist",
                "fields": [
                    "ope_balais_essuie_glace",
                    "ope_batterie_demarrage",
                    "ope_eclairage_signalisation",
                    "ope_diagnostic_obd",
                    "ope_reset_compteur_revision"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "anomalies_constatees",
                    "mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_verif"]
            },
            {
                "id": "signatures",
                "title": "Technicien",
                "layout": "signature_block",
                "fields": ["technicien_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "technicien_nom" },
                    { "label": "Cachet atelier", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "rev_etablissement": { "style": "bold" },
            "rev_immatriculation": { "style": "bold", "frame": true },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 40, "show_if_empty": false },
            "mesures_correctives": { "min_height": 40, "show_if_empty": false },
            "rev_kilometrage_actuel": { "suffix": " km" },
            "rev_kilometrage_precedent": { "suffix": " km" },
            "rev_date_prochaine_km": { "suffix": " km" }
        }
    }
}
