{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://linked.art/api/1.0/schema/provenance.json",
	"title": "Provenance Activity Schema",
	"description": "_crm:E7\\_Activity_\nA broad activity during which the ownership, custody, location or other rights related to one or more objects are changed\nSee: [API](https://linked.art/api/1.0/endpoint/provenance/) | [Model](https://linked.art/model/provenance/)",
	"type": "object",
	"properties": {
		"@context": {"$ref": "core.json#/$defs/ContextStringOrArray"},
		"id": {"$ref": "core.json#/$defs/idProp"},
		"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
			{"title": "Specific", "type": "string", "const": "Activity"}]},
		"_label": {"$ref": "core.json#/$defs/labelProp"},
		"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
		"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
		"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
		"equivalent": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/equivalentProp"},
			{"title": "Specific", "description": "List of equivalent `Activity` entities", "type": "array", "items": {"$ref": "core.json#/$defs/ActivityRef"}}]},
		"representation": {"$ref": "core.json#/$defs/representationProp"},
		"member_of": {"$ref": "core.json#/$defs/member_ofSetProp"},
		"subject_of": {"$ref": "core.json#/$defs/subject_ofProp"},
		"attributed_by": {"$ref": "core.json#/$defs/attributed_byRelProp"},

		"during": {"$ref": "core.json#/$defs/duringProp"},
		"after": {"$ref": "core.json#/$defs/afterProp"},
		"before": {"$ref": "core.json#/$defs/beforeProp"},

		"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
		"timespan": {"$ref": "core.json#/$defs/timespanProp"},
		"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
		"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
		"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
		"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
		"technique": {"$ref": "core.json#/$defs/techniqueProp"},

		"part_of": {"title": "crm:P9i_forms_part_of", "description": "An identified event or activity which this activity is part of", "$ref": "core.json#/$defs/EventRefOrActivityRef"},
		"part": {"title": "crm:P9_consists_of", "description": "More specific parts of the event", "type": "array", "items": {"$ref": "#/$defs/PartOptions"}}
	},

	"$defs": {
		"PartOptions": {
			"anyOf": [
				{"$ref": "#/$defs/Acquisition"},
				{"$ref": "#/$defs/RightAcquisition"},
				{"$ref": "#/$defs/TransferOfCustody"},
				{"$ref": "#/$defs/Payment"},
				{"$ref": "#/$defs/Encounter"},
				{"$ref": "#/$defs/Move"},
				{"$ref": "#/$defs/Promise"}
			]
		},

		"Acquisition": {
			"title": "crm:E8_Acquisition",
			"description": "The transfer of ownership of a physical object between parties",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "Acquisition"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"transferred_title_from": {"title": "crm:P23_transferred_title_from", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"transferred_title_to": {"title": "crm:P22_transferred_title_to", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"transferred_title_of": {"title": "crm:P24_transferred_title_of", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/HumanMadeObjectRef"}}
			},
			"required": ["type", "transferred_title_of"],
			"additionalProperties": false
		},
		"TransferOfCustody": {
			"title": "crm:E10_Transfer_of_Custody",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "TransferOfCustody"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"transferred_custody_from": {"title": "crm:P28_custody_surrendered_by", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"transferred_custody_to": {"title": "crm:P29_custody_received_by", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"transferred_custody_of": {"title": "crm:P30_transferred_custody_of", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/HumanMadeObjectRef"}}
			},
			"required": ["type", "transferred_custody_of"],
			"additionalProperties": false			
		},
		"Payment": {
			"title": "la:Payment",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "Payment"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"paid_from": {"title": "la:paid_from", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"paid_to": {"title": "la:paid_to", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/PersonRefOrGroupRef"}},
				"paid_amount": {"title": "la:paid_amount", "description": "", "$ref": "core.json#/$defs/MonetaryAmount"}
			},
			"required": ["type"],
			"additionalProperties": false			
		},
		"RightAcquisition": {
			"title": "la:RightAcquisition",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "RightAcquisition"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"establishes": {"title": "la:establishes", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/LegalRight"}},
				"invalidates": {"title": "la:invalidates", "description": "", "type": "array", "items": {"$ref": "core.json#/$defs/LegalRight"}}
			},
			"required": ["type", "establishes"],
			"additionalProperties": false	
		},
		"Move": {
			"title": "crm:E9_Move",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "Move"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"moved_from": {"title": "crm:P27_moved_from", "description": "Reference to the Place where the objects were moved from", "$ref": "core.json#/$defs/PlaceRef"},
				"moved_to": {"title": "crm:P26_moved_to", "description": "Reference to the Place where the objects were moved to", "$ref": "core.json#/$defs/PlaceRef"},
				"moved": {"title": "crm:P25_moved", "description": "The objects that were moved", "type": "array", "items": {"$ref": "core.json#/$defs/HumanMadeObjectRef"}}
			},
			"required": ["type", "moved"],
			"additionalProperties": false	
		},		
		"Encounter": {
			"title": "sci:S19_Encounter_Event",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "Encounter"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"},

				"encountered": {"title": "sci:O19_has_found_object", "description": "The objects that were encountered during this event", "type": "array", "items": {"$ref": "core.json#/$defs/HumanMadeObjectRef"}}
			},
			"required": ["type", "encountered"],
			"additionalProperties": false	
		},
		"Promise": {
			"title": "crm:E7_Activity",
			"description": "",
			"type": "object",
			"properties": {
				"type": {"allOf": [{"title": "General", "$ref": "core.json#/$defs/typeProp"},
					{"title": "Specific", "type": "string", "const": "Activity"}]},
				"_label": {"$ref": "core.json#/$defs/labelProp"},
				"identified_by": {"$ref": "core.json#/$defs/identified_byProp"},
				"classified_as": {"$ref": "core.json#/$defs/classified_asProp"},
				"referred_to_by": {"$ref": "core.json#/$defs/referred_to_byProp"},
				"took_place_at": {"$ref": "core.json#/$defs/took_place_atProp"},
				"timespan": {"$ref": "core.json#/$defs/timespanProp"},
				"caused_by": {"$ref": "core.json#/$defs/caused_byProp"},
				"carried_out_by": {"$ref": "core.json#/$defs/carried_out_byProp"},
				"used_specific_object": {"$ref": "core.json#/$defs/used_specific_objectProp"},
				"influenced_by": {"$ref": "core.json#/$defs/influenced_byProp"},
				"technique": {"$ref": "core.json#/$defs/techniqueProp"},
				"during": {"$ref": "core.json#/$defs/duringProp"},
				"after": {"$ref": "core.json#/$defs/afterProp"},
				"before": {"$ref": "core.json#/$defs/beforeProp"}
			},
			"required": ["type", "classified_as"],
			"additionalProperties": false	
		}
	},
	"required": ["@context", "id", "type", "_label", "classified_as"],
	"additionalProperties": false
}
