{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "HardAcceleration",
    "type": "object",
    "additionalProperties": false,
    "description": "HardAcceleration",
    "properties": {
        "log_context": {
            "$ref": "/resources/schema/analytics/client/v4/LogContext.json",
            "description": "Required Log Context Reference"
        },
        "event_name": {
            "type": "string",
            "enum": [
                "HARD_ACCELERATION"
            ]
        },
        "schema_definition": {
            "type": "string",
            "enum": [
                "HardAcceleration"
            ]
        },
        "accelerator_pedal_item": {
            "$ref": "/resources/schema/analytics/client/v4/type/AcceleratorPedalItem.json",
            "description": "accelerator pedal item"
        },
        "start_speed": {
            "$ref": "/resources/schema/analytics/client/v4/type/VehicleSpeedItem.json",
            "description": "speed of vehicle when acceleration starts"
        },
        "end_speed": {
            "$ref": "/resources/schema/analytics/client/v4/type/VehicleSpeedItem.json",
            "description": "speed of vehicle when acceleration ends"
        },
        "level": {
            "type": "string",
            "enum": [
                "LOW",
                "MEDIUM",
                "HIGH"
            ],
            "description": "hard acceleration level"
        },
        "severity": {
            "type": "number",
            "description": "Severity is a numerical value which describes how strong the event was"
        },
        "duration": {
            "type": "integer",
            "description": "hard acceleration duration in ms"
        },
        "probe_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/ProbeListItemType.json"
            },
            "description": "List of  latitude and longitude at periodic intervals when this event happens"
        },
        "accelerometer_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/AccelerometerItem.json"
            },
            "description": "list of acceleration force value from sensor at periodic intervals when this event happens"
        },
        "linear_acceleration_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/LinearAccelerationItem.json"
            },
            "description": "List of acceleration force value from sensor at periodic intervals when this event happens"
        },
        "gyroscope_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/GyroscopeItem.json"
            },
            "description": "list of rotation status from gyroscope at periodic intervals when this event happens"
        },
        "gravity_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/GravityItem.json"
            },
            "description": "list of force of gravity from sensor at periodic intervals when this event happens"
        },
        "ambient_magnetic_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/AmbientMagneticItem.json"
            },
            "description": "List of ambient magnetic field value from device sensor at periodic intervals when this event happens"
        },
        "rotation_vector_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/type/RotationVectorItem.json"
            },
            "description": "Required list of rotation vector value from device at periodic intervals when this event happens"
        },
        "road_type": {
            "$ref": "/resources/schema/analytics/client/v4/type/RoadType.json",
            "description": "road type, e.g highway, local"
        },
        "distance": {
            "type": "number",
            "description": "Trip distance in meters when event happens"
        },
        "speed_delta_change": {
            "type": "number",
            "precision": 2,
            "description": "Vehicle speed changes when event happens in meters per second"
        }
    },
    "required": [
        "log_context",
        "event_name",
        "schema_definition",
        "level"
    ]
}