{
    "uuid": "a97cd7a1445a6841d404fdd01201d023",
    "schema_kind": "equipment",
    "lang": "en",
    "title": "Equipment - Stage curtain motor",
    "description": "Inventory record for a stage curtain motor (straight close, Wagner, Greek or Japanese travel). Includes traveling fabric curtains, not the fire iron curtain.",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "curtain_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": "curtain_serial_number",
            "label": "Serial number",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Motor serial number",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_brand",
            "label": "Brand",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer (ASM, Trekwerk, Gerriets, ADB, ...)",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_model",
            "label": "Model",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Model reference",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_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": "curtain_motion_type",
            "label": "Curtain motion type",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "straight_traveler": "Straight traveler (a la francaise)",
                    "wagner": "Wagner (greek lift)",
                    "japanese": "Japanese (single panel slide)",
                    "guillotine": "Guillotine (vertical drop)",
                    "tab": "Tab / venetian",
                    "contour": "Contour (festoon)"
                }
            },
            "help": "Type of curtain travel",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "straight_traveler",
            "alwayseditable": 0
        },
        {
            "name": "curtain_track_length_m",
            "label": "Track length (m)",
            "type": "double",
            "size": "5,2",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Total track length",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_max_travel_m",
            "label": "Max travel distance (m)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Effective opening distance",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_fabric_weight_kg_m2",
            "label": "Fabric weight (kg/m2)",
            "type": "double",
            "size": "6,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Curtain fabric density",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_total_fabric_kg",
            "label": "Total fabric load (kg)",
            "type": "double",
            "size": "10,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Total weight of curtain fabric",
            "pos": 240,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_motor_power_kw",
            "label": "Motor power (kW)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Rated motor power",
            "pos": 250,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_speed_m_s",
            "label": "Travel speed (m/s)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Curtain travel speed",
            "pos": 260,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_speed_variable",
            "label": "Variable speed",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Speed adjustable via VFD",
            "pos": 270,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "curtain_supply_voltage",
            "label": "Supply voltage (V)",
            "type": "varchar",
            "size": "20",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "230V mono, 400V tri",
            "pos": 280,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "400V tri",
            "alwayseditable": 0
        },
        {
            "name": "curtain_limit_switches",
            "label": "End-of-travel limit switches",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Open / closed limit switches present",
            "pos": 290,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "curtain_obstacle_detection",
            "label": "Obstacle detection",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Anti-pinch / current-monitoring",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "curtain_fire_class",
            "label": "Fabric fire class",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "m1": "M1 (NF EN 13501-1 B-s1,d0)",
                    "m2": "M2",
                    "ns": "Not flame-retardant",
                    "unknown": "Unknown"
                }
            },
            "help": "Reaction-to-fire classification",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "m1",
            "alwayseditable": 0
        },
        {
            "name": "curtain_control_type",
            "label": "Control type",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "wall_switch": "Wall switch / push-button",
                    "console": "Stage management console",
                    "dmx": "DMX",
                    "network": "Networked (Art-Net, sACN, BMS)"
                }
            },
            "help": "How the curtain is operated",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "console",
            "alwayseditable": 0
        },
        {
            "name": "curtain_site",
            "label": "Site",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Venue or site name",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_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": "curtain_floor",
            "label": "Floor / level",
            "type": "varchar",
            "size": "50",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Floor or level",
            "pos": 420,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_room",
            "label": "Stage / room",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Stage, ballroom, hall, cinema",
            "pos": 430,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_status",
            "label": "Status",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "in_service": "In service",
                    "in_stock": "In stock",
                    "in_repair": "In repair",
                    "out_of_order": "Out of order",
                    "decommissioned": "Decommissioned"
                }
            },
            "help": "Operational status",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "in_service",
            "alwayseditable": 0
        },
        {
            "name": "curtain_commissioning_date",
            "label": "Commissioning date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Date put in service",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_next_maintenance_date",
            "label": "Next scheduled maintenance",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Planned date of the next maintenance",
            "pos": 520,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_purchase_date",
            "label": "Purchase / install date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_warranty_end_date",
            "label": "Warranty end date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_supplier",
            "label": "Supplier / installer",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Supplier company",
            "pos": 620,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_maintenance_contract_ref",
            "label": "Maintenance contract reference",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 630,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "curtain_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 - Stage curtain motor",
            "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": [
                    "curtain_inventory_number",
                    "curtain_serial_number",
                    "curtain_brand",
                    "curtain_model",
                    "curtain_manufacture_year"
                ]
            },
            {
                "id": "specifications",
                "title": "Mechanical and electrical specifications",
                "layout": "two_columns",
                "fields": [
                    "curtain_motion_type",
                    "curtain_track_length_m",
                    "curtain_max_travel_m",
                    "curtain_fabric_weight_kg_m2",
                    "curtain_total_fabric_kg",
                    "curtain_motor_power_kw",
                    "curtain_speed_m_s",
                    "curtain_speed_variable",
                    "curtain_supply_voltage",
                    "curtain_limit_switches",
                    "curtain_obstacle_detection",
                    "curtain_fire_class",
                    "curtain_control_type"
                ]
            },
            {
                "id": "location",
                "title": "Location",
                "layout": "two_columns",
                "fields": [
                    "curtain_site",
                    "curtain_building",
                    "curtain_floor",
                    "curtain_room"
                ]
            },
            {
                "id": "status",
                "title": "Status and follow-up",
                "layout": "highlight_box",
                "fields": [
                    "curtain_status",
                    "curtain_commissioning_date",
                    "curtain_next_maintenance_date"
                ]
            },
            {
                "id": "commercial",
                "title": "Purchase and maintenance",
                "layout": "two_columns",
                "fields": [
                    "curtain_purchase_date",
                    "curtain_warranty_end_date",
                    "curtain_supplier",
                    "curtain_maintenance_contract_ref"
                ]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": ["curtain_notes"]
            }
        ],
        "field_render": {
            "curtain_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_stock": "#888888",
                    "in_repair": "#e69500",
                    "out_of_order": "#c00000",
                    "decommissioned": "#555555"
                }
            },
            "curtain_inventory_number": { "style": "bold", "frame": true },
            "curtain_track_length_m": { "suffix": " m" },
            "curtain_max_travel_m": { "suffix": " m" },
            "curtain_fabric_weight_kg_m2": { "suffix": " kg/m2" },
            "curtain_total_fabric_kg": { "suffix": " kg" },
            "curtain_motor_power_kw": { "suffix": " kW" },
            "curtain_speed_m_s": { "suffix": " m/s" },
            "curtain_notes": { "min_height": 30, "show_if_empty": false }
        }
    }
}
