{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://b2base.eu/schemas/1.0.0-draft.1/legalentity/nameanddetails.schema.json", "title": "Juristische Personen", "$comment": "B2Base 1.0.0-draft.1. Projektentwurf, kein durch ISO oder andere Normungsgremien verabschiedeter Standard.", "type": "object", "description": "Juristische Person; Registersysteme werden nicht auf deutsche Behörden reduziert.", "properties": { "name": { "type": "string", "minLength": 1, "description": "Vollständiger rechtlicher Name in Originalschrift." }, "names": { "type": "array", "description": "Zusätzliche Sprachfassungen; nicht automatisch rechtlich gleichwertig.", "items": { "$ref": "#/$defs/LocalizedText" } }, "jurisdiction": { "$ref": "#/$defs/CountryCode", "description": "Optionales Land der maßgeblichen Rechtsordnung; weitere Ebene in jurisdictionName." }, "jurisdictionName": { "type": "string", "minLength": 1, "description": "Zusätzliche oder abweichende Zuständigkeitsbezeichnung." }, "legalForm": { "$ref": "#/$defs/CodedValue", "description": "Rechtsform aus einem benannten nationalen oder internationalen Vokabular." }, "registrationNumbers": { "type": "array", "description": "Bekannte Registereinträge.", "items": { "type": "object", "description": "Registerkennung.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Registerart." }, "number": { "type": "string", "minLength": 1, "description": "Registerkennung; führende Nullen erhalten." }, "scheme": { "type": "string", "minLength": 1, "description": "URI des Registers oder Kennungssystems.", "format": "uri" }, "issuer": { "type": "string", "minLength": 1, "description": "Registerführende Stelle." }, "country": { "$ref": "#/$defs/CountryCode" } }, "required": [ "type", "number", "scheme" ], "additionalProperties": false }, "minItems": 1 }, "address": { "$ref": "#/$defs/AddressDetails" }, "contactInformation": { "$ref": "#/$defs/ContactDetails" }, "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": [ "name" ], "additionalProperties": false, "$defs": { "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 }, "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})*$" }, "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}$" }, "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 }, "AddressDetails": { "type": "object", "description": "Eine oder mehrere Adressen.", "properties": { "addresses": { "type": "array", "description": "Bekannte Adressen.", "items": { "$ref": "#/$defs/Address" }, "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": [ "addresses" ], "additionalProperties": false }, "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" ] } ] }, "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 }, "ContactDetails": { "type": "object", "description": "Mindestens ein bekannter Kontaktkanal.", "properties": { "emails": { "type": "array", "description": "E-Mail-Adressen; Unicode ist zulässig.", "items": { "type": "object", "description": "Ein E-Mail-Kontakt.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "address": { "type": "string", "minLength": 1, "description": "Internationale E-Mail-Adresse; Zustellbarkeit und SMTPUTF8-Unterstützung separat prüfen.", "format": "idn-email" }, "language": { "$ref": "#/$defs/LanguageTag" } }, "required": [ "address" ], "additionalProperties": false }, "minItems": 1 }, "phoneNumbers": { "type": "array", "description": "Internationale Telefonnummern.", "items": { "type": "object", "description": "Eine vollständig normalisierte Rufnummer ohne Durchwahl.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "number": { "type": "string", "minLength": 1, "description": "Pluszeichen und höchstens 15 Ziffern nach E.164; keine Aussage über tatsächliche Vergabe.", "pattern": "^\\+[1-9][0-9]{1,14}$" }, "extension": { "type": "string", "minLength": 1, "description": "Durchwahl separat; kein Bestandteil der E.164-Rufnummer." }, "displayNumber": { "type": "string", "minLength": 1, "description": "Optionale ursprüngliche Schreibweise." } }, "required": [ "number" ], "additionalProperties": false }, "minItems": 1 }, "socialMedia": { "type": "array", "description": "Weitere Plattformkontakte.", "items": { "type": "object", "description": "Plattform und Kennung.", "properties": { "platform": { "type": "string", "minLength": 1, "description": "Plattform." }, "handle": { "type": "string", "minLength": 1, "description": "Unveränderter Benutzername." }, "url": { "type": "string", "minLength": 1, "description": "Optionaler Profil-Link.", "format": "uri" } }, "required": [ "platform", "handle" ], "additionalProperties": false }, "minItems": 1 }, "websites": { "type": "array", "description": "Webseiten.", "items": { "type": "object", "description": "Eine Webseite.", "properties": { "type": { "type": "string", "minLength": 1, "description": "Verwendungszweck." }, "url": { "type": "string", "minLength": 1, "description": "Internationale Webadresse; Abruf gesondert entscheiden.", "format": "iri", "pattern": "^https?://" } }, "required": [ "url" ], "additionalProperties": false }, "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" } } }, "additionalProperties": false, "anyOf": [ { "required": [ "emails" ] }, { "required": [ "phoneNumbers" ] }, { "required": [ "socialMedia" ] }, { "required": [ "websites" ] } ] } }, "examples": [ { "name": "株式会社サンプル", "jurisdiction": "JP", "names": [ { "text": "Sample Corporation", "language": "en" } ] }, { "name": "Example Association", "registrationNumbers": [ { "type": "association-register", "number": "00042", "scheme": "https://example.org/register/associations" } ] } ] }