{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceTradeContact",
	"title": "UneceTradeContact",
	"description": "A person or a department that acts as a point of contact with another person or department in a trading relationship.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "TradeContact",
			"description": "JSON-LD Type."
		},
		"accessibleLocation": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceSpecifiedLocation"
			},
			"description": "An accessible location specified for this trade contact."
		},
		"authorizedPersonName": {
			"type": "string",
			"description": "The name, expressed as text, of the authorized person for this trade contact."
		},
		"contactTypeCode": {
			"anyOf": [
				{
					"$ref": "https://schema.twindev.org/unece/UneceContactTypeCodeList"
				},
				{
					"type": "string"
				}
			],
			"description": "The code specifying the type of trade contact."
		},
		"departmentName": {
			"type": "string",
			"description": "A name, expressed as text, of the department to which this trade contact belongs within an organization."
		},
		"description": {
			"type": "string",
			"description": "A textual description of this trade contact."
		},
		"directTelephoneCommunication": {
			"$ref": "https://schema.twindev.org/unece/UneceCommunication",
			"description": "The direct telephone communication information for this trade contact."
		},
		"eDICommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Electronic Data Interchange (EDI) communication information for this trade contact."
		},
		"emailURICommunication": {
			"$ref": "https://schema.twindev.org/unece/UneceCommunication",
			"description": "The email URI communication information for this trade contact."
		},
		"faxCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Fax communication information for this trade contact."
		},
		"identifier": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The unique identifier for this trade contact."
		},
		"instantMessagingCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Instant messaging communication information for this trade contact."
		},
		"jobTitle": {
			"type": "string",
			"description": "A job title, position or designation, expressed as text, of this trade contact within an organization, such as Director,\nSoftware Engineer, Purchasing Manager."
		},
		"mobileTelephoneCommunication": {
			"$ref": "https://schema.twindev.org/unece/UneceCommunication",
			"description": "The mobile telephone communication information for this trade contact."
		},
		"personId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "A unique identifier for this trade contact person."
		},
		"personName": {
			"type": "string",
			"description": "A name, expressed as text, of this trade contact person."
		},
		"postalAddress": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTradeAddress"
			},
			"description": "Postal address information for this trade contact."
		},
		"responsibility": {
			"type": "string",
			"description": "A responsibility, expressed as text, of this trade contact."
		},
		"specifiedContactPerson": {
			"$ref": "https://schema.twindev.org/unece/UneceContactPerson",
			"description": "The contact person specified for this trade contact."
		},
		"specifiedNote": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceNote"
			},
			"description": "A note specified for this trade contact."
		},
		"telephoneCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Telephone communication information for this trade contact."
		},
		"telexCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Telegraphy (Telex) communication information for this trade contact."
		},
		"uRICommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Uniform Resource Identifier (URI) communication information for this trade contact, such as a web or an email address."
		},
		"usedCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "A communication used by this trade contact."
		},
		"vOIPCommunication": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceCommunication"
			},
			"description": "Voice Over Internet Protocol (VOIP) communication information for this trade contact."
		}
	},
	"required": ["type"]
}
