{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "WordSuggest",
    "type": "object",
    "additionalProperties": false,
    "description": "TAnalytics-v4 .. Logs word suggest actions and on/offline events",
    "properties": {
        "log_context": {
            "$ref": "/resources/schema/analytics/client/v4/LogContext.json",
            "description": "Required Log Context Reference"
        },
        "event_name": {
            "type": "string",
            "enum": ["WORDSUGGEST"]
        },
        "schema_definition": {
            "type": "string",
            "enum": ["WordSuggest"]
        },
        "trigger": {
            "$ref": "/resources/schema/analytics/client/v4/type/WordSuggestTriggerType.json",
            "description": "Required Starting Point of Word Suggest"
        },
        "transaction_id": {
            "type": "string",
            "description": "search transaction ID for the request (groups the wordsuggests IDs together)" 
        },
        "term": {
            "type": "string",
            "description": "WordSuggest term entered by user"
        },
        "wordsuggest_id": {
            "type": "string",
            "description": "ID for each word suggestion response (search reference_id)"
        },
        "wordsuggest_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/item/WordSuggestListItem.json"
            },
            "description": "List of words displayed (order as displayed)"
        },
        "interaction_method": {
            "$ref": "/resources/schema/analytics/client/v4/type/InteractionMethodValues.json",
            "description": "for each user interaction log the interation method"
        },
        "time_taken": {
            "type": "integer",
            "description": "Time taken for response (in milliseconds)"
        }
    },
    "required": [
        "log_context",
        "event_name",
        "schema_definition",
        "trigger",
        "transaction_id",
        "term",  
        "time_taken"
    ]
}