{
    "uuid": "bfc62b57032e91dfbf1bb00b1c53f126",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Carénage annuel d'un bateau",
    "description": "Carénage annuel complet d'un bateau (monocoque, catamaran, semi-rigide, navire à passagers) : sortie d'eau, nettoyage de la coque, antifouling, anodes, hélice, lignes d'arbre et passe-coques.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "car_bateau_nom",
            "label": "Nom du bateau",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom inscrit sur la coque",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_immatriculation",
            "personal_data": 1,
            "label": "Immatriculation",
            "type": "varchar",
            "size": "50",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro d'immatriculation officielle",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_type_bateau",
            "label": "Type de bateau",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "monocoque_voile": "Voilier monocoque",
                    "catamaran": "Catamaran",
                    "semi_rigide": "Semi-rigide (RIB)",
                    "moteur": "Bateau à moteur",
                    "passagers": "Navire à passagers"
                }
            },
            "help": "Catégorie d'unité",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "monocoque_voile",
            "alwayseditable": 0
        },
        {
            "name": "car_longueur_m",
            "label": "Longueur hors-tout (m)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "LOA",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_chantier",
            "label": "Chantier / aire de carénage",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Lieu de l'opération",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_type_sortie_eau",
            "label": "Mode de sortie d'eau",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "grue": "Grue mobile",
                    "elevateur": "Élévateur à sangles",
                    "cale_seche": "Cale sèche",
                    "remorque": "Remorque (mise à terre)",
                    "slipway": "Slipway / rampe"
                }
            },
            "help": "",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "elevateur",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_coque_sf",
            "label": "État coque sous flottaison",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "moyen": "Moyen (salissures)",
                    "mauvais": "Mauvais (osmose, écailles)"
                }
            },
            "help": "Avant nettoyage",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_nettoyage_hp",
            "label": "Nettoyage haute pression réalisé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Décrochage des salissures",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "car_poncage_grattage",
            "label": "Ponçage / grattage réalisé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Préparation avant peinture",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_primaire",
            "label": "État du primaire / époxy",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "a_reprendre": "À reprendre localement",
                    "a_refaire": "À refaire complètement"
                }
            },
            "help": "Sous-couche d'accroche / barrière osmose",
            "pos": 240,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_antifouling_marque",
            "label": "Antifouling appliqué (marque / référence)",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Produit utilisé",
            "pos": 250,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_antifouling_couches",
            "label": "Nombre de couches d'antifouling",
            "type": "int",
            "size": "2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 255,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "2",
            "alwayseditable": 0
        },
        {
            "name": "car_antifouling_surface_m2",
            "label": "Surface antifouling (m2)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Surface traitée",
            "pos": 260,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_anodes",
            "label": "État des anodes sacrificielles",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "neuves": "Neuves",
                    "bonnes": "Bonnes (> 70 %)",
                    "moyennes": "Moyennes (40 à 70 %)",
                    "usees": "Usées (< 40 %)"
                }
            },
            "help": "Avant remplacement",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bonnes",
            "alwayseditable": 0
        },
        {
            "name": "car_type_anodes",
            "label": "Type d'anodes",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "zinc": "Zinc (mer)",
                    "aluminium": "Aluminium (mer / saumâtre)",
                    "magnesium": "Magnésium (eau douce)"
                }
            },
            "help": "Choisir selon milieu",
            "pos": 305,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "aluminium",
            "alwayseditable": 0
        },
        {
            "name": "car_anodes_remplacees",
            "label": "Anodes remplacées",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Remplacement systématique annuel",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_helice",
            "label": "État de l'hélice",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "a_polir": "À polir / dépiqueter",
                    "deformee": "Déformée (à reprendre)",
                    "remplacee": "Remplacée"
                }
            },
            "help": "Pales, équilibrage",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_arbre",
            "label": "État de l'arbre d'hélice",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "jeu_acceptable": "Jeu acceptable",
                    "jeu_excessif": "Jeu excessif (à reprendre)",
                    "deforme": "Déformé"
                }
            },
            "help": "Contrôle linéarité, jeu palier",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_presse_etoupe",
            "label": "État presse-étoupe / joint SailDrive",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "fuite_legere": "Fuite légère acceptable",
                    "fuite_importante": "Fuite importante (à reprendre)",
                    "remplace": "Joint remplacé"
                }
            },
            "help": "Étanchéité passage d'arbre",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_etat_passe_coques",
            "label": "État des passe-coques et vannes",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon",
                    "manoeuvre_dure": "Manoeuvre dure (à graisser)",
                    "fuite": "Fuite constatée",
                    "remplace": "Remplacé"
                }
            },
            "help": "Vannes 1/4 de tour, embases",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "car_etanchéité_globale",
            "label": "Étanchéité globale OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Aucune fuite résiduelle",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "car_observations",
            "label": "Observations",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Notes complémentaires",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_travaux_complementaires",
            "label": "Travaux complémentaires à prévoir",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Préconisations pour la prochaine saison",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_conclusion",
            "label": "Conclusion du carénage",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE à la navigation",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - Travaux préalables requis"
                }
            },
            "help": "Résultat du carénage",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "car_date_remise_eau",
            "label": "Date de remise à l'eau",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_operateur_nom",
            "personal_data": 1,
            "label": "Nom de l'opérateur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Chantier / professionnel",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "car_qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Chantier naval, mécanicien marine",
            "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 carénage annuel",
            "subtitle": "Sortie d'eau, antifouling, anodes, hélice",
            "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 dans le carnet du bord"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification du bateau",
                "layout": "two_columns",
                "fields": [
                    "car_bateau_nom",
                    "car_immatriculation",
                    "car_type_bateau",
                    "car_longueur_m",
                    "car_chantier"
                ]
            },
            {
                "id": "sortie_eau",
                "title": "Sortie d'eau et préparation",
                "layout": "two_columns",
                "fields": [
                    "car_type_sortie_eau",
                    "car_etat_coque_sf",
                    "car_nettoyage_hp",
                    "car_poncage_grattage",
                    "car_etat_primaire"
                ]
            },
            {
                "id": "antifouling",
                "title": "Antifouling appliqué",
                "layout": "two_columns",
                "fields": [
                    "car_antifouling_marque",
                    "car_antifouling_couches",
                    "car_antifouling_surface_m2"
                ]
            },
            {
                "id": "anodes",
                "title": "Anodes sacrificielles",
                "layout": "two_columns",
                "fields": [
                    "car_etat_anodes",
                    "car_type_anodes",
                    "car_anodes_remplacees"
                ]
            },
            {
                "id": "ligne_arbre",
                "title": "Ligne d'arbre, hélice et étanchéité",
                "layout": "two_columns",
                "fields": [
                    "car_etat_helice",
                    "car_etat_arbre",
                    "car_etat_presse_etoupe",
                    "car_etat_passe_coques",
                    "car_etanchéité_globale"
                ]
            },
            {
                "id": "observations",
                "title": "Observations et travaux à prévoir",
                "layout": "full_width",
                "fields": [
                    "car_observations",
                    "car_travaux_complementaires"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["car_conclusion", "car_date_remise_eau"]
            },
            {
                "id": "signatures",
                "title": "Opérateur",
                "layout": "signature_block",
                "fields": ["car_operateur_nom", "car_qualification"],
                "signature_boxes": [
                    { "label": "Signature opérateur", "for_field": "car_operateur_nom" },
                    { "label": "Signature propriétaire", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "car_bateau_nom": { "style": "bold" },
            "car_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "car_observations": { "min_height": 30, "show_if_empty": false },
            "car_travaux_complementaires": { "min_height": 30, "show_if_empty": false },
            "car_longueur_m": { "suffix": " m" },
            "car_antifouling_surface_m2": { "suffix": " m2" }
        }
    }
}
