{
    "uuid": "bdf14cca799f80f9b6b0fc8681d06431",
    "elementtype": "equipment",
    "schema_kind": "equipment",
    "title": "Equipment - Child Bike Trailer (rental)",
    "description": "Inventory record for a child bike trailer used in a rental fleet, including child capacity, harness type, coupling system, rain cover, safety flag, and maximum load.",
    "export_date": "2026-05-31 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "trailer_inventory_number",
            "label": "Inventory number",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Internal fleet tag",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_serial_number",
            "label": "Serial number",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 1,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer serial number",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_brand",
            "label": "Brand",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Manufacturer (e.g. Thule, Burley, Weeride, Croozer, Chariot)",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_model",
            "label": "Model",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Commercial model name",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_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": "trailer_max_children",
            "label": "Maximum number of children",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "1": "1 child",
                    "2": "2 children"
                }
            },
            "help": "Manufacturer-rated maximum child occupancy",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "2",
            "alwayseditable": 0
        },
        {
            "name": "trailer_max_child_weight_kg",
            "label": "Maximum child weight per seat (kg)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Typically 22 kg per child; total payload usually 40-50 kg",
            "pos": 205,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_max_total_payload_kg",
            "label": "Maximum total payload (kg)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Total load including children and luggage",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_harness_type",
            "label": "Harness type",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "5_point": "5-point harness",
                    "3_point": "3-point harness",
                    "lap_belt": "Lap belt only",
                    "none": "None"
                }
            },
            "help": "5-point harness strongly recommended for child safety",
            "pos": 215,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "5_point",
            "alwayseditable": 0
        },
        {
            "name": "trailer_coupling_system",
            "label": "Coupling system",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "axle_mount": "Rear axle mount",
                    "seatpost_clamp": "Seatpost clamp",
                    "frame_hitch": "Frame hitch (proprietary)",
                    "quick_release_skewer": "Quick-release skewer mount"
                }
            },
            "help": "Attachment point on the towing bicycle",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "axle_mount",
            "alwayseditable": 0
        },
        {
            "name": "trailer_hitch_included",
            "label": "Hitch / coupler included",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Attachment hardware included with the trailer",
            "pos": 223,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "trailer_has_rain_cover",
            "label": "Rain cover",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Waterproof cover to protect children",
            "pos": 226,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "trailer_has_sun_screen",
            "label": "Sun screen / UV shield",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mesh or fabric UV protection screen",
            "pos": 229,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "trailer_has_safety_flag",
            "label": "Safety flag (high-visibility)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Mandatory orange/yellow flag on an extending pole for road visibility",
            "pos": 232,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "trailer_has_rear_reflector",
            "label": "Rear reflector",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Red rear reflector (required by article R. 313-17 of the Highway Code)",
            "pos": 235,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "trailer_has_brakes",
            "label": "Independent brake",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Trailer-side brake independent of the towing bicycle",
            "pos": 238,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "trailer_wheel_size",
            "label": "Wheel size",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "16": "16 inches",
                    "20": "20 inches",
                    "12": "12 inches"
                }
            },
            "help": "Most child trailers use 16 or 20 inch wheels",
            "pos": 241,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "20",
            "alwayseditable": 0
        },
        {
            "name": "trailer_frame_weight_kg",
            "label": "Trailer weight (empty, kg)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Weight of trailer without children or cargo",
            "pos": 245,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_convertible_stroller",
            "label": "Convertible to stroller / jogger",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Can be used as a stroller or jogging pushchair when detached",
            "pos": 248,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "0",
            "alwayseditable": 0
        },
        {
            "name": "trailer_min_child_age_months",
            "label": "Minimum child age (months)",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Typically 12 months without specific infant support, or from birth with approved baby sling insert",
            "pos": 252,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "12",
            "alwayseditable": 0
        },
        {
            "name": "trailer_daily_rate",
            "label": "Daily rate",
            "type": "double",
            "size": "8,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 260,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_weekly_rate",
            "label": "Weekly rate",
            "type": "double",
            "size": "8,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 265,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_site",
            "label": "Site",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Rental agency location",
            "pos": 400,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_storage_area",
            "label": "Storage area",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Storage spot identifier",
            "pos": 410,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_status",
            "label": "Inventory 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": "trailer_rental_status",
            "label": "Rental status",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "available": "Available",
                    "rented": "Rented",
                    "maintenance": "Maintenance",
                    "reserved": "Reserved",
                    "claim": "Claim / accident",
                    "decommissioned": "Decommissioned"
                }
            },
            "help": "Rental availability",
            "pos": 505,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "available",
            "alwayseditable": 0
        },
        {
            "name": "trailer_commissioning_date",
            "label": "Commissioning date",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_next_maintenance_date",
            "label": "Next scheduled maintenance",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 520,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_purchase_date",
            "label": "Purchase 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": "trailer_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": "trailer_supplier",
            "label": "Supplier",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "",
            "pos": 620,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "trailer_notes",
            "label": "Notes",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Free-form notes (condition of harness, missing parts, etc.)",
            "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 - Child Bike Trailer (rental)",
            "subtitle": "Rental fleet 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": [
                    "trailer_inventory_number",
                    "trailer_serial_number",
                    "trailer_brand",
                    "trailer_model",
                    "trailer_manufacture_year"
                ]
            },
            {
                "id": "capacity",
                "title": "Child capacity and safety",
                "layout": "two_columns",
                "fields": [
                    "trailer_max_children",
                    "trailer_min_child_age_months",
                    "trailer_max_child_weight_kg",
                    "trailer_max_total_payload_kg",
                    "trailer_harness_type"
                ]
            },
            {
                "id": "coupling",
                "title": "Coupling and accessories",
                "layout": "two_columns",
                "fields": [
                    "trailer_coupling_system",
                    "trailer_hitch_included",
                    "trailer_has_rain_cover",
                    "trailer_has_sun_screen",
                    "trailer_has_safety_flag",
                    "trailer_has_rear_reflector",
                    "trailer_has_brakes",
                    "trailer_wheel_size",
                    "trailer_convertible_stroller"
                ]
            },
            {
                "id": "weight",
                "title": "Weight",
                "layout": "two_columns",
                "fields": [
                    "trailer_frame_weight_kg"
                ]
            },
            {
                "id": "rates",
                "title": "Rental rates",
                "layout": "two_columns",
                "fields": [
                    "trailer_daily_rate",
                    "trailer_weekly_rate"
                ]
            },
            {
                "id": "location",
                "title": "Location",
                "layout": "two_columns",
                "fields": [
                    "trailer_site",
                    "trailer_storage_area"
                ]
            },
            {
                "id": "status",
                "title": "Status and follow-up",
                "layout": "highlight_box",
                "fields": [
                    "trailer_status",
                    "trailer_rental_status",
                    "trailer_commissioning_date",
                    "trailer_next_maintenance_date"
                ]
            },
            {
                "id": "commercial",
                "title": "Purchase and maintenance",
                "layout": "two_columns",
                "fields": [
                    "trailer_purchase_date",
                    "trailer_warranty_end_date",
                    "trailer_supplier"
                ]
            },
            {
                "id": "notes",
                "title": "Notes",
                "layout": "full_width",
                "fields": [
                    "trailer_notes"
                ]
            }
        ],
        "field_render": {
            "trailer_status": {
                "style": "highlight",
                "color_by_value": {
                    "in_service": "#1f8a1f",
                    "in_stock": "#888888",
                    "in_repair": "#e69500",
                    "out_of_order": "#c00000",
                    "decommissioned": "#555555"
                }
            },
            "trailer_rental_status": {
                "style": "highlight",
                "color_by_value": {
                    "available": "#1f8a1f",
                    "rented": "#1f5fa8",
                    "maintenance": "#e69500",
                    "reserved": "#888888",
                    "claim": "#c00000",
                    "decommissioned": "#555555"
                }
            },
            "trailer_inventory_number": {
                "style": "bold",
                "frame": true
            },
            "trailer_max_total_payload_kg": {
                "suffix": " kg"
            },
            "trailer_max_child_weight_kg": {
                "suffix": " kg"
            },
            "trailer_frame_weight_kg": {
                "suffix": " kg"
            },
            "trailer_notes": {
                "min_height": 30,
                "show_if_empty": false
            }
        }
    }
}
