{
    "uuid": "d760d19cd9d97b2db335ed4deeebc62e",
    "elementtype": "equipment",
    "schema_kind": "equipment",
    "title": "Equipment - Climbing rope (dynamic)",
    "description": "Inventory record for a dynamic climbing rope used by an FFME-affiliated climbing club. Reference standard EN 892. Mandatory traceability of falls held, usage hours and visual inspections.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "cr_club_id",
            "label": "Club identifier",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Internal club tag (rope number)",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_serial_number",
            "label": "Serial number",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer batch / serial number",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_brand",
            "label": "Brand",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer name (Beal, Petzl, Edelrid, etc.)",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_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": "cr_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 (10 years max from this date)",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_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": "cr_diameter_mm",
            "label": "Diameter (mm)",
            "type": "double",
            "size": "4,1",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Typically 8.5 to 10.5 mm",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_length_m",
            "label": "Length (m)",
            "type": "int",
            "size": "4",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Standard lengths: 50, 60, 70, 80 m",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_rope_type",
            "label": "Rope type",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "single": "Single (1 circle marking)",
                    "half": "Half (1/2 marking)",
                    "twin": "Twin (infinity marking)"
                }
            },
            "help": "EN 892 classification",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "single",
            "alwayseditable": 0
        },
        {
            "name": "cr_color",
            "label": "Color / marking",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Visual identification (color, central mark, club tag)",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_sheath_treatment",
            "label": "Sheath treatment",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "dry": "Dry (water-repellent)",
                    "untreated": "Untreated (standard)"
                }
            },
            "help": "Dry treatment recommended outdoor",
            "pos": 240,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "untreated",
            "alwayseditable": 0
        },
        {
            "name": "cr_uiaa_falls_held",
            "label": "UIAA falls held (test)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Number of standard falls held during UIAA test",
            "pos": 250,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_max_load_static_kn",
            "label": "Static breaking load (kN)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer value",
            "pos": 260,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_dynamic_elongation_pct",
            "label": "Dynamic elongation (%)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "First fall elongation per EN 892 (max 40 %)",
            "pos": 270,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_in_service_date",
            "label": "In service date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date rope was first used",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_last_inspection_date",
            "label": "Last inspection date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Last full visual inspection",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_next_inspection_date",
            "label": "Next inspection date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Planned date (annual min)",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_retirement_date",
            "label": "Planned retirement date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "End-of-life date (planned or decided)",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_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",
                    "retired_after_falls": "Retired after major falls"
                }
            },
            "help": "Operational status",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "in_service",
            "alwayseditable": 0
        },
        {
            "name": "cr_location",
            "label": "Location (club / room)",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Club name, gym, storage area",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cr_notes",
            "label": "Notes",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Usage rule: route only / boulder / mixed; falls log",
            "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 - Climbing rope",
            "subtitle": "Dynamic rope inventory record (EN 892)",
            "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": [
                    "cr_club_id",
                    "cr_serial_number",
                    "cr_brand",
                    "cr_model",
                    "cr_manufacture_year",
                    "cr_purchase_year"
                ]
            },
            {
                "id": "specifications",
                "title": "Technical specifications",
                "layout": "two_columns",
                "fields": [
                    "cr_diameter_mm",
                    "cr_length_m",
                    "cr_rope_type",
                    "cr_color",
                    "cr_sheath_treatment",
                    "cr_uiaa_falls_held",
                    "cr_max_load_static_kn",
                    "cr_dynamic_elongation_pct"
                ]
            },
            {
                "id": "lifecycle",
                "title": "Lifecycle and inspections",
                "layout": "two_columns",
                "fields": [
                    "cr_in_service_date",
                    "cr_last_inspection_date",
                    "cr_next_inspection_date",
                    "cr_retirement_date"
                ]
            },
            {
                "id": "status",
                "title": "Status and location",
                "layout": "highlight_box",
                "fields": ["cr_status", "cr_location"]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": ["cr_notes"]
            }
        ],
        "field_render": {
            "cr_club_id": { "style": "bold", "frame": true },
            "cr_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_repair": "#e69500",
                    "decommissioned": "#555555",
                    "retired_after_falls": "#c00000"
                }
            },
            "cr_notes": { "min_height": 30, "show_if_empty": false }
        }
    }
}
