{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/w3c-odrl/OdrlAgreement",
	"title": "OdrlAgreement",
	"description": "Interface representing an ODRL Agreement.\nAn Agreement requires both an assigner and assignee (both agreeing parties).\nhttps://www.w3.org/TR/odrl-model/#policy-agreement",
	"type": "object",
	"properties": {
		"@type": {
			"const": "Agreement",
			"description": "The type must be \"Agreement\"."
		},
		"assigner": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
				}
			],
			"description": "The assigner of the agreement.\nRequired for Agreement policies."
		},
		"assignee": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
				}
			],
			"description": "The assignee of the agreement.\nRequired for Agreement policies."
		}
	},
	"required": ["@type", "assigner", "assignee"],
	"allOf": [
		{
			"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy"
		}
	]
}
