{
    "uuid": "7604305569fd8b645ca58bc08abfc4e2",
    "elementtype": "equipment",
    "schema_kind": "equipment",
    "title": "Equipment - Climbing quickdraw",
    "description": "Inventory record for a climbing quickdraw (top carabiner + sling + bottom carabiner) used by an FFME-affiliated club. Reference standards EN 566 (sling) and EN 12275 (carabiners). Typically tracked as a batch.",
    "export_date": "2026-05-30 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "cqd_club_id",
            "label": "Club batch identifier",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Internal club tag for the batch",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_brand",
            "label": "Brand",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer name",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_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": "cqd_manufacture_year",
            "label": "Year of manufacture",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_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": "cqd_sling_material",
            "label": "Sling material",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "polyester": "Polyester (durable, abrasion-resistant)",
                    "dyneema": "Dyneema (lightweight)",
                    "hybrid": "Hybrid polyester / dyneema"
                }
            },
            "help": "EN 566 webbing",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "polyester",
            "alwayseditable": 0
        },
        {
            "name": "cqd_sling_length_cm",
            "label": "Sling length (cm)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Typically 10 to 25 cm",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_sling_max_load_kn",
            "label": "Sling max load (kN)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "EN 566 minimum 22 kN",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_top_carabiner_type",
            "label": "Top carabiner type",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "straight_gate": "Straight gate",
                    "bent_gate": "Bent gate",
                    "wire_gate": "Wire gate"
                }
            },
            "help": "Bolt-side carabiner",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "straight_gate",
            "alwayseditable": 0
        },
        {
            "name": "cqd_bottom_carabiner_type",
            "label": "Bottom carabiner type",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bent_gate": "Bent gate (easy clip)",
                    "wire_gate": "Wire gate",
                    "straight_gate": "Straight gate"
                }
            },
            "help": "Rope-side carabiner",
            "pos": 240,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bent_gate",
            "alwayseditable": 0
        },
        {
            "name": "cqd_quantity",
            "label": "Quantity (batch)",
            "type": "int",
            "size": "4",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 1,
            "printable": 1,
            "param": [],
            "help": "Number of quickdraws in this batch",
            "pos": 250,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "cqd_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": "cqd_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": "cqd_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": "cqd_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",
                    "permanently_installed": "Permanently installed on routes"
                }
            },
            "help": "Operational status",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "in_service",
            "alwayseditable": 0
        },
        {
            "name": "cqd_location",
            "label": "Location (club / room)",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Storage area or installed routes",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "cqd_notes",
            "label": "Notes",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Usage: club routes / rental; wear observations",
            "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 quickdraw",
            "subtitle": "Quickdraw inventory record (EN 566 + EN 12275)",
            "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": [
                    "cqd_club_id",
                    "cqd_brand",
                    "cqd_model",
                    "cqd_manufacture_year",
                    "cqd_purchase_year"
                ]
            },
            {
                "id": "specifications",
                "title": "Technical specifications",
                "layout": "two_columns",
                "fields": [
                    "cqd_sling_material",
                    "cqd_sling_length_cm",
                    "cqd_sling_max_load_kn",
                    "cqd_top_carabiner_type",
                    "cqd_bottom_carabiner_type",
                    "cqd_quantity"
                ]
            },
            {
                "id": "lifecycle",
                "title": "Lifecycle and inspections",
                "layout": "two_columns",
                "fields": [
                    "cqd_in_service_date",
                    "cqd_last_inspection_date",
                    "cqd_next_inspection_date"
                ]
            },
            {
                "id": "status",
                "title": "Status and location",
                "layout": "highlight_box",
                "fields": ["cqd_status", "cqd_location"]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": ["cqd_notes"]
            }
        ],
        "field_render": {
            "cqd_club_id": { "style": "bold", "frame": true },
            "cqd_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_repair": "#e69500",
                    "decommissioned": "#555555",
                    "permanently_installed": "#1f5fa8"
                }
            },
            "cqd_notes": { "min_height": 30, "show_if_empty": false }
        }
    }
}
