{
    "uuid": "0bf74dcaa4bbae45f7269a6cfe33e851",
    "elementtype": "equipment",
    "schema_kind": "equipment",
    "title": "Equipment - Belay device",
    "description": "Inventory record for a climbing belay device used by an FFME-affiliated club. Tube, autoblocking or assisted-braking (Grigri, Smart, etc.). Reference standard EN 15151 for assisted-braking devices. Typical mechanical service life: 10 years.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "bel_club_id",
            "label": "Club identifier",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Internal club tag",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_serial_number",
            "label": "Serial number",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer serial number (mandatory for EN 15151 devices)",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_brand",
            "label": "Brand",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer name (Petzl, Edelrid, Mammut, Black Diamond, etc.)",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_model",
            "label": "Model",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Commercial model reference",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_manufacture_year",
            "label": "Year of manufacture",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Reference for end-of-life calculation",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_purchase_year",
            "label": "Year of purchase",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 125,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_device_type",
            "label": "Device type",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "tube_atc": "Tube / ATC (no assist)",
                    "assisted_braking_grigri": "Assisted braking - Grigri type (cam)",
                    "assisted_braking_smart": "Assisted braking - Smart / Click-up type",
                    "autoblocking_reverso": "Autoblocking (Reverso / Plate)",
                    "figure_eight": "Figure eight"
                }
            },
            "help": "Mechanical category",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "tube_atc",
            "alwayseditable": 0
        },
        {
            "name": "bel_rope_diameter_range_mm",
            "label": "Rope diameter range (mm)",
            "type": "varchar",
            "size": "30",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Example: 8.9 to 10.5 mm",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_single_or_double_rope",
            "label": "Single or double rope",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "single": "Single rope only",
                    "double": "Double rope only",
                    "both": "Single and double"
                }
            },
            "help": "",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "single",
            "alwayseditable": 0
        },
        {
            "name": "bel_en_15151_class",
            "label": "EN 15151 class",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "class_1": "Class 1 (manual assisted braking)",
                    "class_2": "Class 2 (autoblocking cam)",
                    "not_applicable": "Not applicable (no assist)"
                }
            },
            "help": "Only for assisted-braking devices",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "not_applicable",
            "alwayseditable": 0
        },
        {
            "name": "bel_max_user_weight_kg",
            "label": "Max user weight (kg)",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer limit (climber + belayer system)",
            "pos": 240,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_in_service_date",
            "label": "In service date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date first put in service",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_last_inspection_date",
            "label": "Last inspection date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_next_inspection_date",
            "label": "Next inspection date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Annual minimum",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_retirement_date",
            "label": "Planned retirement date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Typically 10 years for mechanical devices",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_status",
            "label": "Status",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "in_service": "In service",
                    "in_repair": "In repair / under observation",
                    "decommissioned": "Decommissioned",
                    "loaned": "Loaned to member"
                }
            },
            "help": "Operational status",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "in_service",
            "alwayseditable": 0
        },
        {
            "name": "bel_location",
            "label": "Location (club / room)",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Storage area",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "bel_notes",
            "label": "Notes",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Usage rule: beginner supervision / autonomous practice",
            "pos": 500,
            "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": "Equipment - Belay device",
            "subtitle": "Belay device inventory record (EN 15151 for assisted braking)",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Generated via schemas.cap-rel.fr"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification",
                "layout": "two_columns",
                "fields": [
                    "bel_club_id",
                    "bel_serial_number",
                    "bel_brand",
                    "bel_model",
                    "bel_manufacture_year",
                    "bel_purchase_year"
                ]
            },
            {
                "id": "specifications",
                "title": "Technical specifications",
                "layout": "two_columns",
                "fields": [
                    "bel_device_type",
                    "bel_rope_diameter_range_mm",
                    "bel_single_or_double_rope",
                    "bel_en_15151_class",
                    "bel_max_user_weight_kg"
                ]
            },
            {
                "id": "lifecycle",
                "title": "Lifecycle and inspections",
                "layout": "two_columns",
                "fields": [
                    "bel_in_service_date",
                    "bel_last_inspection_date",
                    "bel_next_inspection_date",
                    "bel_retirement_date"
                ]
            },
            {
                "id": "status",
                "title": "Status and location",
                "layout": "highlight_box",
                "fields": ["bel_status", "bel_location"]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": ["bel_notes"]
            }
        ],
        "field_render": {
            "bel_club_id": { "style": "bold", "frame": true },
            "bel_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_repair": "#e69500",
                    "decommissioned": "#555555",
                    "loaned": "#1f5fa8"
                }
            },
            "bel_notes": { "min_height": 30, "show_if_empty": false }
        }
    }
}
