{
	"$id": "https://docs.digdir.no/schemas/common/sbdh.schema.json",
	"$schema": "http://json-schema.org/draft-07/schema#",
	"description": "Schema for Standard business document header (SBD) brukt av Digdir",
	"definitions": {
		"standardBusinessDocumentHeader": {
			"type": "object",
            "$id": "#/definitions/standardBusinessDocumentHeader",
			"additionalProperties": false,
			"properties": {
				"headerVersion": {
					"type": "string",
					"default": "1.0"
				},
				"sender": {
					"type": "array",
					"minItems": 1,
					"maxItems": 1,
					"description": "Informasjon om avsender",
					"items": {
						"$ref": "#/definitions/actor"
					}
				},
				"receiver": {
					"type": "array",
					"minItems": 1,
					"maxItems": 1,
					"description": "Informasjon om mottaker",
					"items": {
						"$ref": "#/definitions/actor"
					}
				},
				"documentIdentification": {
					"$ref": "#/definitions/documentIdentification"
				},
				"businessScope": {
					"$ref": "#/definitions/businessScope"
				}
			},
			"required": [
				"businessScope",
				"documentIdentification",
				"headerVersion",
				"receiver",
				"sender"
			],
			"title": "standardBusinessDocumentHeader"
		},
		"businessScope": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"scope": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/scope"
					}
				}
			},
			"required": [
				"scope"
			],
			"title": "BusinessScope"
		},
		"scope": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"type": {
					"type": "string"
				},
				"instanceIdentifier": {
					"type": "string",
					"format": "uuid"
				},
				"identifier": {
					"type": "string"
				},
				"scopeInformation": {
					"type": "array",
					"items": {
						"$ref": "#/definitions/scopeInformation"
					}
				}
			},
			"required": [
				"type"
			],
			"title": "Scope"
		},
		"scopeInformation": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"expectedResponseDateTime": {
					"type": "string"
				}
			},			
			"title": "ScopeInformation"
		},
		"documentIdentification": {
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"standard": {
					"type": "string"
				},
				"typeVersion": {
					"type": "string"
				},
				"instanceIdentifier": {
					"type": "string",
					"format": "uuid"
				},
				"type": {
					"type": "string"
				},
				"creationDateAndTime": {
					"type": "string",
					"format": "date-time"
				}
			},
			"required": [
				"creationDateAndTime",
				"instanceIdentifier",
				"standard",
				"type",
				"typeVersion"
			],
			"title": "DocumentIdentification"
		},
		
		"actor": {
			"$id": "#/definitions/actor",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"identifier": {
					"$ref": "#/definitions/identifier"
				}
			},
			"required": [
				"identifier"
			],
			"title": "Receiver"
		},

		"identifier": {
			"$id": "#/definitions/identifier",
			"type": "object",
			"additionalProperties": false,
			"properties": {
				"authority": {
					"type": "string",
					"description": "Henviser til identitesautoritet. For orgnr angi iso6523-actorid-upis, for personnummer iso3166-1"
				},
				"value": {
					"type": "string",
					"description": "For norsk organisasjon 0192:<organisasjonsnummer>, for person NO:<personnummer>"
				}
			},
			"required": [
				"authority",
				"value"
			],
			"title": "Identifier"
		}
    }	
}
