B2Base

Bürokratie vereinfachen durch Standards

Benutzer-Werkzeuge

Webseiten-Werkzeuge


schemes:person:addressdetails

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
schemes:person:addressdetails [2024/12/11 12:59] – angelegt lars_gerulatschemes:person:addressdetails [2026/09/08 14:34] (aktuell) – B2Base-Schemaentwurf: internationale Datenmodelle, Beispiele und Erläuterungen 0.0.0.0
Zeile 1: Zeile 1:
-====== addressdetails ====== +====== Internationale Adressen ====== 
-===== example ===== + 
-<code>+<WRAP b2hero> 
 +**B2Base · 1.0.0-draft.1 · Projektentwurf** 
 + 
 +Postadressen, Druckzeilen und Standortangaben für unterschiedliche nationale Adresssysteme. 
 + 
 +[[schemes:scheme|Bibliothek]] · [[schemes:person|Personen]] · [[schemes:principles|Internationale Grundregeln]] 
 +</WRAP> 
 + 
 +===== Direkt verwenden ===== 
 + 
 +[[b2schema>1.0.0-draft.1/person/addressdetails.schema.json|Austauschschema (JSON)]] · [[b2schema>1.0.0-draft.1/person/addressdetails.editor.schema.json|Schema für den Designer]] · [[b2schema>1.0.0-draft.1/person/addressdetails.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 ^ 
 +| ''addresses'' | array | Ja | Bekannte Adressen. | 
 +| ''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 ===== 
 + 
 +  * Straße, Stadt, Postleitzahl und Hausnummer sind optional. country bezeichnet das Zielland; code und name sind getrennt. 
 +  * Die geordneten addressLines bestimmen die Druckdarstellung, wenn sie angegeben sind. Strukturfelder dienen Suche und fachlicher Verarbeitung und müssen dazu passen. 
 +  * Koordinaten ersetzen keine Zustellbarkeitsprüfung. Zeilenreihenfolge und nationale Postregeln prüft das jeweilige Länderprofil. 
 + 
 +===== 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 ==== 
 + 
 +<file json example-1.json>
 { {
-          "type": "primary residence", +  "addresses": [ 
-          "street": "Main Street", +    { 
-          "number": "123", +      "country": { 
-          "unit": "Apt 5B", +        "code": "GB" 
-          "floor": "3", +      }
-          "city": "Berlin", +      "addressLines": [ 
-          "state": "Berlin", +        "Example House", 
-          "postalCode": "10115", +        "London SW1A 1AA" 
-          "country": "DE", +      ]
-          "geolocation": { +      "postalCode": { 
-            "latitude": 52.5200, +        "value": "SW1A 1AA
-            "longitude": 13.4050 +      } 
-          } +    } 
-        }, +  ] 
-        +
-          "type": "secondary residence", +</file> 
-          "street": "Elm Street", + 
-          "number": "456", +==== Beispiel 2 ==== 
-          "city": "Munich", + 
-          "state": "Bavaria", +<file json example-2.json> 
-          "postalCode": "80331", +{ 
-          "country": "DE+  "addresses": [ 
-        +    
-</code+      "type": "delivery", 
-===== schema ===== +      "country": { 
-<code>+        "code": "AE" 
 +      }
 +      "addressLines": 
 +        "صندوق بريد 12345", 
 +        "دبي" 
 +      ]
 +      "language": "ar", 
 +      "postBox": 
 +        "value": "12345
 +      } 
 +    } 
 +  ] 
 +
 +</file> 
 + 
 +===== Umstellung aus dem bisherigen Wiki ===== 
 + 
 +Die bisherigen verschachtelten Komponenten einschließlich line_in_address bleiben erhalten. Die generelle Pflicht für city und type entfällt. Neu sind addressLines, language und country.code; ein vorhandener country.name bleibt lesbar. Das ungültige alte JSON-Beispiel wurde ersetzt. 
 + 
 +[[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. 
 + 
 +<file json addressdetails.schema.json>
 { {
   "$schema": "https://json-schema.org/draft/2020-12/schema",   "$schema": "https://json-schema.org/draft/2020-12/schema",
-  "$id": "https://b2base.eu/doku.php?id=schemes:person:addressdetails", +  "$id": "https://b2base.eu/schemas/1.0.0-draft.1/person/addressdetails.schema.json", 
-  "title": "person:addressdetails", +  "title": "Internationale Adressen", 
-  "description": "A schema for representing a person's addresses.",+  "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.",
   "type": "object",   "type": "object",
 +  "description": "Eine oder mehrere Adressen.",
   "properties": {   "properties": {
     "addresses": {     "addresses": {
       "type": "array",       "type": "array",
-      "description": "A list of the person's addresses, including type and geolocation information.",+      "description": "Bekannte Adressen.",
       "items": {       "items": {
-        "type": "object", +        "$ref": "#/$defs/Address" 
-        "properties":+      }, 
-          "type": {+      "minItems":
 +    }, 
 +    "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":
 +    "addresses" 
 +  ], 
 +  "additionalProperties": false, 
 +  "$defs":
 +    "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",             "type": "string",
-            "description": "The type of address, e.g., primary residence, secondary residence, work."+            "minLength": 1
-            "example": "primary residence"+            "description": "Eine Adresszeile."
           },           },
-          "street":+          "minItems":
-            "type": "string", +        }, 
-            "description": "The street name of the address.", +        "language":
-            "example": "Main Street"+          "$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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "number":+          "required":
-            "type": "string", +            "name" 
-            "description": "The house or building number of the address.", +          ], 
-            "example": "123"+          "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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "unit":+          "required":
-            "type": "string", +            "value" 
-            "description": "Optional unitapartmentor room number.", +          ], 
-            "example": "Apt 5B"+          "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 Druckzeilebeginnend bei 1; aus dem bisherigen Modell beibehalten."
 +              "minimum":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "floor":+          "required":
-            "type": "string", +            "value" 
-            "description": "Optional floor number.", +          ], 
-            "example": "3"+          "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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "city": { +          "required":
-            "type": "string", +            "value" 
-            "description": "The name of the city or town.", +          ], 
-            "example": "Berlin"+          "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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "state": { +          "required":
-            "type": "string", +            "value" 
-            "description": "The stateprovinceor region.", +          ], 
-            "example": "Berlin"+          "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 Druckzeilebeginnend bei 1; aus dem bisherigen Modell beibehalten."
 +              "minimum":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "postalCode": { +          "required":
-            "type": "string", +            "value" 
-            "description": "The postal or ZIP code.", +          ], 
-            "example": "10115"+          "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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "country": { +          "required":
-            "type": "string", +            "name" 
-            "description": "The country in ISO 3166-Alpha-2 format.", +          ], 
-            "example": "DE"+          "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":
 +            }
 +            "position_in_address_line": 
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            }
           },           },
