B2Base

Bürokratie vereinfachen durch Standards

Benutzer-Werkzeuge

Webseiten-Werkzeuge


schemes:realestate:property

Immobilien und Grundstücke

B2Base · 1.0.0-draft.1 · Projektentwurf

Objektbezeichnung, Lage, Registerbezug und Flächen mit expliziten Einheiten.

Bibliothek · Immobilien · 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
id string Ja Objektkennung.
title string Ja Bezeichnung.
type object Nein Objektart mit benanntem Vokabular.
address object Nein Internationale Post- oder Standortadresse. Weder Straße, Hausnummer, Stadt noch Postleitzahl sind weltweit obligatorisch.
geolocation object Nein WGS-84-Koordinaten in Dezimalgrad. Benannte Felder vermeiden eine vertauschte Achsenreihenfolge.
registryIdentifiers array Nein Kataster- oder Registerkennungen einschließlich System.
areas array Nein Flächen mit fachlicher Definition.
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

  • Grundstück, Gebäude und Nutzungseinheit nicht anhand derselben Adresse gleichsetzen. Eigene IDs und fachliche Beziehungen verwenden.
  • Flächen sind nur vergleichbar, wenn Einheit und Messdefinition übereinstimmen. Ein Zahlenfeld namens area allein genügt nicht.
  • Registerbezug, Eigentum, Belastungen und Bewertungsverfahren sind zusätzliche fachliche Profile und werden hier nicht bestätigt.

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
{
  "id": "urn:example:property:42",
  "title": "Example Plot",
  "geolocation": {
    "latitude": -1.2921,
    "longitude": 36.8219
  },
  "registryIdentifiers": [
    {
      "value": "Block 12 / Plot 004",
      "scheme": "https://example.org/registry/plots"
    }
  ]
}

Umstellung aus dem bisherigen Wiki

Die angekündigte Immobilienkategorie erhält einen internationalen Mindestkern ohne deutsche Grundbuchpflichtfelder.

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

