Inhaltsverzeichnis

Ausweisdokumente

B2Base · 1.0.0-draft.1 · Projektentwurf

Dokumentnummern, Aussteller, Gültigkeitsangaben und mehrsprachige Erläuterungen.

Bibliothek · Personen · Internationale Grundregeln

Direkt verwenden

Austauschschema (JSON) · Schema für den Designer · Beispieldaten

Austauschschema: vollständige Strukturprüfung mit JSON Schema 2020-12. Designer-Fassung: gleiche Datenfelder mit reduzierten Strukturregeln zur Feldübernahme. 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

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

example-1.json
{
  "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.

Ä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.

identificationdocuments.schema.json
{
  "$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

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.

Zur Bibliothek · Integration · Häufige Fragen