{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/unece/UneceEnvelope",
	"title": "UneceEnvelope",
	"description": "A structure providing XHE (Exchange Header Envelope) information.",
	"type": "object",
	"properties": {
		"@context": {
			"$ref": "https://schema.twindev.org/unece/UneceContextType",
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "Envelope",
			"description": "JSON-LD Type."
		},
		"customizationId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The customization identifier for this XHE envelope."
		},
		"includedPayload": {
			"$ref": "https://schema.twindev.org/unece/UnecePayload",
			"description": "The payload included in this XHE envelope."
		},
		"metadataDocument": {
			"$ref": "https://schema.twindev.org/unece/UneceXHEDocument",
			"description": "The document metadata for this XHE envelope."
		},
		"payloadIncludedIndicator": {
			"type": "boolean",
			"description": "The indication of whether or not a payload is included in this XHE envelope."
		},
		"profileExecutionId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The profile execution identifier for this XHE envelope."
		},
		"profileId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The profile identifier for this XHE envelope."
		},
		"versionId": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdValueObject"
				}
			],
			"description": "The version identifier for this XHE envelope."
		}
	},
	"required": ["type", "metadataDocument", "versionId"]
}
