Skip to content

Adding legal information to organization (concerning #4366)#4387

Merged
alex-jansen merged 1 commit intoschemaorg:mainfrom
fthobe:4366-organization
Apr 23, 2025
Merged

Adding legal information to organization (concerning #4366)#4387
alex-jansen merged 1 commit intoschemaorg:mainfrom
fthobe:4366-organization

Conversation

@fthobe
Copy link
Contributor

@fthobe fthobe commented Apr 3, 2025

Background regarding the legal information required on company run websites in Europe

Germany, Austria and other jurisdiction require companies (organizations) to publish all legal information of a company on their website. Also Google does that for example here:
Google Germany Imprint

In fact for example to be eligible to run Google Ads you are required to ad the information to your own website.

It is advised by many search engines to use this page (or any other about us page) to contain the structured data about the website publishing organization. Facebook for example also allows to add the information to pages:
Add an Impressum to your Facebook Page

We seemingly have everything in there inside organization, but not the basic legal fields that are even required by Google to do certain things.

Fixes: #4366

Addition of new properties to Organization

To allow standardisation of the information set I have tried with this PR to align the organization structured data with the legal requirements of the imprint by allowing more values.

  • legalRepresentative (Person): the legal representative of a company such as CEO or managing director.
  • company registration (certification): the company registry number and the issuer of the number.

Upon close inspection following values are not mandatory but can be contained in the Imprint:

  • Common Stock Capital of your LLC or unlisted company (eg. 10.000 EUR of which 2.500 EUR Paid up);
    legal representative

Example Implementation

The example below contains also a proposal for stock capital, if desired.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "https://www.google.com",
  "sameAs": [
    "https://example.net/profile/example1234",
    "https://example.org/example1234"
  ],
  "logo": "https://www.google.com/images/logo.png",
  "name": "Google",
  "legalName": "Alphabet LLC",
  "legalRepresentative": {
    "@type": "Person",
    "name": "Larry Page"
  },
  "hasCompanyRegistration": {
    "@type": "Certification",
    "issuedBy": {
      "@type": "Organization",
      "name": "Chamber of Commerce of Wondertown"
    },
    "name": "Company Registration",
    "certificationIdentification": "WT-123456"
  },
  "description": "The example corporation is well-known for producing high-quality widgets",
  "email": "[email protected]",
  "telephone": "+47-99-999-9999",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Rue Improbable 99",
    "addressLocality": "Paris",
    "addressCountry": "FR",
    "addressRegion": "Ile-de-France",
    "postalCode": "75001"
  },
  "legalAddress": {
    "@type": "PostalAddress",
    "streetAddress": "Rue Improbable 99",
    "addressLocality": "Paris",
    "addressCountry": "FR",
    "addressRegion": "Ile-de-France",
    "postalCode": "75001"
  },
  "vatID": "FR12345678901",
  "iso6523Code": "0199:724500PMK2A2M1SQQ228"
}

@fthobe
Copy link
Contributor Author

fthobe commented Apr 5, 2025

Maybe #4330 could also find its way into this.

@gmackenz gmackenz marked this pull request as ready for review April 5, 2025 22:04
@fthobe fthobe force-pushed the 4366-organization branch from 34667f4 to 28c1946 Compare April 6, 2025 10:38
@fthobe fthobe changed the title Draft for completition of organization with legally required data (concerning #4366) Adding legal information to organization (concerning #4366) Apr 6, 2025
@fthobe
Copy link
Contributor Author

fthobe commented Apr 8, 2025

@gmackenz given that you are rocking it today :D

@gmackenz
Copy link
Contributor

gmackenz commented Apr 8, 2025

This seems OK to me but I really would like to wait for a week or so to see if anyone else has any input or approval. The proposed property legalRepresentative expects Person--is there no case where it would be an Organization? Not at all familiar with it but in some cases, would all we know would be an organization in some instances?

@fthobe
Copy link
Contributor Author

fthobe commented Apr 8, 2025

The proposed property legalRepresentative expects Person--is there no case where it would be an Organization? Not at all familiar with it but in some cases, would all we know would be an organization in some instances?

No, there's globally to my knowledge no Jurisdiction where a legal representative can be a non natural person.

This seems OK to me but I really would like to wait for a week or so to see if anyone else has any input or approval.

Sounds good to me.

@fthobe
Copy link
Contributor Author

fthobe commented Apr 8, 2025

Should I in the meantime add #4330

@gmackenz
Copy link
Contributor

gmackenz commented Apr 8, 2025

My preference would be to keep #4330 separate from this change.

@fthobe
Copy link
Contributor Author

fthobe commented Apr 13, 2025

@gmackenz hey, do you feel comfortable with the change now? No opposition seems to have been raised.

@fthobe fthobe force-pushed the 4366-organization branch from 28c1946 to bca9c53 Compare April 15, 2025 19:37
@fthobe
Copy link
Contributor Author

fthobe commented Apr 15, 2025

@gmackenz Should be good now.

@gmackenz
Copy link
Contributor

You've got an error

Traceback (most recent call last):
  File "/home/runner/work/schemaorg/schemaorg/software/tests/test_graphs.py", line 381, in test_typeLabelCase
    self.assertNoMatch("""
    ~~~~~~~~~~~~~~~~~~^^^^
      SELECT ?term ?label WHERE {
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<7 lines>...
    """,
    ^^^^
    error_message="Type label does not start with [A-Z] char")
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/runner/work/schemaorg/schemaorg/software/tests/test_graphs.py", line 76, in assertNoMatch
    self.assertEqual(
    ~~~~~~~~~~~~~~~~^
        len(results), 0,
        ^^^^^^^^^^^^^^^^
        f"{error_message}! {self.formatResults(results, pattern=row_pattern)}")
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: 1 != 0 : Type label does not start with [A-Z] char! Found 1 item:
	https://schema.org/companyRegistration => companyRegistration

@fthobe
Copy link
Contributor Author

fthobe commented Apr 15, 2025

and this looked so easy 🥇

Copy link
Contributor

@gmackenz gmackenz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved

This commit extends organization by adding properties that legally mandatory to be shown on business websites within the European Union.

The following properties have been added:
- legal representative;
- legal address;
- company registration.
@fthobe fthobe force-pushed the 4366-organization branch from 885b325 to e6e5e39 Compare April 15, 2025 22:26
@alex-jansen alex-jansen merged commit 10223a4 into schemaorg:main Apr 23, 2025
1 check passed
alex-jansen added a commit that referenced this pull request Apr 23, 2025
alex-jansen added a commit that referenced this pull request Apr 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants