{
    "uuid": "c95e3bc4966e9713641e6c259e89631d",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle sécurité vélo / trottinette",
    "description": "Contrôle sécurité d'un vélo (classique ou VAE) ou d'une trottinette électrique avant remise en location : freins, éclairage, serrage potence, gonflage, électronique, antivol.",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "vt_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": "vt_site",
            "label": "Site / agence",
            "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": "vt_identifiant_engin",
            "label": "Identifiant engin",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro inventaire interne",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "vt_marquage_bicycode",
            "label": "Marquage BicyCode / FNUCI",
            "type": "varchar",
            "size": "30",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vélos uniquement",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "vt_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": "vt_referent",
            "label": "Référent atelier",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 125,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "vt_type_engin",
            "label": "Type d'engin",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "velo_classique": "Vélo classique",
                    "vae": "VAE (vélo à assistance électrique)",
                    "speedbike": "Speed bike (45 km/h)",
                    "velo_cargo": "Vélo cargo",
                    "trottinette": "Trottinette électrique"
                }
            },
            "help": "Catégorie",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "velo_classique",
            "alwayseditable": 0
        },
        {
            "name": "vt_kilometrage",
            "label": "Kilométrage compteur (km)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Si compteur présent",
            "pos": 205,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "vt_soc_batterie",
            "label": "SOC batterie (%)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pour VAE et trottinette",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_frein_avant",
            "label": "Frein avant fonctionnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Course de levier et puissance d'arrêt",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_frein_arriere",
            "label": "Frein arrière fonctionnel",
            "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": "ctrl_patins_plaquettes",
            "label": "Patins / plaquettes en bon état",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Épaisseur suffisante",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_serrage_potence",
            "label": "Serrage de potence",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vérifier au couple recommandé",
            "pos": 315,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_serrage_selle",
            "label": "Serrage de selle / tige",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_jeu_direction",
            "label": "Jeu de direction OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de point dur ni de jeu",
            "pos": 325,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_roue_voilage",
            "label": "Roues sans voilage",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vrillage latéral acceptable",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_serrage_axes_roues",
            "label": "Serrage axes de roues",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Blocages rapides ou écrous",
            "pos": 335,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_gonflage_pneus",
            "label": "Gonflage pneus à la pression",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon recommandation flanc pneu",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_transmission",
            "label": "Transmission fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pédalier, chaîne, dérailleurs",
            "pos": 345,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_eclairage_avant",
            "label": "Éclairage avant fonctionnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Obligatoire sur voie publique",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_eclairage_arriere",
            "label": "Éclairage arrière fonctionnel",
            "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": "ctrl_catadioptres",
            "label": "Catadioptres présents",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Avant, arrière, latéraux et pédales",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_sonnette_klaxon",
            "label": "Sonnette ou klaxon fonctionnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 365,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_assistance_electrique",
            "label": "Assistance électrique fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pour VAE et trottinette",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_brideur_vitesse",
            "label": "Bridage 25 km/h respecté",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "VAE / trottinette homologuée route",
            "pos": 375,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_console_afficheur",
            "label": "Console / afficheur OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Lisibilité et boutons",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_antivol_present",
            "label": "Antivol fourni avec l'engin",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cadenas U ou chaîne",
            "pos": 385,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ctrl_casque_fourni",
            "label": "Casque fourni au client",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Obligatoire pour - 12 ans à vélo",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "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 défauts",
            "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": "Actions réalisées avant remise en location",
            "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 - Engin conforme",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - Engin immobilisé"
                }
            },
            "help": "Verdict du contrôle",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_verif",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Avant chaque remise en location",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "technicien_nom",
            "personal_data": 1,
            "label": "Nom du technicien",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "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": "Mécanicien cycle, CQP",
            "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 contrôle sécurité vélo / trottinette",
            "subtitle": "Vérification avant remise en location",
            "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": "Document à conserver pour la traçabilité de la flotte"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de l'engin",
                "layout": "two_columns",
                "fields": [
                    "vt_etablissement",
                    "vt_site",
                    "vt_identifiant_engin",
                    "vt_marquage_bicycode",
                    "vt_marque_modele",
                    "vt_referent"
                ]
            },
            {
                "id": "telemetrie",
                "title": "Catégorie et état",
                "layout": "two_columns",
                "fields": [
                    "vt_type_engin",
                    "vt_kilometrage",
                    "vt_soc_batterie"
                ]
            },
            {
                "id": "freinage",
                "title": "Freinage",
                "layout": "checklist",
                "fields": [
                    "ctrl_frein_avant",
                    "ctrl_frein_arriere",
                    "ctrl_patins_plaquettes"
                ]
            },
            {
                "id": "mecanique",
                "title": "Mécanique et serrages",
                "layout": "checklist",
                "fields": [
                    "ctrl_serrage_potence",
                    "ctrl_serrage_selle",
                    "ctrl_jeu_direction",
                    "ctrl_roue_voilage",
                    "ctrl_serrage_axes_roues",
                    "ctrl_gonflage_pneus",
                    "ctrl_transmission"
                ]
            },
            {
                "id": "signalisation",
                "title": "Éclairage et signalisation",
                "layout": "checklist",
                "fields": [
                    "ctrl_eclairage_avant",
                    "ctrl_eclairage_arriere",
                    "ctrl_catadioptres",
                    "ctrl_sonnette_klaxon"
                ]
            },
            {
                "id": "electronique",
                "title": "Électronique et homologation",
                "layout": "checklist",
                "fields": [
                    "ctrl_assistance_electrique",
                    "ctrl_brideur_vitesse",
                    "ctrl_console_afficheur"
                ]
            },
            {
                "id": "equipements_complementaires",
                "title": "Équipements complémentaires",
                "layout": "checklist",
                "fields": [
                    "ctrl_antivol_present",
                    "ctrl_casque_fourni"
                ]
            },
            {
                "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": {
            "vt_etablissement": { "style": "bold" },
            "vt_identifiant_engin": { "style": "bold", "frame": true },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "mesures_correctives": { "min_height": 30, "show_if_empty": false },
            "vt_kilometrage": { "suffix": " km" },
            "vt_soc_batterie": { "suffix": " %" }
        }
    }
}
