{
    "uuid": "97dc65a7acf6ab1111d6cb6eb8ffc40d",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Inspection annuelle box self-storage",
    "description": "Inspection annuelle d'un box de self-storage (garde-meubles particulier ou pro) : porte basculante, rails, serrure cadenas, étanchéité, état des parois, signalétique évacuation et conformité ERP \/ entrepôt.",
    "export_date": "2026-05-29 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "box_exploitant",
            "label": "Exploitant \/ Site self-storage",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Enseigne du site",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "box_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": "box_numero",
            "label": "Numéro du box",
            "type": "varchar",
            "size": "20",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Référence box (A101, B-23, etc.)",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "box_etage_secteur",
            "label": "Étage \/ Secteur",
            "type": "varchar",
            "size": "50",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "RDC, R+1, secteur Nord, etc.",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "box_type",
            "label": "Type de box",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "box_individuel_interieur": "Box individuel intérieur",
                    "container_exterieur": "Container extérieur",
                    "box_voute_cave": "Box voûté \/ cave",
                    "garde_meubles_traditionnel": "Garde-meubles traditionnel (caisse-palette)",
                    "drive_in_acces_vehicule": "Box drive-in accessible véhicule"
                }
            },
            "help": "Typologie",
            "pos": 140,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "box_individuel_interieur",
            "alwayseditable": 0
        },
        {
            "name": "box_surface_m2",
            "label": "Surface (m2)",
            "type": "double",
            "size": "5,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Surface au sol",
            "pos": 150,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "box_volume_m3",
            "label": "Volume (m3)",
            "type": "double",
            "size": "6,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Volume intérieur",
            "pos": 160,
            "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": {
                    "inspection_annuelle": "Inspection annuelle programmée",
                    "etat_lieux_entree": "État des lieux d'entrée",
                    "etat_lieux_sortie": "État des lieux de sortie",
                    "controle_apres_sinistre": "Contrôle après sinistre",
                    "intervention_proprete": "Intervention propreté \/ remise en état"
                }
            },
            "help": "Nature de l'intervention",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "inspection_annuelle",
            "alwayseditable": 0
        },
        {
            "name": "verif_porte_etat",
            "label": "Porte (basculante, sectionnelle, battante) OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de déformation, ouverture\/fermeture fluide",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_rail_glissieres",
            "label": "Rails \/ glissières propres et alignés",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de point dur, ressorts en bon état",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_serrure_passants",
            "label": "Pattes \/ passants de cadenas OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de tentative d'effraction, soudures intactes",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_etancheite_porte",
            "label": "Étanchéité porte (joint balai, seuil)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Joint sans déchirure, seuil étanche",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_parois_propres",
            "label": "Parois propres et sans trace d'humidité",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de moisissure, pas de coulure",
            "pos": 340,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_sol_etat",
            "label": "Sol OK (béton sain, peinture intacte)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de remontée d'humidité, peinture non écaillée",
            "pos": 350,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_plafond_couverture",
            "label": "Plafond \/ Couverture sans infiltration",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Aucune trace d'infiltration ou fuite",
            "pos": 360,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_aeration_ventilation",
            "label": "Aération \/ Ventilation du box OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Grilles libres, pas de condensation",
            "pos": 370,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_absence_nuisibles",
            "label": "Absence d'indices de nuisibles",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de déjections, traces de rongeurs",
            "pos": 380,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_signaletique_evacuation",
            "label": "Signalétique d'évacuation visible depuis le box",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "BAES, panneaux, plan d'évacuation",
            "pos": 390,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_detection_incendie",
            "label": "Détection incendie \/ sprinkler au plafond",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Détecteur ou sprinkler non obstrué",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_eclairage_box",
            "label": "Éclairage du box fonctionnel",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Lampe LED OK, interrupteur opérationnel",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "verif_etiquette_box",
            "label": "Étiquette \/ Numéro du box visible",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Marquage clair et lisible",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "box_statut_occupation",
            "label": "Statut occupation",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "loue_occupe": "Loué - occupé",
                    "loue_vide": "Loué - vide",
                    "libre_disponible": "Libre - disponible",
                    "reserve": "Réservé",
                    "indisponible": "Indisponible - travaux"
                }
            },
            "help": "État commercial du box",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "libre_disponible",
            "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": "actions_correctives",
            "label": "Actions correctives engagées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 0,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Réparations, ménage, indisponibilité programmée",
            "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": {
                    "louable": "LOUABLE en l'état",
                    "louable_reserve": "LOUABLE avec réserves",
                    "non_louable": "NON LOUABLE - travaux requis"
                }
            },
            "help": "Disponibilité commerciale du box",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "louable",
            "alwayseditable": 0
        },
        {
            "name": "date_prochaine_inspection",
            "label": "Date prochaine inspection",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Annuelle",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "inspecteur_nom",
            "personal_data": 1,
            "label": "Nom de l'inspecteur",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Responsable site ou agent",
            "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": "Manager site, agent maintenance",
            "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": "Inspection annuelle box self-storage",
            "subtitle": "Garde-meubles - état, sécurité, hygiène",
            "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 de gestion du site"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification du box",
                "layout": "two_columns",
                "fields": [
                    "box_exploitant",
                    "box_adresse",
                    "box_numero",
                    "box_etage_secteur",
                    "box_type",
                    "box_surface_m2",
                    "box_volume_m3"
                ]
            },
            {
                "id": "intervention",
                "title": "Type d'intervention",
                "layout": "single_column",
                "fields": ["type_intervention"]
            },
            {
                "id": "porte_serrure",
                "title": "Porte, serrure et étanchéité",
                "layout": "checklist",
                "fields": [
                    "verif_porte_etat",
                    "verif_rail_glissieres",
                    "verif_serrure_passants",
                    "verif_etancheite_porte"
                ]
            },
            {
                "id": "etat_general",
                "title": "État général et environnement",
                "layout": "checklist",
                "fields": [
                    "verif_parois_propres",
                    "verif_sol_etat",
                    "verif_plafond_couverture",
                    "verif_aeration_ventilation",
                    "verif_absence_nuisibles"
                ]
            },
            {
                "id": "securite",
                "title": "Sécurité incendie et signalétique",
                "layout": "checklist",
                "fields": [
                    "verif_signaletique_evacuation",
                    "verif_detection_incendie",
                    "verif_eclairage_box",
                    "verif_etiquette_box"
                ]
            },
            {
                "id": "occupation",
                "title": "Occupation commerciale",
                "layout": "single_column",
                "fields": ["box_statut_occupation"]
            },
            {
                "id": "observations",
                "title": "Anomalies et actions correctives",
                "layout": "full_width",
                "fields": ["anomalies_constatees", "actions_correctives"]
            },
            {
                "id": "conclusion",
                "title": "Conclusion",
                "layout": "highlight_box",
                "fields": ["conclusion", "date_prochaine_inspection"]
            },
            {
                "id": "signatures",
                "title": "Inspecteur",
                "layout": "signature_block",
                "fields": ["inspecteur_nom", "qualification"],
                "signature_boxes": [
                    { "label": "Signature inspecteur", "for_field": "inspecteur_nom" },
                    { "label": "Visa client (si état des lieux)", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "box_exploitant": { "style": "bold" },
            "box_surface_m2": { "suffix": " m2" },
            "box_volume_m3": { "suffix": " m3" },
            "box_statut_occupation": {
                "style": "highlight",
                "color_by_value": {
                    "loue_occupe": "#1f5fa8",
                    "loue_vide": "#888888",
                    "libre_disponible": "#1f8a1f",
                    "reserve": "#e69500",
                    "indisponible": "#c00000"
                }
            },
            "conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "louable": "#1f8a1f",
                    "louable_reserve": "#e69500",
                    "non_louable": "#c00000"
                }
            },
            "anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "actions_correctives": { "min_height": 30, "show_if_empty": false }
        }
    }
}
