{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceTTParty",
	"title": "UneceTTParty",
	"description": "An individual, group, or body related to a Track and Trace (TT) process.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "TTParty",
			"description": "JSON-LD Type."
		},
		"identifier": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "An identifier for this TT party."
		},
		"managedCharacteristic": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTechnicalCharacteristic"
			},
			"description": "A technical characteristic managed by this TT party."
		},
		"name": {
			"type": "string",
			"description": "The name, expressed as text, for this TT party."
		},
		"partyTypeCode": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UnecePartyTypeCodeList"
			},
			"description": "A code specifying the type of TT party."
		},
		"residenceCountryId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The identifier for the country of residence for this TT party, such as the country in which a person lives or in which a\ncorporation has its place of incorporation."
		},
		"specifiedTTAnimal": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTTAnimal"
			},
			"description": "A tracking animal specified for this TT party."
		},
		"specifiedTTLocation": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTTLocation"
			},
			"description": "A location specified for this TT party."
		},
		"tTPartyRoleCode": {
			"type": "string",
			"description": "A code specifying the role of this TT party."
		},
		"typeId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "An identifier of the type for this TT party."
		}
	},
	"required": ["type", "identifier"]
}
