{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "SearchSdk",
    "type": "object",
    "additionalProperties": false,
    "description": "TAnalytics-v4 .. Internal logging from SDK. Any time search engine was used and final list of results was returned. This could be an explicit request by the user or recommendations by the app.",
    "properties": {
        "log_context": {
            "$ref": "/resources/schema/analytics/client/v4/LogContext.json",
            "description": "Required Log Context Reference"
        },
        "event_name": {
            "type": "string",
            "enum": ["SEARCH_SDK"]
        },
        "schema_definition": {
            "type": "string",
            "enum": ["SearchSdk"]
        },  
        "transaction_id": {
            "type": "string",
            "description": "Search transaction ID for the request"
        },
        "mode": {
            "$ref": "/resources/schema/analytics/client/v4/type/SearchMode.json",
            "description": "Method of organizing search results"
        },
        "sort_type": {
            "$ref": "/resources/schema/analytics/client/v4/type/SearchType.json",
            "description": "Method of organizing search results"
        },
        "gecoding_source": {
            "type": "string",
            "description": "Search geocoding source for the request"
        },
        "term": {
            "type": "string",
            "description": "Search term entered by user (entire string)"
        },
        "srp_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/sdk/v4/entity/item/SearchListItemSdk.json"
            },
            "minItems": 1,
            "uniqueItems": true,
            "description": "List of EntityIDs and other attributes logged at SDK. The only scenario where srp_list would not be present is when search returns no matches."
        },
        "route_point_list": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/item/LocationItem.json"
            },
            "description": "List of lat-lon for along the route search"
        },
        "search_polygon": {
            "type": "array",
            "items": {
                "$ref": "/resources/schema/analytics/client/v4/item/LocationItem.json"
            },
            "description": "List of lat-lon for search polygon"
        },
        "category_id": {
            "type": "string",
            "description": "POI category ID for the search initiated"
        },
        "impression_limit": {
            "type": "number",
            "description": "Limit on the number of impressions displayed on a page"
        },
        "request_time": {
            "type": "integer",
            "description": "Timestamp of the request (in milliseconds)"
        },
        "time_taken": {
            "type": "number",
            "description": "Time taken for the response (in milliseconds)"
        }
    },
    "required": [
        "log_context",
        "event_name",
        "schema_definition",
        "transaction_id",
        "gecoding_source",
        "term",
        "srp_list", 
        "impression_limit",
        "request_time",
        "time_taken"
    ]
}