====== Ausweisdokumente ======
**B2Base · 1.0.0-draft.1 · Projektentwurf**
Dokumentnummern, Aussteller, Gültigkeitsangaben und mehrsprachige Erläuterungen.
[[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]]
===== Direkt verwenden =====
[[b2schema>1.0.0-draft.1/person/identificationdocuments.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/identificationdocuments.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/identificationdocuments.examples.json|Beispieldaten]]
**Austauschschema:** vollständige Strukturprüfung mit JSON Schema 2020-12. **Designer-Fassung:** gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. [[:guidelines#im_workflowdesigner_verwenden|Anleitung und Grenzen]]
===== Felder im Überblick =====
^ Feld ^ Typ ^ Pflicht im Modul ^ Bedeutung ^
| ''documents'' | array | Ja | Vorliegende Ausweisdokumente. |
| ''extensions'' | object | Nein | Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern. |
Pflichtangaben gelten für das jeweilige Objekt, wenn dieses Modul verwendet wird. Zusätzliche Alternativen und Statusregeln stehen im Austauschschema. Optionale Felder weglassen, wenn sie unbekannt oder nicht anwendbar sind; ein leeres Pflichtfeld ist kein gültiger Ersatz.
===== International richtig einsetzen =====
* BCP-47-Sprachtags ersetzen die Beschränkung auf zwei Buchstaben und einen Ländersuffix.
* Internationale Aussteller benötigen nicht zwingend einen ISO-Ländercode. MRZ-Länderkürzel sind ein eigenes System und dürfen nicht unverändert in ISO-Alpha-2-Felder gelangen.
* Status, Zeitfolge, MRZ-Format, Prüfziffern und Echtheit benötigen gesonderte fachliche Prüfungen. Die Beispieldaten sind synthetisch und kein Musterausweis.
===== Gültige Beispiele =====
Alle Beispiele sind synthetisch. Sie werden mit dem mitgelieferten Schema geprüft; daraus folgt keine fachliche Echtheit oder externe Erreichbarkeit.
==== Beispiel 1 ====
{
"documents": [
{
"type": {
"value": "passport",
"scheme": "https://example.org/vocab/document-types/v1"
},
"number": "EXAMPLE-00042",
"issuer": {
"authority": "Example Issuing Authority",
"country": "CA"
},
"translations": [
{
"language": "zh-Hant",
"typeTranslated": "護照"
}
]
}
]
}
===== Umstellung aus dem bisherigen Wiki =====
Die bisherigen Hauptfelder bleiben. type.scheme und validityStatus.scheme sind jetzt für eine eindeutige Bedeutung erforderlich; issueDate und issuer.country nicht mehr pauschal. MRZ-Beispiele mit ungesicherter Prüfziffer wurden entfernt.
[[schemes:migration|Änderungsübersicht und Migrationsregeln]]
===== Vollständiges Schema =====
Die Datei ist eigenständig: verwendete Bausteine sind unter ''$defs'' eingebettet, Referenzen bleiben lokal. ''$id'' ist die kanonische Kennung. Die Downloads oben verwenden den aktuellen Server; eine Veröffentlichung unter der kanonischen Domain ist damit nicht behauptet.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/identificationdocuments.schema.json",
"title": "Ausweisdokumente",
"$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
"type": "object",
"description": "Ausweisdokumente einer Person.",
"properties": {
"documents": {
"type": "array",
"description": "Vorliegende Ausweisdokumente.",
"items": {
"$ref": "#/$defs/IdentityDocument"
},
"minItems": 1
},
"extensions": {
"type": "object",
"description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.",
"properties": {},
"additionalProperties": true,
"propertyNames": {
"format": "uri"
}
}
},
"required": [
"documents"
],
"additionalProperties": false,
"$defs": {
"IdentityDocument": {
"type": "object",
"description": "Ein Ausweisdokument; fachliche Dokumentarten kommen aus einem benannten Vokabular.",
"properties": {
"type": {
"$ref": "#/$defs/CodedValue"
},
"number": {
"type": "string",
"minLength": 1,
"description": "Offizielle Dokumentnummer in Originalschreibweise."
},
"issuer": {
"$ref": "#/$defs/Issuer"
},
"issueDate": {
"type": "string",
"minLength": 1,
"description": "Bekanntes Ausstellungsdatum.",
"format": "date"
},
"expiryDate": {
"type": "string",
"minLength": 1,
"description": "Ablaufdatum, falls vorhanden; unbefristete Dokumente brauchen kein erfundenes Datum.",
"format": "date"
},
"validityStatus": {
"$ref": "#/$defs/CodedValue",
"description": "Statusbehauptung aus benanntem System; keine automatische Verifikation."
},
"statusCheckedAt": {
"type": "string",
"minLength": 1,
"description": "Zeitpunkt der Statusprüfung, falls tatsächlich erfolgt.",
"format": "date-time"
},
"machineReadableZone": {
"type": "object",
"description": "Originalzeilen einer MRZ. Aufbau und Prüfziffern benötigen das konkrete Dokumentprofil.",
"properties": {
"lines": {
"type": "array",
"description": "MRZ-Zeilen unverändert und ohne Zeilenumbrüche innerhalb der Einträge.",
"items": {
"type": "string",
"minLength": 1,
"description": "Eine MRZ-Zeile.",
"pattern": "^[A-Z0-9<]+$"
},
"minItems": 2,
"maxItems": 3
}
},
"required": [
"lines"
],
"additionalProperties": false
},
"notes": {
"type": "array",
"description": "Sprachlich bezeichnete Hinweise.",
"items": {
"$ref": "#/$defs/LocalizedText"
}
},
"linkedBiometrics": {
"type": "array",
"description": "Verweise auf getrennte Nachweise, keine eingebetteten Rohdaten.",
"items": {
"type": "object",
"description": "Nachweisreferenz.",
"properties": {
"type": {
"type": "string",
"minLength": 1,
"description": "Verfahren oder Nachweisart."
},
"reference": {
"type": "string",
"minLength": 1,
"description": "Nachweis-URI.",
"format": "uri"
}
},
"required": [
"type",
"reference"
],
"additionalProperties": false
}
},
"translations": {
"type": "array",
"description": "Optionale Übersetzungen; Originale bleiben maßgeblich.",
"items": {
"type": "object",
"description": "Übersetzte Bezeichnungen.",
"properties": {
"language": {
"$ref": "#/$defs/LanguageTag"
},
"authorityTranslated": {
"type": "string",
"minLength": 1,
"description": "Übersetzung der Ausstellerbezeichnung."
},
"typeTranslated": {
"type": "string",
"minLength": 1,
"description": "Übersetzung der Dokumentart."
}
},
"required": [
"language"
],
"additionalProperties": false
}
},
"extensions": {
"type": "object",
"description": "Vereinbarte Erweiterungen; Schlüssel als absolute URI des Herausgebers. Keine stillschweigende Änderung von Kernfeldern.",
"properties": {},
"additionalProperties": true,
"propertyNames": {
"format": "uri"
}
}
},
"required": [
"type",
"number",
"issuer"
],
"additionalProperties": false
},
"CodedValue": {
"type": "object",
"description": "Fachlicher Code mit benanntem Vokabular.",
"properties": {
"value": {
"type": "string",
"minLength": 1,
"description": "Code aus dem bezeichneten Vokabular; als Text unverändert übernehmen."
},
"scheme": {
"type": "string",
"minLength": 1,
"description": "Absolute URI des Vokabulars, einschließlich einer Version, falls dessen Bedeutung veränderlich ist.",
"format": "uri"
},
"label": {
"type": "string",
"minLength": 1,
"description": "Optionale lesbare Bezeichnung."
},
"language": {
"$ref": "#/$defs/LanguageTag",
"description": "Sprache der Bezeichnung, nicht Staatsangehörigkeit."
}
},
"required": [
"value",
"scheme"
],
"additionalProperties": false
},
"LanguageTag": {
"type": "string",
"minLength": 1,
"description": "BCP-47-Sprachtag, etwa de, zh-Hant-TW, sr-Latn oder x-internal. Das Muster prüft nur die Grundform, nicht Registrierung oder alle BCP-47-Regeln.",
"pattern": "^[A-Za-z]{1,8}(-[A-Za-z0-9]{1,8})*$"
},
"Issuer": {
"type": "object",
"description": "Aussteller einschließlich internationaler Organisationen.",
"properties": {
"authority": {
"type": "string",
"minLength": 1,
"description": "Originalname der Behörde oder Organisation."
},
"id": {
"type": "string",
"minLength": 1,
"description": "Stabile Kennung des Ausstellers.",
"format": "uri"
},
"country": {
"$ref": "#/$defs/CountryCode",
"description": "Optional: Land des Ausstellers; keine erfundene Länderkennung für internationale Organisationen."
},
"region": {
"type": "string",
"minLength": 1,
"description": "Optionale Verwaltungseinheit oder Zuständigkeitsbezeichnung."
}
},
"required": [
"authority"
],
"additionalProperties": false
},
"CountryCode": {
"type": "string",
"minLength": 1,
"description": "ISO 3166-1 Alpha-2, Großbuchstaben. Das Muster prüft nur die Schreibweise; zugewiesenen Code und Gültigkeitszeitpunkt gesondert prüfen.",
"pattern": "^[A-Z]{2}$"
},
"LocalizedText": {
"type": "object",
"description": "Text mit expliziter Sprache; Originalschreibweise erhalten.",
"properties": {
"text": {
"type": "string",
"minLength": 1,
"description": "Inhalt in Unicode."
},
"language": {
"$ref": "#/$defs/LanguageTag"
}
},
"required": [
"text",
"language"
],
"additionalProperties": false
}
},
"examples": [
{
"documents": [
{
"type": {
"value": "passport",
"scheme": "https://example.org/vocab/document-types/v1"
},
"number": "EXAMPLE-00042",
"issuer": {
"authority": "Example Issuing Authority",
"country": "CA"
},
"translations": [
{
"language": "zh-Hant",
"typeTranslated": "護照"
}
]
}
]
}
]
}
===== Quellen und Abgrenzung =====
* [[https://www.rfc-editor.org/rfc/rfc5646.html|IETF RFC 5646: BCP-47-Sprachtags]]
* [[https://www.iso.org/iso-3166-country-codes.html|ISO: ISO 3166-Ländercodes]]
* [[https://www.rfc-editor.org/rfc/rfc3339.html|IETF RFC 3339: Datum und Zeitstempel]]
Quellen geprüft am 8. September 2026. Die B2Base-Felder und ihre Kombination sind ein eigener Entwurf. Code-Register, nationale Regeln, Echtheit, Zeitfolgen und Referenzziele benötigen die im jeweiligen Verfahren vereinbarten Zusatzprüfungen.
[[schemes:scheme|Zur Bibliothek]] · [[:guidelines|Integration]] · [[:faq|Häufige Fragen]]