====== 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]]