{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/documents/DocumentAttestation",
	"title": "DocumentAttestation",
	"description": "Interface describing a document attestation.",
	"type": "object",
	"properties": {
		"@context": {
			"type": "array",
			"prefixItems": [
				{
					"const": "https://schema.org"
				},
				{
					"const": "https://schema.twindev.org/documents/"
				},
				{
					"const": "https://schema.twindev.org/common/"
				}
			],
			"items": false,
			"minItems": 3,
			"maxItems": 3,
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "DocumentAttestation",
			"description": "JSON-LD Type."
		},
		"documentId": {
			"type": "string",
			"description": "The id of the document."
		},
		"documentCode": {
			"$ref": "https://schema.twindev.org/unece/UneceDocumentCodeList",
			"description": "The code for the document type."
		},
		"documentRevision": {
			"type": "number",
			"description": "The revision of the document as a 0 based index."
		},
		"dateCreated": {
			"type": "string",
			"description": "The date/time of when the document was created."
		},
		"integrity": {
			"type": "string",
			"description": "The integrity of the document being attested."
		}
	},
	"required": [
		"@context",
		"type",
		"documentId",
		"documentCode",
		"documentRevision",
		"dateCreated",
		"integrity"
	]
}