-          "geolocation": { +          "required": [ 
-            "type": "object", +            "name" 
-            "description": "Geolocation coordinates for areas without structured addresses."+          ]
-            "properties": { +          "additionalProperties": false 
-              "latitude":+        }
-                "type": "number", +        "postalCode": { 
-                "description": "The latitude of the location.", +          "type": "object", 
-                "example": 52.5200 +          "description": "Postleitzahl als Text; keine globale fünfstellige Regel.", 
-              }, +          "properties": { 
-              "longitude": { +            "value": { 
-                "type": "number", +              "type": "string", 
-                "description": "The longitude of the location."+              "minLength": 1
-                "example": 13.4050 +              "description": "Postleitzahl als Text; keine globale fünfstellige Regel."
-              }+
             },             },
-            "required": ["latitude", "longitude"]+            "line_in_address":
 +              "type": "integer", 
 +              "description": "Optionale Druckzeile, beginnend bei 1; aus dem bisherigen Modell beibehalten.", 
 +              "minimum":
 +            }, 
 +            "position_in_address_line":
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            } 
 +          }, 
 +          "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":
 +            }, 
 +            "position_in_address_line":
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            } 
 +          }, 
 +          "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":
 +            }, 
 +            "position_in_address_line":
 +              "type": "integer", 
 +              "description": "Optionale Position in der Druckzeile, beginnend bei 1.", 
 +              "minimum":
 +            } 
 +          }, 
 +          "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": ["type", "street", "number", "city", "country"] +        
-      }+          "required": [ 
 +            "street" 
 +          ] 
 +        }, 
 +        { 
 +          "required":
 +            "postBox" 
 +          ] 
 +        }, 
 +        { 
 +          "required":
 +            "city" 
 +          ] 
 +        }, 
 +        { 
 +          "required":
 +            "geolocation" 
 +          ] 
 +        }, 
 +        { 
 +          "required":
 +            "blockOrPlotNumber" 
 +          ] 
 +        } 
 +      ] 
 +    }, 
 +    "LanguageTag":
 +      "type": "string", 
 +      "minLength": 1, 
 +      "description": "BCP-47-Sprachtagetwa 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})*$" 
 +    }, 
 +    "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":
 +        } 
 +      }, 
 +      "required":
 +        "latitude", 
 +        "longitude" 
 +      ], 
 +      "additionalProperties": false
     }     }
   },   },
-  "required": ["addresses"]+  "examples": [ 
 +    { 
 +      "addresses": [ 
 +        { 
 +          "country":
 +            "code": "GB" 
 +          }, 
 +          "addressLines":
 +            "Example House", 
 +            "London SW1A 1AA" 
 +          ], 
 +          "postalCode":
 +            "value": "SW1A 1AA" 
 +          } 
 +        } 
 +      ] 
 +    }, 
 +    { 
 +      "addresses":
 +        { 
 +          "type": "delivery", 
 +          "country":
 +            "code": "AE" 
 +          }, 
 +          "addressLines":
 +            "صندوق بريد 12345", 
 +            "دبي" 
 +          ], 
 +          "language": "ar", 
 +          "postBox":
 +            "value": "12345" 
 +          } 
 +        } 
 +      ] 
 +    } 
 +  ]
 } }
-</code>+</file> 
 + 
 +===== Quellen und Abgrenzung ===== 
 + 
 +  * [[https://www.w3.org/International/questions/qa-address-formats|W3C: Address formats around the world]] 
 +  * [[https://www.iso.org/iso-3166-country-codes.html|ISO: ISO 3166-Ländercodes]] 
 + 
 +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]] 
schemes/person/addressdetails.1733918388.txt.gz · Zuletzt geändert: (Externe Bearbeitung)

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