{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "page-reload",
    "description": "page-reload data sent as Map(s,s).",
    "type": "object",
    "oneOf": [
        {
            "$ref": "#/definitions/reload_instance"
        },
        {
            "$ref": "#/definitions/reload_sequence"
        },
        {
            "$ref": "#/definitions/ask_reaction"
        }
    ],
    "definitions": {
        "askreactionchoice": {
            "type": "string",
            "enum": [
                "fresh-content",
                "looked-wrong",
                "slow-page",
                "broken-video",
                "web-dev",
                "no-ask",
                "no-reaction"
            ]
        },
        "strbool": {
            "type": "string",
            "enum": [
                "true",
                "false"
            ]
        },
        "reload_instance": {
            "properties": {
                "message_type": {
                    "type": "string",
                    "enum": [
                        "reload_instance"
                    ]
                },
                "hostname": {
                    "type": "string"
                },
                "method": {
                    "type": "string",
                    "enum": [
                        "button",
                        "hotkey"
                    ]
                },
                "pos_in_sequence": {
                    "type": "string"
                },
                "prev_delay": {
                    "type": "string"
                },
                "seq_uuid": {
                    "type": "string"
                },
                "session_uuid": {
                    "type": "string"
                },
                "asked": {
                    "$ref": "#/definitions/strbool"
                },
                "reaction": {
                    "$ref": "#/definitions/askreactionchoice"
                },
                "attributes_html5video": {
                    "$ref": "#/definitions/strbool"
                },
                "attributes_naiveflash": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_altKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_shiftKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_metaKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_ctrlKey": {
                    "$ref": "#/definitions/strbool"
                }
            },
            "required": [
                "message_type",
                "hostname",
                "method",
                "pos_in_sequence",
                "prev_delay",
                "seq_uuid",
                "session_uuid",
                "asked",
                "reaction",
                "attributes_html5video",
                "attributes_naiveflash",
                "mod_keys_altKey",
                "mod_keys_shiftKey",
                "mod_keys_metaKey",
                "mod_keys_ctrlKey"
            ]
        },
        "ask_reaction": {
            "properties": {
                "message_type": {
                    "type": "string",
                    "enum": [
                        "ask_reaction"
                    ]
                },
                "hostname": {
                    "type": "string"
                },
                "method": {
                    "type": "string",
                    "enum": [
                        "button",
                        "hotkey"
                    ]
                },
                "pos_in_sequence": {
                    "type": "string"
                },
                "prev_delay": {
                    "type": "string"
                },
                "seq_uuid": {
                    "type": "string"
                },
                "session_uuid": {
                    "type": "string"
                },
                "reaction": {
                    "$ref": "#/definitions/askreactionchoice"
                },
                "attributes_html5video": {
                    "$ref": "#/definitions/strbool"
                },
                "attributes_naiveflash": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_altKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_shiftKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_metaKey": {
                    "$ref": "#/definitions/strbool"
                },
                "mod_keys_ctrlKey": {
                    "$ref": "#/definitions/strbool"
                }
            },
            "required": [
                "message_type",
                "hostname",
                "method",
                "pos_in_sequence",
                "prev_delay",
                "seq_uuid",
                "session_uuid",
                "reaction",
                "attributes_html5video",
                "attributes_naiveflash",
                "mod_keys_altKey",
                "mod_keys_shiftKey",
                "mod_keys_metaKey",
                "mod_keys_ctrlKey"
            ]
        },
        "reload_sequence": {
            "properties": {
                "message_type": {
                    "type": "string",
                    "enum": [
                        "reload_sequence"
                    ]
                },
                "delays": {
                    "type": "string"
                },
                "length": {
                    "type": "string"
                },
                "hostname": {
                    "type": "string"
                },
                "asked": {
                    "$ref": "#/definitions/strbool"
                },
                "reaction": {
                    "$ref": "#/definitions/askreactionchoice"
                },
                "stats_mean_delay": {
                    "type": "string"
                },
                "stats_median_delay": {
                    "type": "string"
                },
                "stats_delay_sd": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                },
                "session_uuid": {
                    "type": "string"
                }
            },
            "required": [
                "message_type",
                "delays",
                "length",
                "hostname",
                "asked",
                "reaction",
                "stats_mean_delay",
                "stats_median_delay",
                "stats_delay_sd",
                "uuid",
                "session_uuid"
            ]
        }
    }
}