{
    "uuid": "bc17ddefcab44c5db71a5378df12ae68",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle pré-vol parapente",
    "description": "Inspection visuelle et fonctionnelle avant chaque vol : voile (coutures, suspentes, maillons, élévateurs), sellette (boucles, sangles, protection dorsale), accessibilité et état de la poignée de secours, casque. Confirme l'aptitude au vol du matériel. Standard de sécurité FFVL, sans valeur réglementaire obligatoire.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "pvol_pilote",
            "label": "Nom du pilote",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "pvol_date_heure",
            "label": "Date et heure du contrôle",
            "type": "datetime",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Horodatage du contrôle avant vol",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "pvol_site",
            "label": "Site de vol / décollage",
            "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": "pvol_aile_identifiee",
            "label": "Aile contrôlée",
            "type": "varchar",
            "size": "120",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Modèle et numéro de série de l'aile",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "pvol_type",
            "label": "Type de contrôle",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "standard": "Pré-vol standard",
                    "reprise": "Reprise après stockage",
                    "materiel_emprunte": "Matériel emprunté / école"
                }
            },
            "help": "",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "standard",
            "alwayseditable": 0
        },
        {
            "name": "pvol_voile_tissu",
            "label": "Voile : tissu sans déchirure ni usure anormale",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_voile_coutures",
            "label": "Coutures intactes",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_suspentes",
            "label": "Suspentes : pas de brins coupés, noeuds ou usure",
            "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": "pvol_maillons",
            "label": "Maillons / connecteurs serrés, acier sur la liaison écarteur",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_elevateurs",
            "label": "Élévateurs et commandes (freins) libres et en bon état",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_sellette_boucles",
            "label": "Boucles de sellette fonctionnelles et verrouillables",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_sellette_sangles",
            "label": "Sangles et protection dorsale en bon état",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_secours_accessible",
            "label": "Poignée de secours accessible et correctement goupillée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_secours_echeance",
            "label": "Échéance de repliage du secours non dépassée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_casque",
            "label": "Casque présent, jugulaire et boucle OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "pvol_anomalies",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "pvol_aptitude",
            "label": "Aptitude au vol",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE au vol",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - vol annulé"
                }
            },
            "help": "",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "pvol_signature",
            "personal_data": 1,
            "label": "Nom et signature du pilote",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.1",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": {
                "top": 20,
                "right": 15,
                "bottom": 20,
                "left": 15
            },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Contrôle pré-vol parapente",
            "subtitle": "Contrôle avant chaque vol",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Document généré via schemas.cap-rel.fr"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification",
                "layout": "two_columns",
                "fields": [
                    "pvol_pilote",
                    "pvol_date_heure",
                    "pvol_site",
                    "pvol_aile_identifiee"
                ]
            },
            {
                "id": "type",
                "title": "Type de contrôle",
                "layout": "single_column",
                "fields": [
                    "pvol_type"
                ]
            },
            {
                "id": "controles",
                "title": "Points de contrôle",
                "layout": "checklist",
                "fields": [
                    "pvol_voile_tissu",
                    "pvol_voile_coutures",
                    "pvol_suspentes",
                    "pvol_maillons",
                    "pvol_elevateurs",
                    "pvol_sellette_boucles",
                    "pvol_sellette_sangles",
                    "pvol_secours_accessible",
                    "pvol_secours_echeance",
                    "pvol_casque"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies",
                "layout": "full_width",
                "fields": [
                    "pvol_anomalies"
                ]
            },
            {
                "id": "conclusion",
                "title": "Aptitude au vol",
                "layout": "highlight_box",
                "fields": [
                    "pvol_aptitude"
                ]
            },
            {
                "id": "signatures",
                "title": "Pilote",
                "layout": "signature_block",
                "fields": [
                    "pvol_signature"
                ],
                "signature_boxes": [
                    {
                        "label": "Signature du pilote",
                        "for_field": "pvol_signature"
                    }
                ]
            }
        ],
        "field_render": {
            "pvol_pilote": {
                "style": "bold"
            },
            "pvol_aptitude": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "pvol_anomalies": {
                "min_height": 30,
                "show_if_empty": false
            }
        }
    }
}
