{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceTradeLocation",
	"title": "UneceTradeLocation",
	"description": "A physical location or place used or referenced for trade purposes.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "TradeLocation",
			"description": "JSON-LD Type."
		},
		"countryName": {
			"type": "string",
			"description": "The name, expressed as text, of a country location used or referenced in trade."
		},
		"countrySubDivisionId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The unique identifier of the country sub-division for this trade location."
		},
		"countrySubDivisionName": {
			"type": "string",
			"description": "The name, expressed as text, of a sub-division of a country location used or referenced in trade."
		},
		"identifier": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The unique identifier for this location used or referenced in trade."
		},
		"locationFunctionTypeCode": {
			"type": "array",
			"items": {
				"anyOf": [
					{
						"$ref": "https://schema.twindev.org/unece/UneceLocationFunctionCodeList"
					},
					{
						"type": "string"
					}
				]
			},
			"description": "A code specifying the type of trade location."
		},
		"name": {
			"type": "string",
			"description": "The name, expressed as text, of this location used or referenced in trade."
		},
		"tradeLocationCountryId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The unique identifier of a country location used or referenced in trade."
		}
	},
	"required": ["type"]
}
