{
	"$schema":"http://json-schema.org/draft-04/schema#",
	"title":"Interaction",
	"type":"object",
	"additionalProperties":false,
	"description":"Analytics-v3 .. Interaction object",
	"properties":{
		"log_context":{
			"$ref":"/resources/schema/analytics/client/v3/LogContext.json",
			"description":"Required Log Context Reference"
		},
		"event_name":{
			"type": "string",
			"enum": ["INTERACTION"]
		},
		"schema_definition":{
			"type": "string",
			"enum": ["Interaction"]
		},
		"event_type":{
			"type": "string",
			"enum": ["USER_EVENT", "SYSTEM_EVENT"],
			"description":"To identify if the event is triggered by the system or by a user interaction"
		},
		"event_zone":{
			"$ref":"/resources/schema/analytics/client/v3/EventZoneValues.json",
			"description":"The identify the zone from which user interaction happened"
		},
		"event_action":{
			"$ref":"/resources/schema/analytics/client/v3/EventActionValues.json",
			"description":"The identify the zone from which user interaction happened"
		},
		"event_module":{
			"$ref":"/resources/schema/analytics/client/v3/EventModuleValues.json",
			"description":"The identify the screen position where the event occured"
		},
		"event_label":{
			"type":"string",
			"description":"The label of the button or the icon interacted with"
		},
		"tab_position": {
			"type":"integer",
			"description":"This property is used to identify what tab was active when an event happened. Value 0(zero) will be fired for all events that are not happening in a tab. 1 to n values will be fired in order to determine the tab"
		},
		"column_position": {
			"type":"integer",
			"description":"This property is used to identify on what column the event happened. Value 0(zero) will be fired for all events that are not happening in a column. 1 to n values will be fired in order to determine the column"
		},
		"row_position": {
			"type":"integer",
			"description":"This property is used to identify on what row the event happened. Value 0(zero) will be fired for all events that are not happening in a row. 1 to n values will be fired in order to determine the row"
		},
		"event_metadata":{
			"type":"string",
			"description": "Contains optional JSON data pertaining to the event"
		},
		"feature":{
			"type":"string",
			"description":"The feature/functionality for which interaction is being logged"
		},
		"feature_id":{
			"type":"string",
			"description":"The id of the feature for which interaction is being logged"
		}
	},
	"required":[
		"log_context",
		"event_name",
		"schema_definition",
		"event_type",
		"event_zone",
		"event_action",
		"event_module",
		"event_label"
	]
}