{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"title": "LogContext",
	"type": "object",
	"additionalProperties": false,
	"description": "Analytics-v2 .. basic Log Context object",
	"properties": {
		"utc_timestamp": {
			"type": "integer",
			"description": "Required UTC timestamp in milliseconds for event/click"
		},
		"time_zone": {
			"$ref": "/resources/schema/analytics/client/v2/TimeZoneType.json",
			"description": "Required User specific timestamp in milliseconds for event/click"
		},
		"log_id": {
			"type": "string",
			"description": "Required UUID of the log record"
		},
		"ad_id": {
			"type": "string",
			"description": "IDFA/Android-ID .. always required on iOS, whenever available on Android"
		},
		"reg_vid": {
			"type": "string",
			"description": "Registered Visitor ID - Currently known as internal UserID. It can also take values - Guest, OptOut or Demo for different type of customers"
		},
		"visitor_id": {
			"type": "string",
			"description": "Required Unique ID for the application instance on the device.  create from hash(IDFV/AndroidID/AdsID + timestampInMillis)"
		},
		"os_version": {
			"type": "string",
			"description": "Required Device OS version e.g. iOS 7.01"
		},
		"os_name": {
			"type": "string",
			"description": "Required Device OS"
		},
		"connection_type": {
			"$ref": "/resources/schema/analytics/client/v2/InternetConnectionType.json",
			"description": "Required Connection Type of device for the event/click"
		},
		"carrier": {
			"type": "string",
			"description": "Hame of the carrier e.g. ATT/Verizon, if available"
		},
		"app_id": {
			"type": "string",
			"description": "Required Application APP ID"
		},
		"app_version": {
			"type": "string",
			"description": "Version of scout, e.g. 1.18.<build#> - Append the build number to app version"
		},
		"build": {
			"type": "string",
			"description": "build identifier of the application"
		},
		"device_orientation": {
			"$ref": "/resources/schema/analytics/client/v2/DeviceOrientationType.json",
			"description": "Required device orientation, even if we don't have an experience built around it, we'd still like to understand how the device is positioned"
		},
		"account_type": {
			"$ref": "/resources/schema/analytics/client/v2/AccountType.json",
			"description": "Type of the account, whether free or paid"
		},
		"login_type": {
			"$ref": "/resources/schema/analytics/client/v2/LoginType.json",
			"description": "Required type of user - gmail, facebook, email, anonymous - we will be using this to determine the logged in state so it should be sent with every call. If the user is not logged in simply pass NONE"
		},
		"device_make": {
			"type": "string",
			"description": "Required Device Make, e.g. Apple, HTC, Samsumg"
		},
		"device_model": {
			"type": "string",
			"description": "Required Device Model, e.g. iPhone, HTCOneX, Galaxy Nexus"
		},
		"gps_state": {
			"$ref": "/resources/schema/analytics/client/v2/GpsStateType.json",
			"description": "Requiored state of GPS whether GPS is currently enabled or disabled"
		},
		"map_source": {
			"$ref": "/resources/schema/analytics/client/v2/MapSourceType.json",
			"description": "Map source currently configured for the app/user"
		},
		"current_lat": {
			"type": "number",
			"description": "current latitude of the user"
		},
		"current_lon": {
			"type": "number",
			"description": "Current longitude of the user"
		},
		"offer_code": {
			"type": "string",
			"description": "Offer code of current subscription"
		},
		"billing_id": {
			"type": "string",
			"description": "ID to tie a user to the Billing system. With this ID Finance should be able to link events back to PTN"
		},
		"app_status": {
			"$ref": "/resources/schema/analytics/client/v2/AppStatusType.json",
			"description": "Required(for mobile) app state, whether app is active in the background or foreground"
		},
		"usage_type": {
			"$ref": "/resources/schema/analytics/client/v2/UsageType.json",
			"description": "Required(for mobile) whether event occurred in cloud and/or onboard mode"
		},
		"log_version": {
			"$ref": "/resources/schema/analytics/client/v2/LogVersionType.json",
			"description": "Required version of the logging specs.  This one is V2"
		},
		"manufacturer_id": {
			"type": "string",
			"description": "Required for auto..Unique identifier for each user on the manufacturer's side"
		},
		"car_id": {
			"type": "string",
			"description": "Unique identifier for each car. Could be VIN / IMEI / BTID or a combination of these fields"
		},
		"device_id": {
			"type": "string",
			"description": "Unique id for the device. Should be able to infer the model, screen size etc from the id."
		},
		"map_version": {
			"type": "string",
			"description": "Field to track the version of map we're on at the time."
		},
		"auto_make": {
			"type": "string",
			"description": "The auto make"
		},
		"speed": {
			"type": "number",
			"description": "Speed of the car in MPH"
		},
		"heading": {
			"type": "number",
			"description": "Heading of the user, Degrees measured clockwise from North"
		},
		"elevation": {
			"type": "number",
			"description": "elevation of the user in feet"
		},
		"bucket": {
			"type": "array",
			"items": {
				"type": "string"
			},
			"minItems": 1,
			"description": "Array with the list of AB test identifiers. This is for AB testing, default value is OTHER.  Test specific values are of the form campaignID<bucketname>.  For example, if campaign ID from Amazon SDK is 123ABC and bucket is test group; the ID is 123ABCTEST"
		},
		"model_year": {
			"type": "string",
			"description": "car model year code from the vin number - H for 2017,J for 2018 etc"
		},
		"vehicle_manufacturer": {
			"type": "string",
			"description": "2 letters code, designates the vehicle manufacturer"
		},
		"car_model": {
			"type": "string",
			"description": "5 letters field, denotes the vehicle's brand, engine size and type"
		},
		"region": {
			"type": "string",
			"description": "Region is defined by the Region the Vehicle will be sold into - NA, EU, IL etc"
		},
		"language": {
			"type": "string",
			"description": "Language is defined by the system setting for the display Language. Telenav definition of language should be used.En-rUS=US English or En-rGB=UK English"
		},
		"udc_version": {
			"type": "string",
			"description": "UDC library version being use, applicable to UDC"
		},
		"interaction_method": {
			"$ref": "/resources/schema/analytics/client/v2/InteractionMethodValues.json",
			"description": "Logs headunit type being used"
		},
		"hu_type": {
			"$ref": "/resources/schema/analytics/client/v2/HUTypeValues.json",
			"description": "Logs headunit type being used"
		},
		"connect_method": {
			"$ref": "/resources/schema/analytics/client/v2/ConnectMethodValues.json",
			"description": "Logs how Phone is connected to HU"
		}
	},
	"required": [
		"utc_timestamp",
		"time_zone",
		"log_id",
		"visitor_id"
	]

}