{
    "uuid": "bd39f2e71e4aff691b5ca057346159fb",
    "schema_kind": "equipment",
    "lang": "en",
    "title": "Equipment - Training record",
    "description": "Inventory record for an SST / EPI / habilitation training register kept per employee. Useful to track refresher dates and renewal obligations.",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "train_inventory_number",
            "label": "Inventory number",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Internal inventory tag",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_serial_number",
            "label": "Document reference",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Certificate number",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_brand",
            "label": "Training body",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Approved training organisation",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_model",
            "label": "Trainee name",
            "type": "varchar",
            "size": "150",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Employee full name",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_manufacture_year",
            "label": "Year of first issue",
            "type": "int",
            "size": "4",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Year of initial certification",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_training_type",
            "label": "Training type",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "sst": "SST - First aid worker",
                    "epi": "EPI - Personal protective equipment",
                    "habilitation_electrique": "Electrical habilitation (NF C18-510)",
                    "caces": "CACES (lifting equipment)",
                    "fire_safety": "Fire safety training",
                    "asbestos": "Asbestos awareness",
                    "atex": "ATEX",
                    "other": "Other"
                }
            },
            "help": "Type of training / certification",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_last_refresher_date",
            "label": "Last refresher date",
            "type": "date",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date of the most recent training session",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_next_due_date",
            "label": "Next due date",
            "type": "date",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date the certificate must be renewed",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_validity_years",
            "label": "Validity (years)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Certificate validity duration",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_site",
            "label": "Site",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Employee assigned site",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_building",
            "label": "Building",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Building or block",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_floor",
            "label": "Department",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Department / service",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_room",
            "label": "Position",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Job title / position",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_status",
            "label": "Status",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "in_service": "Valid",
                    "in_stock": "Pending",
                    "in_repair": "Renewal due",
                    "out_of_order": "Expired",
                    "decommissioned": "Withdrawn"
                }
            },
            "help": "Certification status",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "in_service",
            "alwayseditable": 0
        },
        {
            "name": "train_commissioning_date",
            "label": "Initial certification date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date the initial training was passed",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_next_inspection_date",
            "label": "Next scheduled refresher",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Planned date of the next refresher session",
            "pos": 520,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_purchase_date",
            "label": "Order date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date the training was ordered",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_warranty_end_date",
            "label": "Certificate end date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Certificate end of validity",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_supplier",
            "label": "Supplier",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Training body / supplier",
            "pos": 620,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_maintenance_contract_ref",
            "label": "Contract reference",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Framework agreement reference",
            "pos": 630,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "train_notes",
            "label": "Notes",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Free-form notes",
            "pos": 700,
            "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 - Training record",
            "subtitle": "Asset inventory record",
            "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": [
                    "train_inventory_number",
                    "train_serial_number",
                    "train_brand",
                    "train_model",
                    "train_manufacture_year"
                ]
            },
            {
                "id": "specifications",
                "title": "Technical specifications",
                "layout": "two_columns",
                "fields": [
                    "train_training_type",
                    "train_last_refresher_date",
                    "train_next_due_date",
                    "train_validity_years"
                ]
            },
            {
                "id": "location",
                "title": "Location",
                "layout": "two_columns",
                "fields": [
                    "train_site",
                    "train_building",
                    "train_floor",
                    "train_room"
                ]
            },
            {
                "id": "status",
                "title": "Status and follow-up",
                "layout": "highlight_box",
                "fields": [
                    "train_status",
                    "train_commissioning_date",
                    "train_next_inspection_date"
                ]
            },
            {
                "id": "commercial",
                "title": "Purchase and maintenance",
                "layout": "two_columns",
                "fields": [
                    "train_purchase_date",
                    "train_warranty_end_date",
                    "train_supplier",
                    "train_maintenance_contract_ref"
                ]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": [
                    "train_notes"
                ]
            }
        ],
        "field_render": {
            "train_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_stock": "#888888",
                    "in_repair": "#e69500",
                    "out_of_order": "#c00000",
                    "decommissioned": "#555555"
                }
            },
            "train_notes": {
                "min_height": 30,
                "show_if_empty": false
            },
            "train_inventory_number": {
                "style": "bold",
                "frame": true
            }
        }
    }
}
