{
    "uuid": "32609740db1ae2de27478776c840c8de",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle machine à glaçons",
    "description": "Contrôle et hygiène d'une machine à glaçons : nettoyage, détartrage, désinfection (risque biofilm et légionelle), filtre à eau, évaporateur, bac de stockage, qualité de l'eau",
    "export_date": "2026-05-31 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "ig_etablissement",
            "label": "Établissement",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom et adresse",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_marque",
            "label": "Marque",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Constructeur",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_modele",
            "label": "Modèle",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Référence",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_num_serie",
            "label": "N de série",
            "type": "varchar",
            "size": "50",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Identifiant machine",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_type_glacons",
            "label": "Type de glaçons produits",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "cube": "Cubes pleins",
                    "cube_creux": "Cubes creux",
                    "ecrase": "Glacons écrasés / paillettes",
                    "nugget": "Nuggets",
                    "baton": "Batons cylindriques"
                }
            },
            "help": "Forme de production",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "cube",
            "alwayseditable": 0
        },
        {
            "name": "ig_production_jour",
            "label": "Production nominale (kg/j)",
            "type": "varchar",
            "size": "20",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Capacité de production journalière",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_type_intervention",
            "label": "Type d'intervention",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "controle_hygiene": "Controle hygiène périodique",
                    "nettoyage_detartrage": "Nettoyage et détartrage",
                    "desinfection": "Désinfection approfondie",
                    "apres_panne": "Apres panne ou arrêt prolongé"
                }
            },
            "help": "Nature de l'intervention",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "controle_hygiene",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_filtre_eau",
            "label": "Filtre à eau remplacé ou vérifié",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon préconisation fabricant",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_evaporateur",
            "label": "Évaporateur propre, sans tartre ni biofilm",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Surface de congélation détartrée",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_bac_stockage",
            "label": "Bac de stockage propre et désinfecté",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Absence de dépots, moisissures, odeurs",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_circuit_eau",
            "label": "Circuit d'eau interne nettoyé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Tuyauteries, pompe, distributeur",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable 0": 0,
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_qualite_eau",
            "label": "Qualité de l'eau conforme",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "TH, pH, absence de légionelles si test effectué",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_condenseur",
            "label": "Condenseur nettoyé (ailettes, ventilateur)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Absence de poussière obstruant les ailettes",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_verif_pelle_glacons",
            "label": "Pelle ou accessoire de manipulation propre",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pelle en matière alimentaire, stockée hors bac",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "ig_th_eau",
            "label": "Dureté de l'eau (TH en degF ou ppm)",
            "type": "varchar",
            "size": "20",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesure sur site",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_produit_desinfectant",
            "label": "Produit désinfectant utilisé",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom commercial et dosage",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_anomalies",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description des défauts observés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_mesures_correctives",
            "label": "Mesures correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Actions réalisées ou préconisées",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE - Hygiène conforme",
                    "apte_reserve": "APTE avec réserves - Ecart a corriger",
                    "inapte": "INAPTE - Non-conformité hygiène, arrêt immédiat"
                }
            },
            "help": "Résultat du contrôle",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "ig_date_prochain",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon plan HACCP ou fréquence fabricant",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_verificateur",
            "personal_data": 1,
            "label": "Nom du technicien",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Intervenant",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "ig_qualification",
            "label": "Qualification",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Habilitation ou formation hygiène alimentaire",
            "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": "Contrôle hygiène machine à glaçons",
            "subtitle": "Nettoyage - Détartrage - Désinfection",
            "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 plan HACCP de l'établissement"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification de l'équipement",
                "layout": "two_columns",
                "fields": [
                    "ig_etablissement",
                    "ig_marque",
                    "ig_modele",
                    "ig_num_serie",
                    "ig_type_glacons",
                    "ig_production_jour"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["ig_type_intervention"]
            },
            {
                "id": "hygiene",
                "title": "Contrôle hygiène",
                "layout": "checklist",
                "fields": [
                    "ig_verif_filtre_eau",
                    "ig_verif_evaporateur",
                    "ig_verif_bac_stockage",
                    "ig_verif_circuit_eau",
                    "ig_verif_condenseur",
                    "ig_verif_pelle_glacons"
                ]
            },
            {
                "id": "mesures",
                "title": "Mesures et produits",
                "layout": "two_columns",
                "fields": [
                    "ig_verif_qualite_eau",
                    "ig_th_eau",
                    "ig_produit_desinfectant"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "ig_anomalies",
                    "ig_mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": ["ig_conclusion", "ig_date_prochain"]
            },
            {
                "id": "signatures",
                "title": "Signataires",
                "layout": "signature_block",
                "fields": ["ig_verificateur", "ig_qualification"],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "ig_verificateur" },
                    { "label": "Signature responsable hygiène", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "ig_etablissement": { "style": "bold" },
            "ig_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "ig_anomalies": { "min_height": 30, "show_if_empty": false },
            "ig_mesures_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
