{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceExchangedDeclaration",
	"title": "UneceExchangedDeclaration",
	"description": "A collection of data for a piece of written, printed or electronic matter that is exchanged between two parties as a\nformal declaration.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "ExchangedDeclaration",
			"description": "JSON-LD Type."
		},
		"additionalStatementNote": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceNote"
			},
			"description": "An additional statement note for this exchanged declaration."
		},
		"applicableCustomsValuation": {
			"$ref": "https://schema.twindev.org/unece/UneceCustomsValuation",
			"description": "Customs valuation information applicable to this exchanged declaration."
		},
		"associatedDocument": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceDocument"
			},
			"description": "A referenced document associated with this exchanged declaration."
		},
		"currencyExchangeRate": {
			"type": "string",
			"description": "The rate of currency exchange in this exchanged declaration."
		},
		"customsValueSpecifiedAmount": {
			"$ref": "https://schema.twindev.org/unece/UneceAmountType",
			"description": "The monetary value specified for customs purposes in this exchanged declaration."
		},
		"declarantAgentParty": {
			"$ref": "https://schema.twindev.org/unece/UneceTradeParty",
			"description": "The trade party acting as an agent for the declarant for this exchanged declaration."
		},
		"declarantParty": {
			"$ref": "https://schema.twindev.org/unece/UneceTradeParty",
			"description": "The trade party acting as the declarant for this exchanged declaration."
		},
		"documentTypeCode": {
			"$ref": "https://schema.twindev.org/unece/UneceDocumentCodeList",
			"description": "The code specifying the type of this exchanged declaration."
		},
		"grossWeightSpecifiedMeasure": {
			"$ref": "https://schema.twindev.org/unece/UneceWeightUnitMeasureType",
			"description": "The gross weight measure specified in this exchanged declaration."
		},
		"identifier": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "An identifier for this exchanged declaration."
		},
		"issueDateTime": {
			"type": "string",
			"description": "The date, time, date time or other date time value for the issuance of this exchanged declaration.",
			"format": "date-time"
		},
		"jurisdictionEntryDateTime": {
			"type": "string",
			"description": "The date, time, date time or other date time value when the items which are a subject of this exchanged declaration\nenter a jurisdiction, such as the actual date of arrival of a means of transport.",
			"format": "date-time"
		},
		"previousDocument": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceDocument"
			},
			"description": "A previous document referenced for this exchanged declaration."
		},
		"principalAssociatedParty": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/unece/UneceTradeParty"
			},
			"description": "A principal trade party associated with this exchanged declaration."
		},
		"procedureCode": {
			"type": "string",
			"description": "A code specifying a procedure for this exchanged declaration."
		},
		"specificCircumstanceCode": {
			"type": "string",
			"description": "The code specifying a specific circumstance in this exchanged declaration."
		},
		"statisticalValueSpecifiedAmount": {
			"$ref": "https://schema.twindev.org/unece/UneceAmountType",
			"description": "The monetary value specified for statistical purposes in this exchanged declaration."
		},
		"submissionLocation": {
			"$ref": "https://schema.twindev.org/unece/UneceLogisticsLocation",
			"description": "The submission location for this exchanged declaration."
		},
		"totalInvoiceSpecifiedAmount": {
			"$ref": "https://schema.twindev.org/unece/UneceAmountType",
			"description": "The total invoice monetary value specified in this exchanged declaration."
		},
		"totalPackageSpecifiedQuantity": {
			"$ref": "https://schema.twindev.org/unece/UneceQuantityType",
			"description": "The total package quantity specified in this exchanged declaration."
		},
		"versionId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The identifier for the version of this exchanged declaration."
		}
	},
	"required": ["type"]
}
