{
    "additionalProperties": true,
    "description": "Schema for an Optimizely visitor context (http://developers.optimizely.com/javascript/reference/#experiments)",
    "properties": {
        "browser": {
            "type": [
                "string",
                "null"
            ]
        },
        "browserVersion": {
            "type": [
                "string",
                "null"
            ]
        },
        "device": {
            "type": [
                "string",
                "null"
            ]
        },
        "deviceType": {
            "type": [
                "string",
                "null"
            ]
        },
        "ip": {
            "type": [
                "string",
                "null"
            ]
        },
        "locationCity": {
            "type": [
                "string",
                "null"
            ]
        },
        "locationCountry": {
            "type": [
                "string",
                "null"
            ]
        },
        "locationRegion": {
            "type": [
                "string",
                "null"
            ]
        },
        "mobile": {
            "type": [
                "boolean",
                "null"
            ]
        },
        "mobileId": {
            "type": [
                "string",
                "null"
            ]
        },
        "os": {
            "type": [
                "string",
                "null"
            ]
        },
        "platformId": {
            "type": [
                "string",
                "null"
            ]
        },
        "platformVersion": {
            "type": [
                "string",
                "null"
            ]
        },
        "referrer": {
            "type": [
                "string",
                "null"
            ]
        }
    },
    "self": {
        "format": "jsonschema",
        "name": "visitor",
        "vendor": "com.optimizely",
        "version": "1-0-0"
    },
    "type": "object"
}