property.schema.json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://b2base.eu/schemas/1.0.0-draft.1/realestate/property.schema.json",
  "title": "Immobilien und Grundstücke",
  "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
  "type": "object",
  "description": "Ein Immobilien- oder Grundstücksobjekt.",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "Objektkennung.",
      "format": "uri"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "description": "Bezeichnung."
    },
    "type": {
      "$ref": "#/$defs/CodedValue",
      "description": "Objektart mit benanntem Vokabular."
    },
    "address": {
      "$ref": "#/$defs/Address"
    },
    "geolocation": {
      "$ref": "#/$defs/Geolocation"
    },
    "registryIdentifiers": {
      "type": "array",
      "description": "Kataster- oder Registerkennungen einschließlich System.",
      "items": {
        "$ref": "#/$defs/Identifier"
      }
    },
    "areas": {
      "type": "array",
      "description": "Flächen mit fachlicher Definition.",
      "items": {
        "type": "object",
        "description": "Eine definierte Fläche.",
        "properties": {
          "kind": {
            "$ref": "#/$defs/CodedValue",
            "description": "Etwa eine ausdrücklich benannte Wohn- oder Grundstücksflächendefinition."
          },
          "quantity": {
            "$ref": "#/$defs/Quantity"
          }
        },
        "required": [
          "kind",
          "quantity"
        ],
        "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": [
    "id",
    "title"
  ],
  "additionalProperties": false,
  "$defs": {
    "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})*$"
    },
    "Address": {
      "type": "object",
      "description": "Internationale Post- oder Standortadresse. Weder Straße, Hausnummer, Stadt noch Postleitzahl sind weltweit obligatorisch.",
      "properties": {
        "type": {
          "type": "string",
          "minLength": 1,
          "description": "Verwendungszweck, etwa home, work oder delivery."
        },
        "addressLines": {
          "type": "array",
          "description": "Geordnete Druckzeilen in der Originalschrift; bei Angabe maßgeblich für die Darstellung.",
          "items": {
            "type": "string",
            "minLength": 1,
            "description": "Eine Adresszeile."
          },
          "minItems": 1
        },
        "language": {
          "$ref": "#/$defs/LanguageTag"
        },
        "recipient": {
          "type": "string",
          "minLength": 1,
          "description": "Optionale Empfängerbezeichnung."
        },
        "street": {
          "type": "object",
          "description": "Straßenname.",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "description": "Straßenname."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false
        },
        "number": {
          "type": "object",
          "description": "Hausnummer, auch alphanumerisch.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Hausnummer, auch alphanumerisch."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "unit": {
          "type": "object",
          "description": "Einheit oder Wohnung.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Einheit oder Wohnung."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "floor": {
          "type": "object",
          "description": "Etagenbezeichnung.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Etagenbezeichnung."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "postBox": {
          "type": "object",
          "description": "Postfach.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Postfach."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "blockOrPlotNumber": {
          "type": "object",
          "description": "Block- oder Parzellenbezeichnung.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Block- oder Parzellenbezeichnung."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "city": {
          "type": "object",
          "description": "Ort oder Zustellbezirk.",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "description": "Ort oder Zustellbezirk."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false
        },
        "state": {
          "type": "object",
          "description": "Region, Provinz oder Bundesstaat.",
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "description": "Region, Provinz oder Bundesstaat."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "name"
          ],
          "additionalProperties": false
        },
        "postalCode": {
          "type": "object",
          "description": "Postleitzahl als Text; keine globale fünfstellige Regel.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Postleitzahl als Text; keine globale fünfstellige Regel."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "wardNumber": {
          "type": "object",
          "description": "Verwaltungsbezirk.",
          "properties": {
            "value": {
              "type": "string",
              "minLength": 1,
              "description": "Verwaltungsbezirk."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "required": [
            "value"
          ],
          "additionalProperties": false
        },
        "country": {
          "type": "object",
          "description": "Zielland. Name und Code sind verschiedene Informationen.",
          "properties": {
            "code": {
              "$ref": "#/$defs/CountryCode"
            },
            "name": {
              "type": "string",
              "minLength": 1,
              "description": "Landesname in der angegebenen Sprache."
            },
            "line_in_address": {
              "type": "integer",
              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.",
              "minimum": 1
            },
            "position_in_address_line": {
              "type": "integer",
              "description": "Optionale Position in der Druckzeile, beginnend bei 1.",
              "minimum": 1
            }
          },
          "additionalProperties": false,
          "anyOf": [
            {
              "required": [
                "code"
              ]
            },
            {
              "required": [
                "name"
              ]
            }
          ]
        },
        "militaryAddress": {
          "type": "boolean",
          "description": "Kennzeichnet eine militärische Adresse, falls bekannt."
        },
        "geolocation": {
          "$ref": "#/$defs/Geolocation"
        },
        "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": [
        "country"
      ],
      "additionalProperties": false,
      "anyOf": [
        {
          "required": [
            "addressLines"
          ]
        },
        {
          "required": [
            "street"
          ]
        },
        {
          "required": [
            "postBox"
          ]
        },
        {
          "required": [
            "city"
          ]
        },
        {
          "required": [
            "geolocation"
          ]
        },
        {
          "required": [
            "blockOrPlotNumber"
          ]
        }
      ]
    },
    "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}$"
    },
    "Geolocation": {
      "type": "object",
      "description": "WGS-84-Koordinaten in Dezimalgrad. Benannte Felder vermeiden eine vertauschte Achsenreihenfolge.",
      "properties": {
        "latitude": {
          "type": "number",
          "description": "Breitengrad.",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "description": "Längengrad.",
          "minimum": -180,
          "maximum": 180
        },
        "accuracyMeters": {
          "type": "number",
          "description": "Geschätzter horizontaler Unsicherheitsradius in Metern.",
          "minimum": 0
        }
      },
      "required": [
        "latitude",
        "longitude"
      ],
      "additionalProperties": false
    },
    "Identifier": {
      "type": "object",
      "description": "Kennung zusammen mit ihrem Namensraum. Führende Nullen, Trennzeichen und Groß-/Kleinschreibung erhalten.",
      "properties": {
        "value": {
          "type": "string",
          "minLength": 1,
          "description": "Kennung als Text."
        },
        "scheme": {
          "type": "string",
          "minLength": 1,
          "description": "URI des Kennungssystems; kein allgemeines weltweites Nummernformat.",
          "format": "uri"
        },
        "type": {
          "type": "string",
          "minLength": 1,
          "description": "Optionale fachliche Bezeichnung."
        },
        "issuer": {
          "$ref": "#/$defs/Issuer"
        },
        "country": {
          "$ref": "#/$defs/CountryCode"
        },
        "validFrom": {
          "type": "string",
          "minLength": 1,
          "description": "Beginn der angegebenen Gültigkeit.",
          "format": "date"
        },
        "validUntil": {
          "type": "string",
          "minLength": 1,
          "description": "Letzter Gültigkeitstag, falls bekannt.",
          "format": "date"
        }
      },
      "required": [
        "value",
        "scheme"
      ],
      "additionalProperties": false
    },
    "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
    },
    "Quantity": {
      "type": "object",
      "description": "Dezimalwert mit maschinenlesbarer Einheit; die Einheit muss zum Messgegenstand passen.",
      "properties": {
        "value": {
          "type": "string",
          "minLength": 1,
          "description": "Dezimaltext ohne Gruppierung oder Exponent.",
          "pattern": "^-?(0|[1-9][0-9]*)(\\.[0-9]+)?$"
        },
        "unitCode": {
          "type": "string",
          "minLength": 1,
          "description": "Code aus dem angegebenen Einheitensystem, etwa MTR, KGM oder MTK nach UN/CEFACT Recommendation 20."
        },
        "unitScheme": {
          "type": "string",
          "minLength": 1,
          "description": "URI des Einheitensystems; Empfänger muss das System unterstützen.",
          "format": "uri"
        }
      },
      "required": [
        "value",
        "unitCode",
        "unitScheme"
      ],
      "additionalProperties": false
    }
  },
  "examples": [
    {
      "id": "urn:example:property:42",
      "title": "Example Plot",
      "geolocation": {
        "latitude": -1.2921,
        "longitude": 36.8219
      },
      "registryIdentifiers": [
        {
          "value": "Block 12 / Plot 004",
          "scheme": "https://example.org/registry/plots"
        }
      ]
    }
  ]
}

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

schemes/realestate/property.txt · Zuletzt geändert: von 0.0.0.0

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki