{
	"id": "Action.json",
	"title": "Action",
	"description": "An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n\nSee also blog post and Actions overview document.",
	"media": {"type": "application/json;profile=http://schema.org/Action"},
	"allOf": [{"$ref": "Thing.json"}],
	"type": "object",
	"properties": {
		"actionStatus": {
			"oneOf": [
				{"$ref": "ActionStatusType.json#/definitions/possibleRef"},
				{
					"type": "array",
					"items": {"$ref": "ActionStatusType.json#/definitions/possibleRef"}
				}
			]
		},
		"agent": {"$ref": "#/definitions/agent"},
		"endTime": {"$ref": "#/definitions/endTime"},
		"error": {
			"oneOf": [
				{"$ref": "Thing.json#/definitions/possibleRef"},
				{
					"type": "array",
					"items": {"$ref": "Thing.json#/definitions/possibleRef"}
				}
			]
		},
		"instrument": {"$ref": "Thing.json#/definitions/possibleRef"},
		"location": {"$ref": "#/definitions/location"},
		"object": {"$ref": "Thing.json#/definitions/possibleRef"},
		"participant": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/participant"}
				},
				{"$ref": "#/definitions/participant"}
			]
		},
		"result": {"$ref": "Thing.json#/definitions/possibleRef"},
		"startTime": {"$ref": "#/definitions/startTime"},
		"target": {
			"oneOf": [
				{"$ref": "EntryPoint.json#/definitions/possibleRef"},
				{
					"type": "array",
					"items": {"$ref": "EntryPoint.json#/definitions/possibleRef"}
				}
			]
		}
	},
	"definitions": {
		"array": {
			"type": "array",
			"items": {"$ref": "#"}
		},
		"possibleRef": {
			"oneOf": [
				{"$ref": "#"},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"possibleRefArray": {
			"oneOf": [
				{
					"type": "array",
					"items": {"$ref": "#/definitions/possibleRef"}
				},
				{
					"type": "string",
					"format": "uri",
					"links": [{
						"rel": "full",
						"href": "{+$}"
					}]
				}
			]
		},
		"agent": {
			"title": "Agent",
			"description": "The direct performer or driver of the action (animate or inanimate). e.g. John wrote a book.",
			"anyOf": [{"$ref": "Organization.json#/definitions/possibleRef"}, {"$ref": "Person.json#/definitions/possibleRef"}]
		},
		"endTime": {
			"title": "End Time",
			"description": "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.",
			"anyOf": [
				{
					"type": "string",
					"format": "date-time"
				},
				{
					"type": "string",
					"format": "time"
				}
			]
		},
		"location": {
			"title": "Location",
			"description": "The location of for example where the event is happening, an organization is located, or where an action takes place.",
			"anyOf": [{"type": "string"}, {"$ref": "PostalAddress.json#/definitions/possibleRef"}, {"$ref": "Place.json#/definitions/possibleRef"}]
		},
		"participant": {
			"title": "Participant",
			"description": "Other co-agents that participated in the action indirectly. e.g. John wrote a book with Steve.",
			"anyOf": [{"$ref": "Organization.json#/definitions/possibleRef"}, {"$ref": "Person.json#/definitions/possibleRef"}]
		},
		"startTime": {
			"title": "Start Time",
			"description": "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.",
			"anyOf": [
				{
					"type": "string",
					"format": "date-time"
				},
				{
					"type": "string",
					"format": "time"
				}
			]
		}
	}
}