{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "SoftwareUpdate",
    "type": "object",
    "additionalProperties": false,
    "description": "TAnalytics-v3 .. Any time an application upgrade happens either automatically or explicityly by user action",
    "properties": {
        "log_context": {
            "$ref": "/resources/schema/analytics/client/v3/LogContext.json",
            "description": "Required Log Context Reference"
        },
        "event_name": {
            "type": "string",
            "enum": ["SOFTWARE_UPDATE"]
        },
        "schema_definition": {
            "type": "string",
            "enum": ["SoftwareUpdate"]
        },
        "legacy_reg_vid": {
            "type": "string",
            "description": "Required user ID inherited from the existing software version.  App may or may not discard this user id"
        },
        "additional_info": {
            "type": "object",
            "description": "Optional JSON object to log any/all the information about the existing app"
        },
        "mode": {
            "$ref": "/resources/schema/analytics/client/v3/SoftwareUpdateModeType.json",
            "description": "Whether the software update was triggered by the user or whether it happened automatically"
        },
        "duration": {
            "type": "number",
            "description": "Time taken to complete the upgrade process"
        },
        "interaction_method": {
            "$ref": "/resources/schema/analytics/client/v3/InteractionMethodValues.json",
            "description": "for each user interaction log the interation method"
        }
    },
    "required": [
        "log_context",
        "event_name",
        "schema_definition",
        "legacy_reg_vid"
    ]
}