{
    "uuid": "70577780c0ef19dcc6c28c702e67de6c",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Maintenance appareil cardio fitness",
    "description": "Maintenance préventive d'un appareil cardio en salle de sport ou club fitness (tapis de course, vélo, elliptique, rameur, vélo spinning, stepper) selon NF EN 957\/EN ISO 20957 : sécurité, arrêt d'urgence, capteurs cardiaques, calibration vitesse et inclinaison.",
    "export_date": "2026-05-29 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "fit_exploitant",
            "label": "Exploitant \/ Salle",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom du club, salle ou hôtel",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_adresse",
            "label": "Adresse du site",
            "type": "varchar",
            "size": "200",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Adresse postale",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_zone_salle",
            "label": "Zone \/ Plateau cardio",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Plateau cardio, mezzanine, cours collectifs",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_numero_parc",
            "label": "Numéro de parc",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Identifiant interne machine",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_type_appareil",
            "label": "Type d'appareil",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "tapis_course": "Tapis de course",
                    "velo_droit": "Vélo droit",
                    "velo_semi_allonge": "Vélo semi-allongé",
                    "elliptique": "Elliptique \/ Crosstrainer",
                    "rameur": "Rameur",
                    "spinning": "Vélo spinning",
                    "stepper": "Stepper \/ Climber",
                    "ski_erg": "Ski-Erg",
                    "air_bike": "Air bike (assault)"
                }
            },
            "help": "Type de machine",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "tapis_course",
            "alwayseditable": 0
        },
        {
            "name": "fit_marque_modele",
            "label": "Marque \/ Modèle",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Technogym, Life Fitness, Matrix, Precor, etc.",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_numero_serie",
            "label": "Numéro de série",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "N° de série constructeur",
            "pos": 160,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "fit_heures_compteur",
            "label": "Heures au compteur (h)",
            "type": "int",
            "size": "7",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Heures de fonctionnement cumulées",
            "pos": 170,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "maintenance_preventive": "Maintenance préventive",
                    "controle_periodique": "Contrôle périodique",
                    "depannage": "Dépannage",
                    "remise_en_service": "Remise en service",
                    "maintenance_constructeur": "Maintenance constructeur"
                }
            },
            "help": "Nature de l'intervention",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "maintenance_preventive",
            "alwayseditable": 0
        },
        {
            "name": "verif_structure_chassis",
            "label": "Structure \/ Châssis OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de fissure, fixation au sol stable",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_courroie_tapis",
            "label": "Courroie \/ Tapis OK (alignement, usure)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Spécifique tapis de course",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_lubrification_planche",
            "label": "Lubrification planche tapis OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Silicone fabricant appliqué",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_pedales_sangle",
            "label": "Pédales et sangles OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vélos, elliptique, spinning",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_freinage_resistance",
            "label": "Système de freinage \/ résistance OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Magnétique, électromagnétique, frein air",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_arret_urgence_clip",
            "label": "Arrêt d'urgence \/ Clip de sécurité OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Test arrêt par clip (tapis) ou bouton",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_console_affichage",
            "label": "Console \/ Affichage opérationnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Boutons, écran, vitesse, programmes",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_capteurs_cardiaques",
            "label": "Capteurs cardiaques OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Poignées, ceinture ANT+\/Bluetooth",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_calibration_vitesse",
            "label": "Calibration vitesse \/ inclinaison OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vérification avec radar ou app de référence",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_continuite_pe",
            "label": "Continuité PE OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesure résistance PE",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_nettoyage_hygiene",
            "label": "Nettoyage et hygiène OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Désinfection contacts utilisateur",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_etiquette_norme",
            "label": "Étiquette norme EN 957 \/ EN ISO 20957 présente",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Classe SA, classe S, marquage CE",
            "pos": 410,
            "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 relevés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "pieces_remplacees",
            "label": "Pièces remplacées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Tapis, courroie, planche, console, etc.",
            "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": {
                    "operationnel": "OPÉRATIONNEL",
                    "operationnel_reserve": "OPÉRATIONNEL avec réserves",
                    "hors_service": "HORS SERVICE - retrait usage public"
                }
            },
            "help": "Disponibilité à l'usage public",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "operationnel",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_maintenance",
            "label": "Date prochaine maintenance",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon contrat",
            "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": "SAV constructeur ou prestataire",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Habilitation électrique, formation constructeur",
            "pos": 710,
            "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": "Maintenance appareil cardio fitness",
            "subtitle": "NF EN 957 \/ EN ISO 20957 - sécurité usage public",
            "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": "À archiver dans le dossier machine"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de l'appareil",
                "layout": "two_columns",
                "fields": [
                    "fit_exploitant",
                    "fit_adresse",
                    "fit_zone_salle",
                    "fit_numero_parc",
                    "fit_type_appareil",
                    "fit_marque_modele",
                    "fit_numero_serie",
                    "fit_heures_compteur"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "mecanique",
                "title": "Châssis et organes mobiles",
                "layout": "checklist",
                "fields": [
                    "verif_structure_chassis",
                    "verif_courroie_tapis",
                    "verif_lubrification_planche",
                    "verif_pedales_sangle",
                    "verif_freinage_resistance"
                ]
            },
            {
                "id": "securite",
                "title": "Sécurité et console",
                "layout": "checklist",
                "fields": [
                    "verif_arret_urgence_clip",
                    "verif_console_affichage",
                    "verif_capteurs_cardiaques",
                    "verif_calibration_vitesse",
                    "verif_continuite_pe"
                ]
            },
            {
                "id": "conformite",
                "title": "Hygiène et marquage",
                "layout": "checklist",
                "fields": [
                    "verif_nettoyage_hygiene",
                    "verif_etiquette_norme"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et pièces remplacées",
                "layout": "full_width",
                "fields": ["anomalies_constatees", "pieces_remplacees"]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_maintenance"]
            },
            {
                "id": "signatures",
                "title": "Technicien et exploitant",
                "layout": "signature_block",
                "fields": ["technicien_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "technicien_nom" },
                    { "label": "Signature exploitant", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "fit_exploitant": { "style": "bold" },
            "fit_heures_compteur": { "suffix": " h" },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "operationnel": "#1f8a1f",
                    "operationnel_reserve": "#e69500",
                    "hors_service": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "pieces_remplacees": { "min_height": 30, "show_if_empty": false }
        }
    }
}
