diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b75a3fb019962bcfa23cf7a4530fd7fc8ed8d3d1..f6464c7aa8d3c33d6e069ed433f3fc0c310e4070 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,10 +1,8 @@
 stages:
   - build
-  - triage
-  - run
 
 build:
-  image: debian:stable
+  image: debian:oldstable
   stage: build
   script:
   - apt-get update && apt-get -y install graphviz openjdk-11-jre-headless wget
@@ -14,51 +12,4 @@ build:
   - mv modellierung/diagrams/ public/
   artifacts:
     paths:
-      - public
-
-build-image:build:
-  stage: build
-  tags:
-    - docker
-  image:
-    name: gcr.io/kaniko-project/executor:debug
-    entrypoint: [""]
-  script:
-    - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
-    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:latest
-  only:
-    - master
-    - docker-dzwald
-
-dry-run:triage:
-  image: ruby:2.5
-  stage: triage
-  script:
-    - gem install activesupport -v 6.1.4.4
-    - gem install gitlab-triage
-    - gitlab-triage --help
-    - gitlab-triage --dry-run --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH --host-url https://git-ce.rwth-aachen.de/
-  when: manual
-  except:
-    - schedules
-
-policy:run:
-  image: ruby:2.5
-  stage: run
-  script:
-    - gem install activesupport -v 6.1.4.4
-    - gem install gitlab-triage
-    - gitlab-triage --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH --host-url https://git-ce.rwth-aachen.de
-  when: manual
-  except:
-    - schedules
-
-schedule:policyrun:
-  image: ruby:2.5
-  stage: run
-  script:
-    - gem install activesupport -v 6.1.4.4
-    - gem install gitlab-triage
-    - gitlab-triage --token $API_TOKEN --source projects --source-id $CI_PROJECT_PATH --host-url https://git-ce.rwth-aachen.de
-  only:
-    - schedules
+      - public
\ No newline at end of file
diff --git a/.triage-policies.yml b/.triage-policies.yml
deleted file mode 100644
index 354cb67d5505b7a5736167dda6720cf6d682fe39..0000000000000000000000000000000000000000
--- a/.triage-policies.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-resource_rules:
-  issues:
-    rules:
-      - name: find all issues of milestone AP 0 and set label wp 0
-        conditions:
-          milestone: AP 0 - Projektmanagement und Dissemination 
-        actions:
-          labels:
-            - WP 0
-      - name: find all issues of milestone AP 1 and set label wp 1
-        conditions:
-          milestone: AP 1 - Definition der Anwendungsszenarien
-        actions:
-          labels:
-            - WP 1
-      - name: find all issues of milestone AP 2 and set label wp 2
-        conditions:
-          milestone: AP 2 - Integration von BaSys 4 und WH4.0
-        actions:
-          labels:
-            - WP 2
-      - name: find all issues of milestone AP 3 and set label wp 3
-        conditions:
-          milestone: AP 3 - Entwicklung eines DZ Wald
-        actions:
-          labels:
-            - WP 3
-      - name: find all issues of milestone AP 4 and set label wp 4
-        conditions:
-          milestone: AP 4 - Integration eines Waldmanagementsystems
-        actions:
-          labels:
-            - WP 4
-      - name: find all issues of milestone AP 5 and set label wp 5
-        conditions:
-          milestone: AP 5 - Integration einer Holzhandelsplattform
-        actions:
-          labels:
-            - WP 5
-      - name: find all issues of milestone AP 6 and set label wp 6
-        conditions:
-          milestone: AP 6 - Entwicklung einer Demo-Applikation für die Abnehmerseite
-        actions:
-          labels:
-            - WP 6
-      - name: find all issues of milestone AP 7 and set label wp 7
-        conditions:
-          milestone: AP 7 - Integration Holzaufnahme-App
-        actions:
-          labels:
-            - WP 7
-      - name: find all issues of milestone AP 8 and set label wp 8
-        conditions:
-          milestone: AP 8 - Integration, Demonstration und Dokumentation der Ergebnisse
-        actions:
-          labels:
-            - WP 8
-
diff --git a/demos/demo2/demo2_dzwald.py b/demos/demo2/demo2_dzwald.py
index 3fdece4d938d8a3c9de501f57aeb1d2af55bdca3..b7744433ea8ad4eae5d48f3d4d2399635f121cb4 100644
--- a/demos/demo2/demo2_dzwald.py
+++ b/demos/demo2/demo2_dzwald.py
@@ -1,5 +1,6 @@
 import os, sys, inspect
-from typing import List, Set
+import re
+from typing import List
 
 import basyx
 from basyx.aas import model
@@ -49,14 +50,15 @@ def create_sortiment():
         sortimentstyp=enums.Sortimentstyp.Stammholz,
         sorte=enums.Sorte.lang,
         holzart=enums.Holzart.Fichte,
-        gueteklasse=enums.Gueteklasse.Qualitaet_A,
+        gueteklasseVon=enums.Gueteklasse.Qualitaet_A,
+        gueteklasseBis=enums.Gueteklasse.Qualitaet_B,
         laenge_von=3.0,
         laenge_bis=6.0,
         mindestzopf=1.0,
         max_durchmesser=10.0,
         laengenzugabe=10.0,
         mengenschaetzung=10.0,
-        kaeufer=models.Kontakt(kontaktrolle=enums.Kontaktrolle.Kaeufer),
+        kaeufer=create_example_contact(kontaktrolle=enums.Kontaktrolle.Kaeufer),
         ergebnis=[model.ModelReference.from_referable(create_holzliste())]
     )
     return sortiment
@@ -67,11 +69,11 @@ def create_arbeitsauftrag():
         auftrag_id=model.Identifier("https://www.company.com/submodels/arbeitsauftrag"),
         hiebsnummer="abc123",
         kurzbeschreibung="beschreibung",
-        ansprechpartner=models.Kontakt(
+        ansprechpartner=create_example_contact(
             kontaktrolle=enums.Kontaktrolle.Waldbesitzer),
-        unternehmer_holzrueckung=models.Kontakt(
+        unternehmer_holzrueckung=create_example_contact(
             kontaktrolle=enums.Kontaktrolle.UnternehmerHolzrueckung),
-        unternehmer_holzernte=models.Kontakt(
+        unternehmer_holzernte=create_example_contact(
             kontaktrolle=enums.Kontaktrolle.UnternehmerHolzernte),
         zu_faellende_baeume=models.ModelReference.from_referable(
             create_zu_faellende_baeume()),
@@ -116,7 +118,7 @@ def create_lieferant_contact():
         anrede="Herr",
         vorname="Waldemar",
         nachname="Schwarz",
-        adresse="Turmstr. 15, Aachen 52072",
+        adresse="Turmstr. 15, Aachen 52064",
         telefonnummern=["0241-123456", "0176-123456"],
         emailadressen=["schwarz@waldemar.de"],
         umsatzbesteuerung=enums.Umsatzbesteuerung.regelbesteuert,
@@ -131,12 +133,14 @@ def create_preismatrix():
         models.Preismatrixeintrag(preis=50.5,
                                   mittendurchmesser_von=45.0,
                                   mittendurchmesser_bis=55.0,
-                                  gueteklasse=enums.Gueteklasse.Normale_Qualitaet
+                                  gueteklasse_von=enums.Gueteklasse.Normale_Qualitaet,
+                                  gueteklasse_bis=enums.Gueteklasse.Normale_Qualitaet
                                   ),
         models.Preismatrixeintrag(preis=50.5,
                                   mittendurchmesser_von=55.0,
                                   mittendurchmesser_bis=65.0,
-                                  gueteklasse=enums.Gueteklasse.Qualitaet_A
+                                  gueteklasse_von=enums.Gueteklasse.Qualitaet_A,
+                                  gueteklasse_bis=enums.Gueteklasse.Qualitaet_A
                                   ),
     ]
     return preismatrix
@@ -170,8 +174,8 @@ def create_holzliste():
         hieb=enums.Hieb.Durchforstung,
         ernte=(datetime.date(2023, 12, 1), datetime.date(2023, 12, 31)),
         lieferant=create_lieferant_contact(),
-        kaeufer=models.Kontakt(kontaktrolle=enums.Kontaktrolle.Kaeufer),
-        fuhrmann=models.Kontakt(kontaktrolle=enums.Kontaktrolle.Fuhrmann),
+        kaeufer=create_example_contact(kontaktrolle=enums.Kontaktrolle.Kaeufer),
+        fuhrmann=create_example_contact(kontaktrolle=enums.Kontaktrolle.Fuhrmann),
         notiz="Dieses Holz ist sehr gut"
     )
 
@@ -272,7 +276,6 @@ def create_zu_faellende_baeume():
 
     zufaellendebaeume = models.ZuFaellendeBaeume(
         id="https://www.company.com/submodels/zu_faellende_baeume",
-        name="Baueme zu faellen",
         beschreibung="Baueme sollen demnaechst gefaellt werden",
         umring=umring,
         position=create_standort(),
@@ -330,7 +333,7 @@ def create_bestandesdaten():
     bestandesdaten = models.Bestandesdaten(
         id=model.Identifier("https://www.company.com/submodels/bestandesdaten"),
         umring=create_umring(),
-        waldbesitzer=models.Kontakt(kontaktrolle=enums.Kontaktrolle.Waldbesitzer),
+        waldbesitzer=create_example_contact(kontaktrolle=enums.Kontaktrolle.Waldbesitzer),
         baumarten=[enums.Holzart.Fichte]
     )
 
@@ -373,6 +376,44 @@ def create_aas():
         zu_faellende_baeume,
         events
     ]
+
+    def remove_iteration_ending(val: str):
+        # remove iteration ending like {00}
+        val = re.sub(r'\{\d+\}$', '', val)
+        # remove one or more digits at the end
+        val = re.sub(r'_?\d+$', '', val)
+        return val
+
+    def set_semantic_id(referable: model.SubmodelElement):
+        # example = "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Beschreibung"
+
+        if isinstance(referable, model.Submodel):
+            base = "https://admin-shell.io/kwh40/forestml40"
+            postfix = f"{referable.id_short}/0/1"
+        else:
+            base = referable.parent.semantic_id.key[0].value
+            postfix = remove_iteration_ending(referable.id_short)
+
+        referable.semantic_id = model.GlobalReference(
+            (basyx.aas.model.Key(model.KeyTypes.GLOBAL_REFERENCE,
+                                 f"{base}/{postfix}"),)
+        )
+
+    def set_semantic_id_for_each_in(obj):
+        set_semantic_id(obj)
+        try:
+            iter(obj)
+        except TypeError as e:
+            print(e)
+            return
+        se_objects = list(obj)
+        for se in se_objects:
+            set_semantic_id_for_each_in(se)
+
+
+    for submodel in submodels:
+        set_semantic_id_for_each_in(submodel)
+
     aas_dz_wald = models.DZWald(
         dzwald_id="https://www.company.com/dz_wald/1",
         asset=basyx.aas.model.AssetInformation(),
@@ -396,7 +437,7 @@ def write_aas():
     objstore = basyx.aas.model.DictObjectStore(submodels)
     objstore.add(aas)
 
-    with open("dz_wald_example.json", "w") as file:
+    with open("dz_wald_example.json", "w", encoding='utf-8') as file:
         json_serialization.write_aas_json_file(file, objstore)
 
 
diff --git a/demos/demo2/demo2_dzwald_example.json b/demos/demo2/demo2_dzwald_example.json
index 2b69d38c6b6e212786ac231841ed57c47d815fea..0cd131acc87fcd5b175c13c5a512d2693831ac43 100644
--- a/demos/demo2/demo2_dzwald_example.json
+++ b/demos/demo2/demo2_dzwald_example.json
@@ -13,7 +13,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/holzliste/1"
+              "value": "https://www.company.com/submodels/zu_faellende_baeume"
             }
           ]
         },
@@ -22,7 +22,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/bestandesdaten"
+              "value": "https://www.company.com/submodels/arbeitsauftrag"
             }
           ]
         },
@@ -31,7 +31,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/verkaufslos"
+              "value": "https://www.company.com/submodels/holzpreisbereiche"
             }
           ]
         },
@@ -40,7 +40,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/arbeitsauftrag"
+              "value": "https://www.company.com/submodels/bestandesdaten"
             }
           ]
         },
@@ -58,7 +58,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/zu_faellende_baeume"
+              "value": "https://www.company.com/submodels/verkaufslos"
             }
           ]
         },
@@ -67,7 +67,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/holzpreisbereiche"
+              "value": "https://www.company.com/submodels/beobachtung"
             }
           ]
         },
@@ -76,7 +76,7 @@
           "keys": [
             {
               "type": "Submodel",
-              "value": "https://www.company.com/submodels/beobachtung"
+              "value": "https://www.company.com/submodels/waldweg"
             }
           ]
         }
@@ -88,129 +88,535 @@
       "idShort": "Arbeitsauftrag",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/arbeitsauftrag",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Hiebsnummer",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Hiebsnummer"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "abc123",
           "valueType": "xs:string"
         },
         {
           "idShort": "Kurzbeschreibung",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Kurzbeschreibung"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "beschreibung",
           "valueType": "xs:string"
         },
         {
           "idShort": "Sicherheitshinweise",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sicherheitshinweise"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:string"
         },
         {
           "idShort": "Naturschutzhinweise",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Naturschutzhinweise"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:string"
         },
         {
           "idShort": "Karte",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Karte"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:string"
         },
         {
           "idShort": "Auftragsstatus",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Auftragsstatus"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:string"
         },
         {
           "idShort": "Sortimente",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "Sortiment1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Nummer",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Nummer"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "1",
                   "valueType": "xs:integer"
                 },
                 {
                   "idShort": "Sortimentstyp",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sortimentstyp"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "st",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Sorte",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sorte"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "lg",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Holzart",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Holzart"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "fi",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Gueteklasse",
+                  "idShort": "GueteklasseVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/GueteklasseVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "a",
                   "valueType": "xs:string"
                 },
+                {
+                  "idShort": "GueteklasseBis",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/GueteklasseBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "b",
+                  "valueType": "xs:string"
+                },
                 {
                   "idShort": "LaengeVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "3.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "LaengeBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "6.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Mindestzopf",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mindestzopf"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "1.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MaxDurchmesser",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/MaxDurchmesser"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "10.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Laengenzugabe",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Laengenzugabe"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "10.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Mengenschaetzung",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mengenschaetzung"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "10.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Bemerkung",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Bemerkung"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Ergebnis",
                   "modelType": "SubmodelElementList",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "orderRelevant": true,
                   "typeValueListElement": "ReferenceElement",
                   "value": [
                     {
-                      "idShort": "Ergebnis1",
+                      "idShort": "HolzlisteReference1",
                       "modelType": "ReferenceElement",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis/HolzlisteReference"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": {
                         "type": "ModelReference",
                         "keys": [
@@ -231,133 +637,300 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "basys4forestry.de/Kontakt"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
-                      "idShort": "Kontaktrolle",
+                      "idShort": "Firmenname",
                       "modelType": "Property",
                       "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Firmenname"
                           }
                         ]
                       },
-                      "value": "Kaeufer",
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Kaeufer GmbH",
                       "valueType": "xs:string"
                     },
                     {
-                      "idShort": "Firmenname",
+                      "idShort": "Anrede",
                       "modelType": "Property",
                       "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Anrede"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Herr",
                       "valueType": "xs:string"
                     },
                     {
-                      "idShort": "Anrede",
+                      "idShort": "Vorname",
                       "modelType": "Property",
                       "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Vorname"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Max",
                       "valueType": "xs:string"
                     },
                     {
-                      "idShort": "Vorname",
+                      "idShort": "Nachname",
                       "modelType": "Property",
                       "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Nachname"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Mustermann",
                       "valueType": "xs:string"
                     },
                     {
-                      "idShort": "Nachname",
+                      "idShort": "Adresse",
                       "modelType": "Property",
                       "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Adresse"
                           }
                         ]
                       },
-                      "valueType": "xs:string"
-                    },
-                    {
-                      "idShort": "Adresse",
-                      "modelType": "Property",
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Turmstr. 15, Aachen 52064",
                       "valueType": "xs:string"
                     },
                     {
                       "idShort": "Umsatzbesteuerung",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Umsatzbesteuerung"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "rb",
                       "valueType": "xs:string"
                     },
                     {
                       "idShort": "IBAN",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/IBAN"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "DE1234567890",
                       "valueType": "xs:string"
                     },
                     {
                       "idShort": "Steuernummer",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Steuernummer"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "99999999999",
                       "valueType": "xs:string"
                     },
                     {
                       "idShort": "Telefonnummern",
                       "modelType": "SubmodelElementList",
-                      "orderRelevant": true,
-                      "typeValueListElement": "Property",
-                      "semanticIdListElement": {
+                      "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern"
                           }
                         ]
                       },
-                      "valueTypeListElement": "xs:string"
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "orderRelevant": true,
+                      "typeValueListElement": "Property",
+                      "valueTypeListElement": "xs:string",
+                      "value": [
+                        {
+                          "idShort": "Telefon1",
+                          "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern/Telefon"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "value": "0241-123456",
+                          "valueType": "xs:string"
+                        }
+                      ]
                     },
                     {
                       "idShort": "Emailadressen",
                       "modelType": "SubmodelElementList",
-                      "orderRelevant": true,
-                      "typeValueListElement": "Property",
-                      "semanticIdListElement": {
+                      "semanticId": {
                         "type": "GlobalReference",
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen"
                           }
                         ]
                       },
-                      "valueTypeListElement": "xs:string"
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "orderRelevant": true,
+                      "typeValueListElement": "Property",
+                      "valueTypeListElement": "xs:string",
+                      "value": [
+                        {
+                          "idShort": "Email1",
+                          "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen/Email"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "value": "Kaeufer@example.com",
+                          "valueType": "xs:string"
+                        }
+                      ]
                     }
                   ]
                 }
@@ -368,393 +941,938 @@
         {
           "idShort": "Ansprechpartner",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
-              "idShort": "Kontaktrolle",
+              "idShort": "Firmenname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Firmenname"
                   }
                 ]
               },
-              "value": "Waldbesitzer",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Waldbesitzer GmbH",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Firmenname",
+              "idShort": "Anrede",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Anrede"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Herr",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Anrede",
+              "idShort": "Vorname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Vorname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Max",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Vorname",
+              "idShort": "Nachname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Nachname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Mustermann",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Nachname",
+              "idShort": "Adresse",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Adresse"
                   }
                 ]
               },
-              "valueType": "xs:string"
-            },
-            {
-              "idShort": "Adresse",
-              "modelType": "Property",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Turmstr. 15, Aachen 52064",
               "valueType": "xs:string"
             },
             {
               "idShort": "Umsatzbesteuerung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Umsatzbesteuerung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "rb",
               "valueType": "xs:string"
             },
             {
               "idShort": "IBAN",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/IBAN"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "DE1234567890",
               "valueType": "xs:string"
             },
             {
               "idShort": "Steuernummer",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Steuernummer"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "99999999999",
               "valueType": "xs:string"
             },
             {
               "idShort": "Telefonnummern",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Telefon1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "0241-123456",
+                  "valueType": "xs:string"
+                }
+              ]
             },
             {
               "idShort": "Emailadressen",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Email1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Email"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Waldbesitzer@example.com",
+                  "valueType": "xs:string"
+                }
+              ]
             }
           ]
         },
         {
           "idShort": "UnternehmerHolzrueckung",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
-              "idShort": "Kontaktrolle",
+              "idShort": "Firmenname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Firmenname"
                   }
                 ]
               },
-              "value": "UnternehmerHolzrueckung",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "UnternehmerHolzrueckung GmbH",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Firmenname",
+              "idShort": "Anrede",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Anrede"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Herr",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Anrede",
+              "idShort": "Vorname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Vorname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Max",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Vorname",
+              "idShort": "Nachname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Nachname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Mustermann",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Nachname",
+              "idShort": "Adresse",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Adresse"
                   }
                 ]
               },
-              "valueType": "xs:string"
-            },
-            {
-              "idShort": "Adresse",
-              "modelType": "Property",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Turmstr. 15, Aachen 52064",
               "valueType": "xs:string"
             },
             {
               "idShort": "Umsatzbesteuerung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Umsatzbesteuerung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "rb",
               "valueType": "xs:string"
             },
             {
               "idShort": "IBAN",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/IBAN"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "DE1234567890",
               "valueType": "xs:string"
             },
             {
               "idShort": "Steuernummer",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Steuernummer"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "99999999999",
               "valueType": "xs:string"
             },
             {
               "idShort": "Telefonnummern",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Telefon1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "0241-123456",
+                  "valueType": "xs:string"
+                }
+              ]
             },
             {
               "idShort": "Emailadressen",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Email1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Email"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "UnternehmerHolzrueckung@example.com",
+                  "valueType": "xs:string"
+                }
+              ]
             }
           ]
         },
         {
           "idShort": "UnternehmerHolzernte",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
-              "idShort": "Kontaktrolle",
+              "idShort": "Firmenname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Firmenname"
                   }
                 ]
               },
-              "value": "UnternehmerHolzernte",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "UnternehmerHolzernte GmbH",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Firmenname",
+              "idShort": "Anrede",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Anrede"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Herr",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Anrede",
+              "idShort": "Vorname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Vorname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Max",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Vorname",
+              "idShort": "Nachname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Nachname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Mustermann",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Nachname",
+              "idShort": "Adresse",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Adresse"
                   }
                 ]
               },
-              "valueType": "xs:string"
-            },
-            {
-              "idShort": "Adresse",
-              "modelType": "Property",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Turmstr. 15, Aachen 52064",
               "valueType": "xs:string"
             },
             {
               "idShort": "Umsatzbesteuerung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Umsatzbesteuerung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "rb",
               "valueType": "xs:string"
             },
             {
               "idShort": "IBAN",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/IBAN"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "DE1234567890",
               "valueType": "xs:string"
             },
             {
               "idShort": "Steuernummer",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Steuernummer"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "99999999999",
               "valueType": "xs:string"
             },
             {
               "idShort": "Telefonnummern",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Telefon1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "0241-123456",
+                  "valueType": "xs:string"
+                }
+              ]
             },
             {
               "idShort": "Emailadressen",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Email1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Email"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "UnternehmerHolzernte@example.com",
+                  "valueType": "xs:string"
+                }
+              ]
             }
           ]
         },
         {
           "idShort": "ZuFaellendeBaeume",
           "modelType": "ReferenceElement",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/ZuFaellendeBaeume"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": {
             "type": "ModelReference",
             "keys": [
@@ -771,122 +1889,480 @@
       "idShort": "Beobachtung",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/beobachtung",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Name",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Name"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "name",
           "valueType": "xs:string"
         },
         {
           "idShort": "Beschreibung",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Beschreibung"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "beschreibung",
           "valueType": "xs:string"
         },
         {
           "idShort": "Umring",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring"
+              }
+            ]
+          },
           "value": [
             {
               "idShort": "Name",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Name"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "name",
               "valueType": "xs:string"
             },
             {
               "idShort": "Beschreibung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Beschreibung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "beschreibung",
               "valueType": "xs:string"
             },
             {
               "idShort": "Koordinaten",
               "modelType": "SubmodelElementList",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "orderRelevant": true,
               "typeValueListElement": "SubmodelElementCollection",
               "value": [
                 {
                   "idShort": "Koordinate1",
                   "modelType": "SubmodelElementCollection",
-                  "value": [
-                    {
-                      "idShort": "x",
-                      "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": [
+                    {
+                      "idShort": "x",
+                      "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "8.916091918945312",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "49.86861816524657",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate2",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate3",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 }
@@ -897,38 +2373,157 @@
         {
           "idShort": "Position",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
               "idShort": "Koordinate",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "OneToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "x",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/x"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "30.00004",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "y",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/y"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "120.8",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "alt",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/alt"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "crs",
                   "modelType": "Property",
-                  "valueType": "xs:double"
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/crs"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "valueType": "xs:string"
                 }
               ]
             },
             {
               "idShort": "Notiz",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Notiz"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Die Position",
               "valueType": "xs:string"
             }
@@ -940,110 +2535,434 @@
       "idShort": "Bestandesdaten",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/bestandesdaten",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Umring",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring"
+              }
+            ]
+          },
           "value": [
             {
               "idShort": "Name",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Name"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "name",
               "valueType": "xs:string"
             },
             {
               "idShort": "Beschreibung",
               "modelType": "Property",
-              "value": "beschreibung",
-              "valueType": "xs:string"
-            },
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Beschreibung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "beschreibung",
+              "valueType": "xs:string"
+            },
             {
               "idShort": "Koordinaten",
               "modelType": "SubmodelElementList",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "orderRelevant": true,
               "typeValueListElement": "SubmodelElementCollection",
               "value": [
                 {
                   "idShort": "Koordinate1",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "8.916091918945312",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "49.86861816524657",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate2",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate3",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 }
@@ -1054,135 +2973,328 @@
         {
           "idShort": "Waldbesitzer",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
-              "idShort": "Kontaktrolle",
+              "idShort": "Firmenname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Firmenname"
                   }
                 ]
               },
-              "value": "Waldbesitzer",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Waldbesitzer GmbH",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Firmenname",
+              "idShort": "Anrede",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Anrede"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Herr",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Anrede",
+              "idShort": "Vorname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Vorname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Max",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Vorname",
+              "idShort": "Nachname",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Nachname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Mustermann",
               "valueType": "xs:string"
             },
             {
-              "idShort": "Nachname",
+              "idShort": "Adresse",
               "modelType": "Property",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Adresse"
                   }
                 ]
               },
-              "valueType": "xs:string"
-            },
-            {
-              "idShort": "Adresse",
-              "modelType": "Property",
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Turmstr. 15, Aachen 52064",
               "valueType": "xs:string"
             },
             {
               "idShort": "Umsatzbesteuerung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Umsatzbesteuerung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "rb",
               "valueType": "xs:string"
             },
             {
               "idShort": "IBAN",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/IBAN"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "DE1234567890",
               "valueType": "xs:string"
             },
             {
               "idShort": "Steuernummer",
               "modelType": "Property",
-              "valueType": "xs:string"
-            },
-            {
-              "idShort": "Telefonnummern",
-              "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Steuernummer"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "99999999999",
+              "valueType": "xs:string"
             },
             {
-              "idShort": "Emailadressen",
+              "idShort": "Telefonnummern",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern"
                   }
                 ]
               },
-              "valueTypeListElement": "xs:string"
-            }
-          ]
-        },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Telefon1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "0241-123456",
+                  "valueType": "xs:string"
+                }
+              ]
+            },
+            {
+              "idShort": "Emailadressen",
+              "modelType": "SubmodelElementList",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
+              "valueTypeListElement": "xs:string",
+              "value": [
+                {
+                  "idShort": "Email1",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Email"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Waldbesitzer@example.com",
+                  "valueType": "xs:string"
+                }
+              ]
+            }
+          ]
+        },
         {
           "idShort": "Baumarten",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "Property",
           "valueTypeListElement": "xs:string",
@@ -1190,6 +3302,23 @@
             {
               "idShort": "Baumart1",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumart"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "fi",
               "valueType": "xs:string"
             }
@@ -1201,14 +3330,57 @@
       "idShort": "Holzliste",
       "modelType": "Submodel",
       "id": "https://www.company.com/holzliste/1",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Kopfdaten",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
               "idShort": "Ernte",
               "modelType": "Range",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Ernte"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "valueType": "xs:date",
               "min": "2023-12-01",
               "max": "2023-12-31"
@@ -1221,26 +3393,19 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "basys4forestry.de/Kontakt"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant"
                   }
                 ]
               },
-              "value": [
+              "qualifiers": [
                 {
-                  "idShort": "Kontaktrolle",
-                  "modelType": "Property",
-                  "semanticId": {
-                    "type": "GlobalReference",
-                    "keys": [
-                      {
-                        "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
-                      }
-                    ]
-                  },
-                  "value": "Lieferant",
-                  "valueType": "xs:string"
-                },
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": [
                 {
                   "idShort": "Firmenname",
                   "modelType": "Property",
@@ -1249,10 +3414,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Firmenname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Holzlieferant GmbH",
                   "valueType": "xs:string"
                 },
@@ -1264,10 +3437,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Anrede"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Herr",
                   "valueType": "xs:string"
                 },
@@ -1279,10 +3460,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Vorname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Waldemar",
                   "valueType": "xs:string"
                 },
@@ -1294,51 +3483,135 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Nachname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Schwarz",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Adresse",
                   "modelType": "Property",
-                  "value": "Turmstr. 15, Aachen 52072",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Adresse"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Turmstr. 15, Aachen 52064",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Umsatzbesteuerung",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Umsatzbesteuerung"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "rb",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "IBAN",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/IBAN"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "DE1234567890",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Steuernummer",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Steuernummer"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "99999999999",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Telefonnummern",
                   "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
                   "valueTypeListElement": "xs:string",
                   "value": [
                     {
@@ -1349,10 +3622,18 @@
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefon"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "0241-123456",
                       "valueType": "xs:string"
                     },
@@ -1364,10 +3645,18 @@
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefon"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "0176-123456",
                       "valueType": "xs:string"
                     }
@@ -1376,17 +3665,25 @@
                 {
                   "idShort": "Emailadressen",
                   "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
                   "valueTypeListElement": "xs:string",
                   "value": [
                     {
@@ -1397,10 +3694,18 @@
                         "keys": [
                           {
                             "type": "GlobalReference",
-                            "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Email"
                           }
                         ]
                       },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "schwarz@waldemar.de",
                       "valueType": "xs:string"
                     }
@@ -1416,289 +3721,674 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "basys4forestry.de/Kontakt"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
-                  "idShort": "Kontaktrolle",
+                  "idShort": "Firmenname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Firmenname"
                       }
                     ]
                   },
-                  "value": "Kaeufer",
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Kaeufer GmbH",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Firmenname",
+                  "idShort": "Anrede",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Anrede"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Herr",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Anrede",
+                  "idShort": "Vorname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Vorname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Max",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Vorname",
+                  "idShort": "Nachname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Nachname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Mustermann",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Nachname",
+                  "idShort": "Adresse",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Adresse"
                       }
                     ]
                   },
-                  "valueType": "xs:string"
-                },
-                {
-                  "idShort": "Adresse",
-                  "modelType": "Property",
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Turmstr. 15, Aachen 52064",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Umsatzbesteuerung",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Umsatzbesteuerung"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "rb",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "IBAN",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/IBAN"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "DE1234567890",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Steuernummer",
                   "modelType": "Property",
-                  "valueType": "xs:string"
-                },
-                {
-                  "idShort": "Telefonnummern",
-                  "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Steuernummer"
                       }
                     ]
                   },
-                  "valueTypeListElement": "xs:string"
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "99999999999",
+                  "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Emailadressen",
+                  "idShort": "Telefonnummern",
                   "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern"
                       }
                     ]
                   },
-                  "valueTypeListElement": "xs:string"
-                }
-              ]
-            },
-            {
-              "idShort": "Fuhrmann",
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
+                  "valueTypeListElement": "xs:string",
+                  "value": [
+                    {
+                      "idShort": "Telefon1",
+                      "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefon"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "0241-123456",
+                      "valueType": "xs:string"
+                    }
+                  ]
+                },
+                {
+                  "idShort": "Emailadressen",
+                  "modelType": "SubmodelElementList",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
+                  "valueTypeListElement": "xs:string",
+                  "value": [
+                    {
+                      "idShort": "Email1",
+                      "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Email"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Kaeufer@example.com",
+                      "valueType": "xs:string"
+                    }
+                  ]
+                }
+              ]
+            },
+            {
+              "idShort": "Fuhrmann",
               "modelType": "SubmodelElementCollection",
               "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "basys4forestry.de/Kontakt"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
-                  "idShort": "Kontaktrolle",
+                  "idShort": "Firmenname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Firmenname"
                       }
                     ]
                   },
-                  "value": "Fuhrmann",
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Fuhrmann GmbH",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Firmenname",
+                  "idShort": "Anrede",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Anrede"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Herr",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Anrede",
+                  "idShort": "Vorname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Vorname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Max",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Vorname",
+                  "idShort": "Nachname",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Nachname"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Mustermann",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Nachname",
+                  "idShort": "Adresse",
                   "modelType": "Property",
                   "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Adresse"
                       }
                     ]
                   },
-                  "valueType": "xs:string"
-                },
-                {
-                  "idShort": "Adresse",
-                  "modelType": "Property",
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "Turmstr. 15, Aachen 52064",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Umsatzbesteuerung",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Umsatzbesteuerung"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "rb",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "IBAN",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/IBAN"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "DE1234567890",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Steuernummer",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Steuernummer"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "99999999999",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Telefonnummern",
                   "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern"
                       }
                     ]
                   },
-                  "valueTypeListElement": "xs:string"
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
+                  "valueTypeListElement": "xs:string",
+                  "value": [
+                    {
+                      "idShort": "Telefon1",
+                      "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefon"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "0241-123456",
+                      "valueType": "xs:string"
+                    }
+                  ]
                 },
                 {
                   "idShort": "Emailadressen",
                   "modelType": "SubmodelElementList",
-                  "orderRelevant": true,
-                  "typeValueListElement": "Property",
-                  "semanticIdListElement": {
+                  "semanticId": {
                     "type": "GlobalReference",
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen"
                       }
                     ]
                   },
-                  "valueTypeListElement": "xs:string"
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "orderRelevant": true,
+                  "typeValueListElement": "Property",
+                  "valueTypeListElement": "xs:string",
+                  "value": [
+                    {
+                      "idShort": "Email1",
+                      "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Email"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "value": "Fuhrmann@example.com",
+                      "valueType": "xs:string"
+                    }
+                  ]
                 }
               ]
             },
             {
               "idShort": "Projekt",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Projekt"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Eslohe2023",
               "valueType": "xs:string"
             },
             {
               "idShort": "Hieb",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Hieb"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "df",
               "valueType": "xs:string"
             },
             {
               "idShort": "Notiz",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Notiz"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Dieses Holz ist sehr gut",
               "valueType": "xs:string"
             }
@@ -1707,52 +4397,205 @@
         {
           "idShort": "Sortimentstyp",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sortimentstyp"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "st",
           "valueType": "xs:string"
         },
         {
           "idShort": "Sorte",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sorte"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "lg",
           "valueType": "xs:string"
         },
         {
           "idShort": "Holzart",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzart"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "fi",
           "valueType": "xs:string"
         },
         {
           "idShort": "PolterListe",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "Polter1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "OneToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Polternummer",
                   "modelType": "Property",
-                  "value": "100",
-                  "valueType": "xs:string"
-                },
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polternummer"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "100",
+                  "valueType": "xs:string"
+                },
                 {
                   "idShort": "Vermessungsverfahren",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Vermessungsverfahren"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "mit",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Polterstatus",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polterstatus"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Vermessen",
                   "valueType": "xs:string"
                 },
                 {
-                  "idShort": "Foto",
+                  "idShort": "Fotos",
                   "modelType": "SubmodelElementList",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "orderRelevant": true,
                   "typeValueListElement": "Property",
                   "valueTypeListElement": "xs:string",
@@ -1760,12 +4603,46 @@
                     {
                       "idShort": "Foto1",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos/Foto"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Altenbrak_Holz.JPG/1920px-Altenbrak_Holz.JPG",
                       "valueType": "xs:string"
                     },
                     {
                       "idShort": "Foto2",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos/Foto"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "https://de.wikipedia.org/wiki/Polter#/media/Datei:Baumst%C3%A4mme_bei_St%C3%BCbeckshorn.jpg",
                       "valueType": "xs:string"
                     }
@@ -1774,6 +4651,23 @@
                 {
                   "idShort": "Videos",
                   "modelType": "SubmodelElementList",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "orderRelevant": true,
                   "typeValueListElement": "Property",
                   "valueTypeListElement": "xs:string",
@@ -1781,6 +4675,23 @@
                     {
                       "idShort": "Video1",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos/Video"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "https://www.youtube.com/watch?v=b65SSRfDwUo",
                       "valueType": "xs:string"
                     }
@@ -1789,50 +4700,203 @@
                 {
                   "idShort": "Messergebnis_EinzelstammListe",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "Einzelstaemme",
                       "modelType": "SubmodelElementList",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "One",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "orderRelevant": true,
                       "typeValueListElement": "SubmodelElementCollection",
                       "value": [
                         {
                           "idShort": "Einzelstamm1",
                           "modelType": "SubmodelElementCollection",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "OneToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": [
                             {
                               "idShort": "Menge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "3.4",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammlaenge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "4.2",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "1",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Mittendurchmesser",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "47.0",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Gueteklasse",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "in",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Klammerstammabschnittsnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "valueType": "xs:string"
                             }
                           ]
@@ -1840,40 +4904,159 @@
                         {
                           "idShort": "Einzelstamm2",
                           "modelType": "SubmodelElementCollection",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "OneToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": [
                             {
                               "idShort": "Menge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "4.7",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammlaenge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "4.3",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "2",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Mittendurchmesser",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "63.0",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Gueteklasse",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "a",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Klammerstammabschnittsnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "valueType": "xs:string"
                             }
                           ]
@@ -1881,40 +5064,159 @@
                         {
                           "idShort": "Einzelstamm3",
                           "modelType": "SubmodelElementCollection",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "OneToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": [
                             {
                               "idShort": "Menge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "2.7",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammlaenge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "2.3",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "3",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Mittendurchmesser",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "63.0",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Gueteklasse",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "a",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Klammerstammabschnittsnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "1",
                               "valueType": "xs:string"
                             }
@@ -1923,40 +5225,159 @@
                         {
                           "idShort": "Einzelstamm4",
                           "modelType": "SubmodelElementCollection",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "OneToMany",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": [
                             {
                               "idShort": "Menge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "1.7",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammlaenge",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "1.3",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Stammnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "3",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Mittendurchmesser",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "One",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "43.0",
                               "valueType": "xs:double"
                             },
                             {
                               "idShort": "Gueteklasse",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "b",
                               "valueType": "xs:string"
                             },
                             {
                               "idShort": "Klammerstammabschnittsnummer",
                               "modelType": "Property",
+                              "semanticId": {
+                                "type": "GlobalReference",
+                                "keys": [
+                                  {
+                                    "type": "GlobalReference",
+                                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer"
+                                  }
+                                ]
+                              },
+                              "qualifiers": [
+                                {
+                                  "value": "ZeroToOne",
+                                  "kind": "ConceptQualifier",
+                                  "valueType": "xs:string",
+                                  "type": "Cardinality"
+                                }
+                              ],
                               "value": "2",
                               "valueType": "xs:string"
                             }
@@ -1969,38 +5390,157 @@
                 {
                   "idShort": "Standort",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "Koordinate",
                       "modelType": "SubmodelElementCollection",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "OneToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": [
                         {
                           "idShort": "x",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/x"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "30.00004",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "y",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/y"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "120.8",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "alt",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/alt"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "crs",
                           "modelType": "Property",
-                          "valueType": "xs:double"
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/crs"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "valueType": "xs:string"
                         }
                       ]
                     },
                     {
                       "idShort": "Notiz",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Notiz"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "Die Position",
                       "valueType": "xs:string"
                     }
@@ -2013,34 +5553,159 @@
         {
           "idShort": "Preismatrix",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "Preismatrixeintrag1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Preis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/Preis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "50.5",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "45.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "55.0",
                   "valueType": "xs:double"
                 },
                 {
-                  "idShort": "Gueteklasse",
+                  "idShort": "GueteklasseVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "in",
+                  "valueType": "xs:string"
+                },
+                {
+                  "idShort": "GueteklasseBis",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "in",
                   "valueType": "xs:string"
                 }
@@ -2049,28 +5714,136 @@
             {
               "idShort": "Preismatrixeintrag2",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Preis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/Preis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "50.5",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserVon",
                   "modelType": "Property",
-                  "value": "55.0",
-                  "valueType": "xs:double"
-                },
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "55.0",
+                  "valueType": "xs:double"
+                },
                 {
                   "idShort": "MittendurchmesserBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "65.0",
                   "valueType": "xs:double"
                 },
                 {
-                  "idShort": "Gueteklasse",
+                  "idShort": "GueteklasseVon",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "a",
+                  "valueType": "xs:string"
+                },
+                {
+                  "idShort": "GueteklasseBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "a",
                   "valueType": "xs:string"
                 }
@@ -2084,56 +5857,218 @@
       "idShort": "Holzpreisbereiche",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/holzpreisbereiche",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Holzpreisbereich1",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToMany",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
               "idShort": "Baumart",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Baumart"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "fi",
               "valueType": "xs:string"
             },
             {
               "idShort": "PreisVon",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/PreisVon"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "50.0",
               "valueType": "xs:double"
             },
             {
               "idShort": "PreisBis",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/PreisBis"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "80.0",
               "valueType": "xs:double"
             },
             {
               "idShort": "Sorte",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Sorte"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "lg",
               "valueType": "xs:string"
             },
             {
               "idShort": "Gueteklasse",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Gueteklasse"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "a",
               "valueType": "xs:string"
             },
             {
               "idShort": "MittendurchmesserVon",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/MittendurchmesserVon"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "40.3",
               "valueType": "xs:double"
             },
             {
               "idShort": "MittendurchmesserBis",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/MittendurchmesserBis"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "60.4",
               "valueType": "xs:double"
             },
             {
-              "idShort": "Holzliste",
+              "idShort": "HolzlisteReference",
               "modelType": "ReferenceElement",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/HolzlisteReference"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": {
                 "type": "ModelReference",
                 "keys": [
@@ -2147,12 +6082,46 @@
             {
               "idShort": "Datum",
               "modelType": "Property",
-              "value": "2023-05-02",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Datum"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "2023-06-29",
               "valueType": "xs:date"
             },
             {
               "idShort": "Quelle",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Quelle"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Dies ist eine Quelle",
               "valueType": "xs:string"
             }
@@ -2164,34 +6133,128 @@
       "idShort": "Verkaufslos",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/verkaufslos",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Verkaufsstatus",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaufsstatus"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "10",
           "valueType": "xs:integer"
         },
         {
           "idShort": "Abrechnungsmass",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Abrechnungsmass"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "mit",
           "valueType": "xs:string"
         },
         {
           "idShort": "Bereitstellungsart",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Bereitstellungsart"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "cpt",
           "valueType": "xs:string"
         },
         {
           "idShort": "VerfuegbarAb",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarAb"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "2023-01-01",
           "valueType": "xs:date"
         },
         {
           "idShort": "VerfuegbarBis",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarBis"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "2023-12-31",
           "valueType": "xs:date"
         },
@@ -2203,26 +6266,19 @@
             "keys": [
               {
                 "type": "GlobalReference",
-                "value": "basys4forestry.de/Kontakt"
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer"
               }
             ]
           },
-          "value": [
+          "qualifiers": [
             {
-              "idShort": "Kontaktrolle",
-              "modelType": "Property",
-              "semanticId": {
-                "type": "GlobalReference",
-                "keys": [
-                  {
-                    "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO204#003"
-                  }
-                ]
-              },
-              "value": "Lieferant",
-              "valueType": "xs:string"
-            },
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
+          "value": [
             {
               "idShort": "Firmenname",
               "modelType": "Property",
@@ -2231,10 +6287,18 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAW001#001"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Firmenname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Holzlieferant GmbH",
               "valueType": "xs:string"
             },
@@ -2246,10 +6310,18 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO208#003"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Anrede"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Herr",
               "valueType": "xs:string"
             },
@@ -2261,10 +6333,18 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO206#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Vorname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Waldemar",
               "valueType": "xs:string"
             },
@@ -2276,51 +6356,135 @@
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO205#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Nachname"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Schwarz",
               "valueType": "xs:string"
             },
             {
               "idShort": "Adresse",
               "modelType": "Property",
-              "value": "Turmstr. 15, Aachen 52072",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Adresse"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "value": "Turmstr. 15, Aachen 52064",
               "valueType": "xs:string"
             },
             {
               "idShort": "Umsatzbesteuerung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Umsatzbesteuerung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "rb",
               "valueType": "xs:string"
             },
             {
               "idShort": "IBAN",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/IBAN"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "DE1234567890",
               "valueType": "xs:string"
             },
             {
               "idShort": "Steuernummer",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Steuernummer"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "99999999999",
               "valueType": "xs:string"
             },
             {
               "idShort": "Telefonnummern",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
               "valueTypeListElement": "xs:string",
               "value": [
                 {
@@ -2331,10 +6495,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefon"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "0241-123456",
                   "valueType": "xs:string"
                 },
@@ -2346,10 +6518,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO136#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefon"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "0176-123456",
                   "valueType": "xs:string"
                 }
@@ -2358,17 +6538,25 @@
             {
               "idShort": "Emailadressen",
               "modelType": "SubmodelElementList",
-              "orderRelevant": true,
-              "typeValueListElement": "Property",
-              "semanticIdListElement": {
+              "semanticId": {
                 "type": "GlobalReference",
                 "keys": [
                   {
                     "type": "GlobalReference",
-                    "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen"
                   }
                 ]
               },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
+              "orderRelevant": true,
+              "typeValueListElement": "Property",
               "valueTypeListElement": "xs:string",
               "value": [
                 {
@@ -2379,10 +6567,18 @@
                     "keys": [
                       {
                         "type": "GlobalReference",
-                        "value": "eldatstandard.de/dokumentation/1.0.2/0173-1#02-AAO198#002"
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Email"
                       }
                     ]
                   },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "schwarz@waldemar.de",
                   "valueType": "xs:string"
                 }
@@ -2393,18 +6589,69 @@
         {
           "idShort": "Notiz",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Notiz"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "Dies ist ein Verkaufslos",
           "valueType": "xs:string"
         },
         {
           "idShort": "Holzlisten",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "ReferenceElement",
           "value": [
             {
-              "idShort": "Holzliste1",
+              "idShort": "HolzlisteReference1",
               "modelType": "ReferenceElement",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/HolzlisteReference"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": {
                 "type": "ModelReference",
                 "keys": [
@@ -2420,34 +6667,159 @@
         {
           "idShort": "Preismatrix",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "Preismatrixeintrag1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Preis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Preis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "50.5",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "45.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "55.0",
                   "valueType": "xs:double"
                 },
                 {
-                  "idShort": "Gueteklasse",
+                  "idShort": "GueteklasseVon",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "in",
+                  "valueType": "xs:string"
+                },
+                {
+                  "idShort": "GueteklasseBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "in",
                   "valueType": "xs:string"
                 }
@@ -2456,28 +6828,136 @@
             {
               "idShort": "Preismatrixeintrag2",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Preis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Preis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "50.5",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserVon",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "55.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "MittendurchmesserBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "65.0",
                   "valueType": "xs:double"
                 },
                 {
-                  "idShort": "Gueteklasse",
+                  "idShort": "GueteklasseVon",
+                  "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "value": "a",
+                  "valueType": "xs:string"
+                },
+                {
+                  "idShort": "GueteklasseBis",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "One",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "a",
                   "valueType": "xs:string"
                 }
@@ -2491,70 +6971,283 @@
       "idShort": "Waldweg",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/waldweg",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1"
+          }
+        ]
+      },
       "submodelElements": [
         {
           "idShort": "Beschreibung",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Beschreibung"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "beschreibung",
           "valueType": "xs:string"
         },
         {
           "idShort": "Erstellungsdatum",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Erstellungsdatum"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:date"
         },
         {
           "idShort": "Aktualisierungsdatum",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Aktualisierungsdatum"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "valueType": "xs:date"
         },
         {
           "idShort": "Breite",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Breite"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "150.5",
           "valueType": "xs:double"
         },
         {
           "idShort": "Wegpunkte",
           "modelType": "SubmodelElementList",
-          "orderRelevant": true,
-          "typeValueListElement": "SubmodelElementCollection",
-          "value": [
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
+          "orderRelevant": true,
+          "typeValueListElement": "SubmodelElementCollection",
+          "value": [
             {
               "idShort": "Standort1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Koordinate",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Notiz",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Notiz"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Die Position",
                   "valueType": "xs:string"
                 }
@@ -2565,44 +7258,180 @@
         {
           "idShort": "Wendepunkte",
           "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "Standort1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Koordinate",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Notiz",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Notiz"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "Die Position",
                   "valueType": "xs:string"
                 }
@@ -2616,122 +7445,457 @@
       "idShort": "ZuFaellendeBaeume",
       "modelType": "Submodel",
       "id": "https://www.company.com/submodels/zu_faellende_baeume",
+      "semanticId": {
+        "type": "GlobalReference",
+        "keys": [
+          {
+            "type": "GlobalReference",
+            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1"
+          }
+        ]
+      },
       "submodelElements": [
-        {
-          "idShort": "Name",
-          "modelType": "Property",
-          "value": "Baueme zu faellen",
-          "valueType": "xs:string"
-        },
         {
           "idShort": "Beschreibung",
           "modelType": "Property",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Beschreibung"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "One",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": "Baueme sollen demnaechst gefaellt werden",
           "valueType": "xs:string"
         },
         {
           "idShort": "Umring",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring"
+              }
+            ]
+          },
           "value": [
             {
               "idShort": "Name",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Name"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "name",
               "valueType": "xs:string"
             },
             {
               "idShort": "Beschreibung",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Beschreibung"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "beschreibung",
               "valueType": "xs:string"
             },
             {
               "idShort": "Koordinaten",
               "modelType": "SubmodelElementList",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "One",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "orderRelevant": true,
               "typeValueListElement": "SubmodelElementCollection",
               "value": [
                 {
                   "idShort": "Koordinate1",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "8.916091918945312",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "49.86861816524657",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate2",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 },
                 {
                   "idShort": "Koordinate3",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "OneToMany",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "x",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "30.00004",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "y",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "120.8",
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "alt",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "valueType": "xs:double"
                     },
                     {
                       "idShort": "crs",
                       "modelType": "Property",
-                      "valueType": "xs:double"
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
+                      "valueType": "xs:string"
                     }
                   ]
                 }
@@ -2740,108 +7904,431 @@
           ]
         },
         {
-          "idShort": "Standort",
+          "idShort": "Position",
           "modelType": "SubmodelElementCollection",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "value": [
             {
               "idShort": "Koordinate",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "OneToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "x",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/x"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "30.00004",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "y",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/y"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "120.8",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "alt",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/alt"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "crs",
                   "modelType": "Property",
-                  "valueType": "xs:double"
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/crs"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
+                  "valueType": "xs:string"
                 }
               ]
             },
             {
               "idShort": "Notiz",
               "modelType": "Property",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Notiz"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToOne",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": "Die Position",
               "valueType": "xs:string"
             }
-          ]
-        },
-        {
-          "idShort": "Baumliste",
-          "modelType": "SubmodelElementList",
+          ]
+        },
+        {
+          "idShort": "Baumliste",
+          "modelType": "SubmodelElementList",
+          "semanticId": {
+            "type": "GlobalReference",
+            "keys": [
+              {
+                "type": "GlobalReference",
+                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste"
+              }
+            ]
+          },
+          "qualifiers": [
+            {
+              "value": "ZeroToOne",
+              "kind": "ConceptQualifier",
+              "valueType": "xs:string",
+              "type": "Cardinality"
+            }
+          ],
           "orderRelevant": true,
           "typeValueListElement": "SubmodelElementCollection",
           "value": [
             {
               "idShort": "StehenderBaum1",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Hoehe",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Hoehe"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "20.3",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "bhd",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/bhd"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "30.2",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Baumart",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Baumart"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "fi",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Position",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "Koordinate",
                       "modelType": "SubmodelElementCollection",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "OneToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": [
                         {
                           "idShort": "x",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/x"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "8.916091918945312",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "y",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/y"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "49.86861816524657",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "alt",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/alt"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "crs",
                           "modelType": "Property",
-                          "valueType": "xs:double"
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/crs"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "valueType": "xs:string"
                         }
                       ]
                     },
                     {
                       "idShort": "Notiz",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Notiz"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "Die Position Fichte",
                       "valueType": "xs:string"
                     }
@@ -2852,60 +8339,247 @@
             {
               "idShort": "StehenderBaum2",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Hoehe",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Hoehe"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "17.0",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "bhd",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/bhd"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "31.2",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Baumart",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Baumart"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "ei",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Position",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "Koordinate",
                       "modelType": "SubmodelElementCollection",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "OneToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": [
                         {
                           "idShort": "x",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/x"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "30.00004",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "y",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/y"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "120.8",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "alt",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/alt"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "crs",
                           "modelType": "Property",
-                          "valueType": "xs:double"
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/crs"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "valueType": "xs:string"
                         }
                       ]
                     },
                     {
                       "idShort": "Notiz",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Notiz"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "Die Position Eiche",
                       "valueType": "xs:string"
                     }
@@ -2916,60 +8590,247 @@
             {
               "idShort": "StehenderBaum3",
               "modelType": "SubmodelElementCollection",
+              "semanticId": {
+                "type": "GlobalReference",
+                "keys": [
+                  {
+                    "type": "GlobalReference",
+                    "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum"
+                  }
+                ]
+              },
+              "qualifiers": [
+                {
+                  "value": "ZeroToMany",
+                  "kind": "ConceptQualifier",
+                  "valueType": "xs:string",
+                  "type": "Cardinality"
+                }
+              ],
               "value": [
                 {
                   "idShort": "Hoehe",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Hoehe"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "15.3",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "bhd",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/bhd"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "20.2",
                   "valueType": "xs:double"
                 },
                 {
                   "idShort": "Baumart",
                   "modelType": "Property",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Baumart"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": "bu",
                   "valueType": "xs:string"
                 },
                 {
                   "idShort": "Position",
                   "modelType": "SubmodelElementCollection",
+                  "semanticId": {
+                    "type": "GlobalReference",
+                    "keys": [
+                      {
+                        "type": "GlobalReference",
+                        "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position"
+                      }
+                    ]
+                  },
+                  "qualifiers": [
+                    {
+                      "value": "ZeroToOne",
+                      "kind": "ConceptQualifier",
+                      "valueType": "xs:string",
+                      "type": "Cardinality"
+                    }
+                  ],
                   "value": [
                     {
                       "idShort": "Koordinate",
                       "modelType": "SubmodelElementCollection",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "OneToMany",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": [
                         {
                           "idShort": "x",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/x"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "30.00004",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "y",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/y"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "value": "120.8",
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "alt",
                           "modelType": "Property",
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/alt"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
                           "valueType": "xs:double"
                         },
                         {
                           "idShort": "crs",
                           "modelType": "Property",
-                          "valueType": "xs:double"
+                          "semanticId": {
+                            "type": "GlobalReference",
+                            "keys": [
+                              {
+                                "type": "GlobalReference",
+                                "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/crs"
+                              }
+                            ]
+                          },
+                          "qualifiers": [
+                            {
+                              "value": "ZeroToOne",
+                              "kind": "ConceptQualifier",
+                              "valueType": "xs:string",
+                              "type": "Cardinality"
+                            }
+                          ],
+                          "valueType": "xs:string"
                         }
                       ]
                     },
                     {
                       "idShort": "Notiz",
                       "modelType": "Property",
+                      "semanticId": {
+                        "type": "GlobalReference",
+                        "keys": [
+                          {
+                            "type": "GlobalReference",
+                            "value": "https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Notiz"
+                          }
+                        ]
+                      },
+                      "qualifiers": [
+                        {
+                          "value": "ZeroToOne",
+                          "kind": "ConceptQualifier",
+                          "valueType": "xs:string",
+                          "type": "Cardinality"
+                        }
+                      ],
                       "value": "Die Position Buche",
                       "valueType": "xs:string"
                     }
diff --git a/demos/demo3_generic_model.py b/demos/demo3_generic_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..22aafcabc2351d4a27889b6b1381a5ba8f3751f7
--- /dev/null
+++ b/demos/demo3_generic_model.py
@@ -0,0 +1,155 @@
+import os, sys, inspect
+from typing import List
+
+import basyx
+from basyx.aas import model
+from basyx.aas.adapter.json import json_serialization
+import datetime
+
+from model import enums, generic_model
+
+
+def create_arbeitsauftrag():
+    arbeitsauftrag = generic_model.Arbeitsauftrag(
+        id_="https://www.company.com/submodels/arbeitsauftrag",
+        hiebsnummer="abc123",
+        kurzbeschreibung="beschreibung",
+        ansprechpartner=generic_model.Arbeitsauftrag.Ansprechpartner(),
+        unternehmerHolzrueckung=generic_model.Arbeitsauftrag.UnternehmerHolzrueckung(),
+        unternehmerHolzernte=generic_model.Arbeitsauftrag.UnternehmerHolzernte(),
+        sortimente=[create_sortiment()],
+        zuFaellendeBaeume=model.ModelReference.from_referable(create_zu_faellende_baeume())
+    )
+    return arbeitsauftrag
+
+
+def create_sortiment():
+    sortiment = generic_model.Arbeitsauftrag.Sortimente.Sortiment(
+        nummer=1,
+        sortimentstyp=enums.Sortimentstyp.Stammholz.value,
+        sorte=enums.Sorte.lang.value,
+        holzart=enums.Holzart.Fichte.value,
+        gueteklasseVon=enums.Gueteklasse.Qualitaet_A.value,
+        gueteklasseBis=enums.Gueteklasse.Qualitaet_B.value,
+        laengeVon=3.0,
+        laengeBis=6.0,
+        mindestzopf=1.0,
+        maxDurchmesser=10.0,
+        laengenzugabe=10.0,
+        mengenschaetzung=10.0,
+        bemerkung="Bemerkung",
+        ergebnis=generic_model.Arbeitsauftrag.Sortimente.Sortiment.Ergebnis([model.ModelReference.from_referable(create_holzliste())]),
+        kaeufer=generic_model.Arbeitsauftrag.Sortimente.Sortiment.Kaeufer(kontaktrolle=enums.Kontaktrolle.Kaeufer.value)
+    )
+    return sortiment
+
+
+def create_zu_faellende_baeume():
+    umring = generic_model.ZuFaellendeBaeume.Umring(
+        name="name", beschreibung="beschreibung",
+        koordinaten=generic_model.ZuFaellendeBaeume.Umring.Koordinaten([
+            generic_model.ZuFaellendeBaeume.Umring.Koordinaten.Koordinate(x=30.00004, y=120.80),
+            generic_model.ZuFaellendeBaeume.Umring.Koordinaten.Koordinate(x=31.00004, y=121.80),
+            generic_model.ZuFaellendeBaeume.Umring.Koordinaten.Koordinate(x=32.00004, y=122.80),
+        ]))
+
+    zufaellendebaeume = generic_model.ZuFaellendeBaeume(
+        id_="https://www.company.com/submodels/zu_faellende_baeume",
+        beschreibung="Baueme sollen demnaechst gefaellt werden",
+        umring=umring,
+        position=generic_model.ZuFaellendeBaeume.Position(
+            koordinate=generic_model.ZuFaellendeBaeume.Position.Koordinate(x=31.00004, y=121.80),
+            notiz="Die Position"
+        ),
+        baumliste=(
+            generic_model.ZuFaellendeBaeume.Baumliste.StehenderBaum(
+                hoehe=15.3, bhd=20.2, baumart=enums.Holzart.Buche.value,
+                position=generic_model.ZuFaellendeBaeume.Baumliste.StehenderBaum.Position(
+                    koordinate=generic_model.ZuFaellendeBaeume.Position.Koordinate(x=31.00004, y=121.80),
+                    notiz="Position"
+                )),
+        ),
+    )
+    return zufaellendebaeume
+
+
+def create_holzliste():
+    kopfdaten = generic_model.Holzliste.Kopfdaten(
+        projekt="Eslohe2023",
+        hieb=enums.Hieb.Durchforstung.value,
+        ernte=generic_model.Holzliste.Kopfdaten.Ernte(min=datetime.date(2023, 12, 1), max=datetime.date(2023, 12, 31)),
+        lieferant=generic_model.Holzliste.Kopfdaten.Lieferant(),
+        kaeufer=generic_model.Holzliste.Kopfdaten.Kaeufer(),
+        fuhrmann=generic_model.Holzliste.Kopfdaten.Fuhrmann(),
+        notiz="Dieses Holz ist sehr gut"
+    )
+
+    messergebnis_einzelstammliste = generic_model.Holzliste.PolterListe.Polter.Messergebnis_EinzelstammListe(
+        generic_model.Holzliste.PolterListe.Polter.Messergebnis_EinzelstammListe.Einzelstaemme([
+            generic_model.Holzliste.PolterListe.Polter.Messergebnis_EinzelstammListe.Einzelstaemme.Einzelstamm(
+                menge=3.4,
+                stammlaenge=4.2,
+                stammnummer="1",
+                mittendurchmesser=47.0,
+                gueteklasse=enums.Gueteklasse.Normale_Qualitaet.value
+            )
+        ])
+    )
+
+    polter = generic_model.Holzliste.PolterListe.Polter(
+        polternummer="100",
+        vermessungsverfahren=enums.Vermessungsverfahren.Mittenstaerkenvermessung.value,
+        polterstatus=enums.Polterstatus.Vermessen.value,
+        messergebnis_EinzelstammListe=messergebnis_einzelstammliste,
+        standort=generic_model.Holzliste.PolterListe.Polter.Standort(
+            koordinate=generic_model.Holzliste.PolterListe.Polter.Standort.Koordinate(x=31.00004, y=121.80),
+            notiz="Die Position"
+        ),
+        fotos=[
+            "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/Altenbrak_Holz.JPG/1920px-Altenbrak_Holz.JPG",
+            "https://de.wikipedia.org/wiki/Polter#/media/Datei:Baumst%C3%A4mme_bei_St%C3%BCbeckshorn.jpg"],
+        videos=["https://www.youtube.com/watch?v=b65SSRfDwUo"],
+    )
+
+    holzliste = generic_model.Holzliste(
+        id_="https://www.company.com/holzliste/1",
+        kopfdaten=kopfdaten,
+        polterListe=generic_model.Holzliste.PolterListe([polter]),
+        sortimentstyp=enums.Sortimentstyp.Stammholz.value,
+        sorte=enums.Sorte.lang.value,
+        holzart=enums.Holzart.Fichte.value)
+
+    return holzliste
+
+
+def create_aas():
+    arbeitsauftrag = create_arbeitsauftrag()
+    holzliste = create_holzliste()
+    zu_faellende_baeume = create_zu_faellende_baeume()
+
+    submodels = [
+        arbeitsauftrag,
+        holzliste,
+        zu_faellende_baeume,
+    ]
+    aas_dz_wald = model.AssetAdministrationShell(
+        id_="https://www.company.com/dz_wald/1",
+        id_short="DZWald",
+        asset_information=model.AssetInformation(),
+        submodel=submodels
+    )
+    return aas_dz_wald, submodels
+
+
+def write_aas():
+    aas, submodels = create_aas()
+
+    objstore = basyx.aas.model.DictObjectStore(submodels)
+    objstore.add(aas)
+
+    with open("generic_dz_wald_example.json", "w", encoding='utf-8') as file:
+        json_serialization.write_aas_json_file(file, objstore)
+
+
+if __name__ == "__main__":
+    write_aas()
diff --git a/model/configs.py b/model/configs.py
index 811a64e210e576fca1fad86e81254ba425f73ac0..c7e8b24b69130d79365e72e586ac571b38cc923d 100644
--- a/model/configs.py
+++ b/model/configs.py
@@ -1,11 +1,10 @@
-from basyx.aas.model import Key, datatypes, KeyTypes, GlobalReference
+from basyx.aas.model import Key, datatypes, KeyTypes, GlobalReference, Qualifier
 
 # Namen
 NOTIZ = "Notiz"
 
 # Kontakt
 KONTAKT = "Kontakt"
-KONTAKTROLLE = "Kontaktrolle"
 FIRMENNAME = "Firmenname"
 ANREDE = "Anrede"
 VORNAME = "Vorname"
@@ -34,11 +33,12 @@ CRS = "crs"
 # Preismatrix
 PREISMATRIX = "Preismatrix"
 PREISMATRIXEINTRAG = "Preismatrixeintrag"
-EINTRAEGE = "Eintraege"
 PREIS = "Preis"
 MITTENDURCHMESSER_VON = "MittendurchmesserVon"
 MITTENDURCHMESSER_BIS = "MittendurchmesserBis"
 GUETEKLASSE = "Gueteklasse"
+GUETEKLASSE_VON_PREISMATRIX = "GueteklasseVon"
+GUETEKLASSE_BIS_PREISMATRIX = "GueteklasseBis"
 
 # Kopfdaten
 KOPFDATEN = "Kopfdaten"
@@ -81,6 +81,8 @@ STEHENDER_BAUM = "StehenderBaum"
 BHD = "bhd"
 HOEHE = "Hoehe"
 SORTIMENTSTYP = "Sortimentstyp"
+STEHENDER_BAUM_BAUMART = "StehenderBaumBaumart"
+
 BAUMART = "Baumart"
 
 # Holzliste
@@ -90,6 +92,8 @@ SORTE = "Sorte"
 
 # Verkaufslos
 HOLZLISTEN = "Holzlisten"
+HOLZLISTE_REF = "HolzlisteReference"
+HOLZLISTE_REF_IN_HOLZLISTEN = "HolzlisteRefInHolzlisten"
 VERKAUFSLOS = "Verkaufslos"
 VERKAUFSSTATUS = "Verkaufsstatus"
 ABRECHNUNGSMASS = "Abrechnungsmass"
@@ -102,12 +106,17 @@ VERKAEUFER = "Verkaeufer"
 HOLZPREISBEREICH = "Holzpreisbereich"
 PREIS_VON = "PreisVon"
 PREIS_BIS = "PreisBis"
+HOLZPREISBEREICH_BAUMART = "HolzpreisbereichBaumart"
+HOLZPREISBEREICH_SORTE = "HolzpreisbereichSorte"
+HOLZLISTE_REF_IN_HOLZPREISBEREICH = "HolzlisteRefInHolzpreisbereich"
 DATUM = "Datum"
 QUELLE = "Quelle"
 
 # Sortiment
 SORTIMENT = "Sortiment"
 NUMMER = "Nummer"
+GUETEKLASSE_VON = "GueteklasseVon"
+GUETEKLASSE_BIS = "GueteklasseBis"
 LAENGE_VON = "LaengeVon"
 LAENGE_BIS = "LaengeBis"
 MINDESTZOPF = "Mindestzopf"
@@ -116,6 +125,7 @@ LAENGENZUGABE = "Laengenzugabe"
 MENGENSCHAETZUNG = "Mengenschaetzung"
 BEMERKUNG = "Bemerkung"
 ERGEBNIS = "Ergebnis"
+HOLZLISTE_REF_IN_ERGEBNIS = "HolzlisteReference"
 
 # ZuFaellendeBaeume
 ZU_FAELLENDE_BAEUME = "ZuFaellendeBaeume"
@@ -128,6 +138,7 @@ HOLZPREISBEREICHE = "Holzpreisbereiche"
 # Bestandesdaten
 BESTANDESDATEN = "Bestandesdaten"
 BAUMARTEN = "Baumarten"
+BESTANDESDATEN_BAUMART = "BestandesdatenBaumart"
 
 # Beobachtung
 BEOBACHTUNG = "Beobachtung"
@@ -153,6 +164,7 @@ NATURSCHUTZHINWEISE = "Naturschutzhinweise"
 KARTE = "Karte"
 AUFTRAGSSTATUS = "Auftragsstatus"
 SORTIMENTE = "Sortimente"
+ZU_FAELLENDE_BAEUME_REF = "ZuFaellendeBaeumeRefefence"
 
 # DZ_WALD
 DZ_WALD = "dz_wald"
@@ -165,6 +177,7 @@ DESCRIPTION = "description"
 VALUE_TYPE = "value_type"
 ID_SHORT = "id_short"
 IDENTIFICATION = "identification"
+QUALIFIER = "qualifier"
 
 B4F_SEMANTIC_ID_BASE = "basys4forestry.de/"
 ELDAT_SEMANTIC_ID_BASE = "eldatstandard.de/dokumentation/1.0.2/"
@@ -182,86 +195,102 @@ def eclass_semantic_id_ref(name: str):
     return GlobalReference(key=(Key(KeyTypes.GLOBAL_REFERENCE, f"{ELDAT_SEMANTIC_ID_BASE}{name}"),))
 
 
+def mandatory_qualifier():
+    return Qualifier(type_="Cardinality", value_type=str, value="One")
+def optional_qualifier():
+    return Qualifier(type_="Cardinality", value_type=str, value="ZeroToOne")
+def iterable_mandatory_qualifier():
+    return Qualifier(type_="Cardinality", value_type=str, value="OneToMany")
+def iterable_optional_qualifier():
+    return Qualifier(type_="Cardinality", value_type=str, value="ZeroToMany")
+
 KWARGS = {
     KONTAKT: {
         # ID_SHORT will be that of the provided KONTAKTROLLE
         # ID_SHORT: KONTAKT,
         DESCRIPTION: None,
         SEMANTIC_ID: b4f_semantic_id_ref("Kontakt"),
-    },
-    KONTAKTROLLE: {
-        ID_SHORT: KONTAKTROLLE,
-        DESCRIPTION: None,
-        SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO204#003"),
-        VALUE_TYPE: str,
+        QUALIFIER: tuple([]),
     },
     FIRMENNAME: {
         ID_SHORT: FIRMENNAME,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAW001#001"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     ANREDE: {
         ID_SHORT: ANREDE,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO208#003"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     VORNAME: {
         ID_SHORT: VORNAME,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO206#002"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     NACHNAME: {
         ID_SHORT: NACHNAME,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO205#002"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     ADRESSE: {
         ID_SHORT: ADRESSE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     TELEFONNUMMERN: {
         ID_SHORT: TELEFONNUMMERN,
         DESCRIPTION: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     TELEFON: {
         ID_SHORT: TELEFON,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO136#002"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     EMAILADRESSEN: {
         ID_SHORT: EMAILADRESSEN,
         DESCRIPTION: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     EMAIL: {
         ID_SHORT: EMAIL,
         DESCRIPTION: None,
         SEMANTIC_ID: eclass_semantic_id_ref("0173-1#02-AAO198#002"),
         VALUE_TYPE: str,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     UMSATZBESTEUERUNG: {
         ID_SHORT: UMSATZBESTEUERUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     IBAN: {
         ID_SHORT: IBAN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     STEUERNUMMER: {
         ID_SHORT: STEUERNUMMER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Geoklassen
@@ -269,63 +298,74 @@ KWARGS = {
         ID_SHORT: UMRING,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([]),
     },
     NAME: {
         ID_SHORT: NAME,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     BESCHREIBUNG: {
         ID_SHORT: BESCHREIBUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     KOORDINATEN: {
         ID_SHORT: KOORDINATEN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     STANDORT: {
         ID_SHORT: STANDORT,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     KOORDINATE: {
         ID_SHORT: KOORDINATE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_mandatory_qualifier()]),
     },
     X: {
         ID_SHORT: X,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     Y: {
         ID_SHORT: Y,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     ALT: {
         ID_SHORT: ALT,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     CRS: {
         ID_SHORT: CRS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
-        VALUE_TYPE: float,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     NOTIZ: {
         ID_SHORT: NOTIZ,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Preismatrix
@@ -333,40 +373,55 @@ KWARGS = {
         ID_SHORT: PREISMATRIXEINTRAG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     PREIS: {
         ID_SHORT: PREIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     MITTENDURCHMESSER_VON: {
         ID_SHORT: MITTENDURCHMESSER_VON,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     MITTENDURCHMESSER_BIS: {
         ID_SHORT: MITTENDURCHMESSER_BIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     GUETEKLASSE: {
         ID_SHORT: GUETEKLASSE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
-    PREISMATRIX: {
-        ID_SHORT: PREISMATRIX,
+    GUETEKLASSE_VON_PREISMATRIX: {
+        ID_SHORT: GUETEKLASSE_VON_PREISMATRIX,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    GUETEKLASSE_BIS_PREISMATRIX: {
+        ID_SHORT: GUETEKLASSE_BIS_PREISMATRIX,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
-    EINTRAEGE: {
-        ID_SHORT: EINTRAEGE,
+    PREISMATRIX: {
+        ID_SHORT: PREISMATRIX,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Kopfdaten
@@ -374,39 +429,46 @@ KWARGS = {
         ID_SHORT: KOPFDATEN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     PROJEKT: {
         ID_SHORT: PROJEKT,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     HIEB: {
         ID_SHORT: HIEB,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     ERNTE: {
         ID_SHORT: ERNTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     LIEFERANT: {
         ID_SHORT: LIEFERANT,
         DESCRIPTION: None,
         SEMANTIC_ID: b4f_semantic_id_ref("Kontakt"),
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     KAEUFER: {
         ID_SHORT: KAEUFER,
         DESCRIPTION: None,
         SEMANTIC_ID: b4f_semantic_id_ref("Kontakt"),
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     FUHRMANN: {
         ID_SHORT: FUHRMANN,
         DESCRIPTION: None,
         SEMANTIC_ID: b4f_semantic_id_ref("Kontakt"),
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Messergebnisse
@@ -414,57 +476,73 @@ KWARGS = {
         ID_SHORT: RAUMMASS_ENERGIEHOLZ,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    RAUMMASS_INDUSTRIEHOLZ: {
+        ID_SHORT: RAUMMASS_INDUSTRIEHOLZ,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     MENGE: {
         ID_SHORT: MENGE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     STAMMLAENGE: {
         ID_SHORT: STAMMLAENGE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     STAMMANZAHL: {
         ID_SHORT: STAMMANZAHL,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: int,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     KLAMMERSTAMMABSCHNITTSNUMMER: {
         ID_SHORT: KLAMMERSTAMMABSCHNITTSNUMMER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     MITTENDURCHMESSER: {
         ID_SHORT: MITTENDURCHMESSER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     EINZELSTAEMME: {
         ID_SHORT: EINZELSTAEMME,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     EINZELSTAMM: {
         ID_SHORT: EINZELSTAMM,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_mandatory_qualifier()]),
     },
     STAMMNUMMER: {
         ID_SHORT: STAMMNUMMER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     EINZELSTAMM_LISTE: {
         ID_SHORT: EINZELSTAMM_LISTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Polter
@@ -472,51 +550,60 @@ KWARGS = {
         ID_SHORT: POLTER_LISTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     POLTER: {
         ID_SHORT: POLTER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_mandatory_qualifier()]),
     },
     POLTERNUMMER: {
         ID_SHORT: POLTERNUMMER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     POLTERSTATUS: {
         ID_SHORT: POLTERSTATUS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     VERMESSUNGSVERFAHREN: {
         ID_SHORT: VERMESSUNGSVERFAHREN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     FOTOS: {
-        ID_SHORT: FOTO,
+        ID_SHORT: FOTOS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     FOTO: {
         ID_SHORT: FOTO,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     VIDEOS: {
         ID_SHORT: VIDEOS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     VIDEO: {
         ID_SHORT: VIDEO,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
 
     # Stehenderbaum
@@ -524,30 +611,35 @@ KWARGS = {
         ID_SHORT: STEHENDER_BAUM,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     BHD: {
         ID_SHORT: BHD,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     HOEHE: {
         ID_SHORT: HOEHE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
-    BAUMART: {
+    STEHENDER_BAUM_BAUMART: {
         ID_SHORT: BAUMART,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     SORTIMENTSTYP: {
         ID_SHORT: SORTIMENTSTYP,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
 
     # Holzliste
@@ -561,12 +653,28 @@ KWARGS = {
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     SORTE: {
         ID_SHORT: SORTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
+    },
+    HOLZPREISBEREICH_BAUMART: {
+        ID_SHORT: BAUMART,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
+    },
+    HOLZPREISBEREICH_SORTE: {
+        ID_SHORT: SORTE,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Verkaufslos
@@ -579,42 +687,55 @@ KWARGS = {
         ID_SHORT: HOLZLISTEN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    HOLZLISTE_REF_IN_HOLZLISTEN: {
+        ID_SHORT: HOLZLISTE_REF,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     VERKAUFSSTATUS: {
         ID_SHORT: VERKAUFSSTATUS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: int,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     ABRECHNUNGSMASS: {
         ID_SHORT: ABRECHNUNGSMASS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     BEREITSTELLUNGSART: {
         ID_SHORT: BEREITSTELLUNGSART,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     VERFUEGBAR_AB: {
         ID_SHORT: VERFUEGBAR_AB,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     VERFUEGBAR_BIS: {
         ID_SHORT: VERFUEGBAR_BIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     VERKAEUFER: {
         ID_SHORT: VERKAEUFER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Holzpreisbereich
@@ -622,30 +743,41 @@ KWARGS = {
         ID_SHORT: HOLZPREISBEREICH,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     PREIS_VON: {
         ID_SHORT: PREIS_VON,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     PREIS_BIS: {
         ID_SHORT: PREIS_BIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
+    },
+    HOLZLISTE_REF_IN_HOLZPREISBEREICH: {
+        ID_SHORT: HOLZLISTE_REF,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     DATUM: {
         ID_SHORT: DATUM,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     QUELLE: {
         ID_SHORT: QUELLE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Sortiment
@@ -653,59 +785,89 @@ KWARGS = {
         ID_SHORT: SORTIMENT,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
     NUMMER: {
         ID_SHORT: NUMMER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: int,
+        QUALIFIER: tuple([mandatory_qualifier()]),
+    },
+    GUETEKLASSE_VON: {
+        ID_SHORT: GUETEKLASSE_VON,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
+    },
+    GUETEKLASSE_BIS: {
+        ID_SHORT: GUETEKLASSE_BIS,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     LAENGE_VON: {
         ID_SHORT: LAENGE_VON,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     LAENGE_BIS: {
         ID_SHORT: LAENGE_BIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     MINDESTZOPF: {
         ID_SHORT: MINDESTZOPF,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     MAX_DURCHMESSER: {
         ID_SHORT: MAX_DURCHMESSER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     LAENGENZUGABE: {
         ID_SHORT: LAENGENZUGABE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     MENGENSCHAETZUNG: {
         ID_SHORT: MENGENSCHAETZUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     BEMERKUNG: {
         ID_SHORT: BEMERKUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     ERGEBNIS: {
         ID_SHORT: ERGEBNIS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    HOLZLISTE_REF_IN_ERGEBNIS: {
+        ID_SHORT: HOLZLISTE_REF,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
     },
 
     # ZuFaellendeBaeume
@@ -718,11 +880,13 @@ KWARGS = {
         ID_SHORT: POSITION,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     BAUMLISTE: {
         ID_SHORT: BAUMLISTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Holzpreisbereiche
@@ -742,6 +906,20 @@ KWARGS = {
         ID_SHORT: BAUMARTEN,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    BESTANDESDATEN_BAUMART: {
+        ID_SHORT: BAUMART,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        VALUE_TYPE: str,
+        QUALIFIER: tuple([iterable_optional_qualifier()]),
+    },
+    WALDBESITZER: {
+        ID_SHORT: WALDBESITZER,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Beobachtung
@@ -762,28 +940,33 @@ KWARGS = {
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     AKTUALISIERUNGSDATUM: {
         ID_SHORT: AKTUALISIERUNGSDATUM,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: datatypes.Date,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     BREITE: {
         ID_SHORT: BREITE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: float,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     WEGPUNKTE: {
         ID_SHORT: WEGPUNKTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     WENDEPUNKTE: {
         ID_SHORT: WENDEPUNKTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
 
     # Arbeitsauftrag
@@ -797,61 +980,72 @@ KWARGS = {
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     KURZBESCHREIBUNG: {
         ID_SHORT: KURZBESCHREIBUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     ANSPRECHPARTNER: {
         ID_SHORT: ANSPRECHPARTNER,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
-    },
-    WALDBESITZER: {
-        ID_SHORT: WALDBESITZER,
-        DESCRIPTION: None,
-        SEMANTIC_ID: None,
+        QUALIFIER: tuple([mandatory_qualifier()]),
     },
     UNTERNEHMER_HOLZERNTE: {
         ID_SHORT: UNTERNEHMER_HOLZERNTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     UNTERNEHMER_HOLZRUECKUNG: {
         ID_SHORT: UNTERNEHMER_HOLZRUECKUNG,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     SICHERHEITSHINWEISE: {
         ID_SHORT: SICHERHEITSHINWEISE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     NATURSCHUTZHINWEISE: {
         ID_SHORT: NATURSCHUTZHINWEISE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     KARTE: {
         ID_SHORT: KARTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     AUFTRAGSSTATUS: {
         ID_SHORT: AUFTRAGSSTATUS,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
         VALUE_TYPE: str,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     SORTIMENTE: {
         ID_SHORT: SORTIMENTE,
         DESCRIPTION: None,
         SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
+    },
+    ZU_FAELLENDE_BAEUME_REF: {
+        ID_SHORT: ZU_FAELLENDE_BAEUME,
+        DESCRIPTION: None,
+        SEMANTIC_ID: None,
+        QUALIFIER: tuple([optional_qualifier()]),
     },
     DZ_WALD: {
         ID_SHORT: DZ_WALD,
diff --git a/model/generic_model.py b/model/generic_model.py
new file mode 100644
index 0000000000000000000000000000000000000000..027f51c730893f01b2a24ae6e7902c95cf7a7096
--- /dev/null
+++ b/model/generic_model.py
@@ -0,0 +1,19731 @@
+from typing import *
+import inspect
+from basyx.aas.model import *
+from basyx.aas.model.datatypes import *
+
+
+class Arbeitsauftrag(Submodel):
+    class Hiebsnummer(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Hiebsnummer",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Hiebsnummer",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Kurzbeschreibung(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Kurzbeschreibung",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Kurzbeschreibung",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Sicherheitshinweise(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Sicherheitshinweise",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sicherheitshinweise",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Naturschutzhinweise(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Naturschutzhinweise",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Naturschutzhinweise",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Karte(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Karte",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Karte",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Auftragsstatus(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Auftragsstatus",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Auftragsstatus",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Sortimente(SubmodelElementList):
+        class Sortiment(SubmodelElementCollection):
+            class Nummer(Property):
+                def __init__(
+                    self,
+                    value: int,
+                    id_short: str = "Nummer",
+                    value_type: DataTypeDefXsd = int,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Nummer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Sortimentstyp(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Sortimentstyp",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sortimentstyp",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Sorte(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Sorte",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sorte",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Holzart(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Holzart",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Holzart",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseVon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseVon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/GueteklasseVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseBis(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseBis",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/GueteklasseBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class LaengeVon(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "LaengeVon",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class LaengeBis(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "LaengeBis",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Mindestzopf(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Mindestzopf",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mindestzopf",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class MaxDurchmesser(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "MaxDurchmesser",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/MaxDurchmesser",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Laengenzugabe(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Laengenzugabe",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Laengenzugabe",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Mengenschaetzung(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Mengenschaetzung",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mengenschaetzung",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Bemerkung(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Bemerkung",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Bemerkung",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Ergebnis(SubmodelElementList):
+                class HolzlisteReference(ReferenceElement):
+                    def __init__(
+                        self,
+                        value: Reference,
+                        id_short: str = "HolzlisteReference",
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis/HolzlisteReference",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    holzlisteReference: Optional[
+                        Iterable[Union[Reference, HolzlisteReference]]
+                    ] = None,
+                    id_short: str = "Ergebnis",
+                    type_value_list_element: SubmodelElement = ReferenceElement,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = None,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if holzlisteReference and all(
+                        [isinstance(i, Reference) for i in holzlisteReference]
+                    ):
+                        holzlisteReference = [
+                            self.HolzlisteReference(i) for i in holzlisteReference
+                        ]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [holzlisteReference]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Kaeufer(SubmodelElementCollection):
+                class Firmenname(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Firmenname",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Firmenname",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Anrede(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Anrede",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Anrede",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Vorname(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Vorname",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Vorname",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Nachname(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Nachname",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Nachname",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Adresse(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Adresse",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Adresse",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Umsatzbesteuerung(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Umsatzbesteuerung",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Umsatzbesteuerung",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class IBAN(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "IBAN",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/IBAN",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Steuernummer(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Steuernummer",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Steuernummer",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Telefonnummern(SubmodelElementList):
+                    class Telefon(Property):
+                        def __init__(
+                            self,
+                            value: str,
+                            id_short: str = "Telefon",
+                            value_type: DataTypeDefXsd = str,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern/Telefon",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToMany",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    def __init__(
+                        self,
+                        telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                        id_short: str = "Telefonnummern",
+                        type_value_list_element: SubmodelElement = Property,
+                        semantic_id_list_element: Optional[Reference] = None,
+                        value_type_list_element: Optional[DataTypeDefXsd] = str,
+                        order_relevant: bool = True,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        # Build a list of submodel elements if a raw values were passed in the argument
+                        if telefon and all([isinstance(i, str) for i in telefon]):
+                            telefon = [self.Telefon(i) for i in telefon]
+
+                        # Add all passed/initialized submodel elements to a single list
+                        embedded_submodel_elements = []
+                        for se_arg in [telefon]:
+                            if se_arg is None:
+                                continue
+                            elif isinstance(se_arg, SubmodelElement):
+                                embedded_submodel_elements.append(se_arg)
+                            elif isinstance(se_arg, Iterable):
+                                for n, element in enumerate(se_arg):
+                                    element.id_short = f"{element.id_short}{n}"
+                                    embedded_submodel_elements.append(element)
+                            else:
+                                raise TypeError(
+                                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                )
+
+                        super().__init__(
+                            value=embedded_submodel_elements,
+                            id_short=id_short,
+                            type_value_list_element=type_value_list_element,
+                            semantic_id_list_element=semantic_id_list_element,
+                            value_type_list_element=value_type_list_element,
+                            order_relevant=order_relevant,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Emailadressen(SubmodelElementList):
+                    class Email(Property):
+                        def __init__(
+                            self,
+                            value: str,
+                            id_short: str = "Email",
+                            value_type: DataTypeDefXsd = str,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen/Email",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToMany",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    def __init__(
+                        self,
+                        email: Optional[Iterable[Union[str, Email]]] = None,
+                        id_short: str = "Emailadressen",
+                        type_value_list_element: SubmodelElement = Property,
+                        semantic_id_list_element: Optional[Reference] = None,
+                        value_type_list_element: Optional[DataTypeDefXsd] = str,
+                        order_relevant: bool = True,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        # Build a list of submodel elements if a raw values were passed in the argument
+                        if email and all([isinstance(i, str) for i in email]):
+                            email = [self.Email(i) for i in email]
+
+                        # Add all passed/initialized submodel elements to a single list
+                        embedded_submodel_elements = []
+                        for se_arg in [email]:
+                            if se_arg is None:
+                                continue
+                            elif isinstance(se_arg, SubmodelElement):
+                                embedded_submodel_elements.append(se_arg)
+                            elif isinstance(se_arg, Iterable):
+                                for n, element in enumerate(se_arg):
+                                    element.id_short = f"{element.id_short}{n}"
+                                    embedded_submodel_elements.append(element)
+                            else:
+                                raise TypeError(
+                                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                )
+
+                        super().__init__(
+                            value=embedded_submodel_elements,
+                            id_short=id_short,
+                            type_value_list_element=type_value_list_element,
+                            semantic_id_list_element=semantic_id_list_element,
+                            value_type_list_element=value_type_list_element,
+                            order_relevant=order_relevant,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    firmenname: Optional[Union[str, Firmenname]] = None,
+                    anrede: Optional[Union[str, Anrede]] = None,
+                    vorname: Optional[Union[str, Vorname]] = None,
+                    nachname: Optional[Union[str, Nachname]] = None,
+                    adresse: Optional[Union[str, Adresse]] = None,
+                    umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+                    iBAN: Optional[Union[str, IBAN]] = None,
+                    steuernummer: Optional[Union[str, Steuernummer]] = None,
+                    telefonnummern: Optional[
+                        Union[Iterable[str], Telefonnummern]
+                    ] = None,
+                    emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+                    id_short: str = "Kaeufer",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if firmenname and not isinstance(firmenname, SubmodelElement):
+                        firmenname = self.Firmenname(firmenname)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if anrede and not isinstance(anrede, SubmodelElement):
+                        anrede = self.Anrede(anrede)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if vorname and not isinstance(vorname, SubmodelElement):
+                        vorname = self.Vorname(vorname)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if nachname and not isinstance(nachname, SubmodelElement):
+                        nachname = self.Nachname(nachname)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if adresse and not isinstance(adresse, SubmodelElement):
+                        adresse = self.Adresse(adresse)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if umsatzbesteuerung and not isinstance(
+                        umsatzbesteuerung, SubmodelElement
+                    ):
+                        umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if iBAN and not isinstance(iBAN, SubmodelElement):
+                        iBAN = self.IBAN(iBAN)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                        steuernummer = self.Steuernummer(steuernummer)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if telefonnummern and not isinstance(
+                        telefonnummern, SubmodelElement
+                    ):
+                        telefonnummern = self.Telefonnummern(telefonnummern)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                        emailadressen = self.Emailadressen(emailadressen)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [
+                        firmenname,
+                        anrede,
+                        vorname,
+                        nachname,
+                        adresse,
+                        umsatzbesteuerung,
+                        iBAN,
+                        steuernummer,
+                        telefonnummern,
+                        emailadressen,
+                    ]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                nummer: Union[int, Nummer],
+                sortimentstyp: Union[str, Sortimentstyp],
+                sorte: Union[str, Sorte],
+                holzart: Union[str, Holzart],
+                gueteklasseVon: Union[str, GueteklasseVon],
+                gueteklasseBis: Union[str, GueteklasseBis],
+                laengeVon: Union[float, LaengeVon],
+                laengeBis: Union[float, LaengeBis],
+                mindestzopf: Union[float, Mindestzopf],
+                maxDurchmesser: Union[float, MaxDurchmesser],
+                laengenzugabe: Union[float, Laengenzugabe],
+                mengenschaetzung: Union[float, Mengenschaetzung],
+                bemerkung: Optional[Union[str, Bemerkung]] = None,
+                ergebnis: Optional[Ergebnis] = None,
+                kaeufer: Optional[Kaeufer] = None,
+                id_short: str = "Sortiment",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if nummer and not isinstance(nummer, SubmodelElement):
+                    nummer = self.Nummer(nummer)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if sortimentstyp and not isinstance(sortimentstyp, SubmodelElement):
+                    sortimentstyp = self.Sortimentstyp(sortimentstyp)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if sorte and not isinstance(sorte, SubmodelElement):
+                    sorte = self.Sorte(sorte)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if holzart and not isinstance(holzart, SubmodelElement):
+                    holzart = self.Holzart(holzart)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseVon and not isinstance(gueteklasseVon, SubmodelElement):
+                    gueteklasseVon = self.GueteklasseVon(gueteklasseVon)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseBis and not isinstance(gueteklasseBis, SubmodelElement):
+                    gueteklasseBis = self.GueteklasseBis(gueteklasseBis)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if laengeVon and not isinstance(laengeVon, SubmodelElement):
+                    laengeVon = self.LaengeVon(laengeVon)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if laengeBis and not isinstance(laengeBis, SubmodelElement):
+                    laengeBis = self.LaengeBis(laengeBis)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mindestzopf and not isinstance(mindestzopf, SubmodelElement):
+                    mindestzopf = self.Mindestzopf(mindestzopf)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if maxDurchmesser and not isinstance(maxDurchmesser, SubmodelElement):
+                    maxDurchmesser = self.MaxDurchmesser(maxDurchmesser)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if laengenzugabe and not isinstance(laengenzugabe, SubmodelElement):
+                    laengenzugabe = self.Laengenzugabe(laengenzugabe)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mengenschaetzung and not isinstance(
+                    mengenschaetzung, SubmodelElement
+                ):
+                    mengenschaetzung = self.Mengenschaetzung(mengenschaetzung)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if bemerkung and not isinstance(bemerkung, SubmodelElement):
+                    bemerkung = self.Bemerkung(bemerkung)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    nummer,
+                    sortimentstyp,
+                    sorte,
+                    holzart,
+                    gueteklasseVon,
+                    gueteklasseBis,
+                    laengeVon,
+                    laengeBis,
+                    mindestzopf,
+                    maxDurchmesser,
+                    laengenzugabe,
+                    mengenschaetzung,
+                    bemerkung,
+                    ergebnis,
+                    kaeufer,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            sortiment: Optional[Iterable[Sortiment]] = None,
+            id_short: str = "Sortimente",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [sortiment]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Ansprechpartner(SubmodelElementCollection):
+        class Firmenname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Firmenname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Firmenname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Anrede(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Anrede",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Anrede",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Vorname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Vorname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Vorname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Nachname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Nachname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Nachname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Adresse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Adresse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Adresse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Umsatzbesteuerung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Umsatzbesteuerung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Umsatzbesteuerung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class IBAN(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "IBAN",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/IBAN",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Steuernummer(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Steuernummer",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Steuernummer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Telefonnummern(SubmodelElementList):
+            class Telefon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Telefon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                id_short: str = "Telefonnummern",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if telefon and all([isinstance(i, str) for i in telefon]):
+                    telefon = [self.Telefon(i) for i in telefon]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [telefon]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Emailadressen(SubmodelElementList):
+            class Email(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Email",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Email",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                email: Optional[Iterable[Union[str, Email]]] = None,
+                id_short: str = "Emailadressen",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if email and all([isinstance(i, str) for i in email]):
+                    email = [self.Email(i) for i in email]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [email]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            firmenname: Optional[Union[str, Firmenname]] = None,
+            anrede: Optional[Union[str, Anrede]] = None,
+            vorname: Optional[Union[str, Vorname]] = None,
+            nachname: Optional[Union[str, Nachname]] = None,
+            adresse: Optional[Union[str, Adresse]] = None,
+            umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+            iBAN: Optional[Union[str, IBAN]] = None,
+            steuernummer: Optional[Union[str, Steuernummer]] = None,
+            telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+            emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+            id_short: str = "Ansprechpartner",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if firmenname and not isinstance(firmenname, SubmodelElement):
+                firmenname = self.Firmenname(firmenname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if anrede and not isinstance(anrede, SubmodelElement):
+                anrede = self.Anrede(anrede)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if vorname and not isinstance(vorname, SubmodelElement):
+                vorname = self.Vorname(vorname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if nachname and not isinstance(nachname, SubmodelElement):
+                nachname = self.Nachname(nachname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if adresse and not isinstance(adresse, SubmodelElement):
+                adresse = self.Adresse(adresse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if umsatzbesteuerung and not isinstance(umsatzbesteuerung, SubmodelElement):
+                umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if iBAN and not isinstance(iBAN, SubmodelElement):
+                iBAN = self.IBAN(iBAN)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                steuernummer = self.Steuernummer(steuernummer)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                telefonnummern = self.Telefonnummern(telefonnummern)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                emailadressen = self.Emailadressen(emailadressen)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                firmenname,
+                anrede,
+                vorname,
+                nachname,
+                adresse,
+                umsatzbesteuerung,
+                iBAN,
+                steuernummer,
+                telefonnummern,
+                emailadressen,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class UnternehmerHolzrueckung(SubmodelElementCollection):
+        class Firmenname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Firmenname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Firmenname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Anrede(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Anrede",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Anrede",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Vorname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Vorname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Vorname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Nachname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Nachname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Nachname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Adresse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Adresse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Adresse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Umsatzbesteuerung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Umsatzbesteuerung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Umsatzbesteuerung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class IBAN(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "IBAN",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/IBAN",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Steuernummer(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Steuernummer",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Steuernummer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Telefonnummern(SubmodelElementList):
+            class Telefon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Telefon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                id_short: str = "Telefonnummern",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if telefon and all([isinstance(i, str) for i in telefon]):
+                    telefon = [self.Telefon(i) for i in telefon]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [telefon]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Emailadressen(SubmodelElementList):
+            class Email(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Email",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Email",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                email: Optional[Iterable[Union[str, Email]]] = None,
+                id_short: str = "Emailadressen",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if email and all([isinstance(i, str) for i in email]):
+                    email = [self.Email(i) for i in email]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [email]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            firmenname: Optional[Union[str, Firmenname]] = None,
+            anrede: Optional[Union[str, Anrede]] = None,
+            vorname: Optional[Union[str, Vorname]] = None,
+            nachname: Optional[Union[str, Nachname]] = None,
+            adresse: Optional[Union[str, Adresse]] = None,
+            umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+            iBAN: Optional[Union[str, IBAN]] = None,
+            steuernummer: Optional[Union[str, Steuernummer]] = None,
+            telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+            emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+            id_short: str = "UnternehmerHolzrueckung",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if firmenname and not isinstance(firmenname, SubmodelElement):
+                firmenname = self.Firmenname(firmenname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if anrede and not isinstance(anrede, SubmodelElement):
+                anrede = self.Anrede(anrede)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if vorname and not isinstance(vorname, SubmodelElement):
+                vorname = self.Vorname(vorname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if nachname and not isinstance(nachname, SubmodelElement):
+                nachname = self.Nachname(nachname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if adresse and not isinstance(adresse, SubmodelElement):
+                adresse = self.Adresse(adresse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if umsatzbesteuerung and not isinstance(umsatzbesteuerung, SubmodelElement):
+                umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if iBAN and not isinstance(iBAN, SubmodelElement):
+                iBAN = self.IBAN(iBAN)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                steuernummer = self.Steuernummer(steuernummer)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                telefonnummern = self.Telefonnummern(telefonnummern)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                emailadressen = self.Emailadressen(emailadressen)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                firmenname,
+                anrede,
+                vorname,
+                nachname,
+                adresse,
+                umsatzbesteuerung,
+                iBAN,
+                steuernummer,
+                telefonnummern,
+                emailadressen,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class UnternehmerHolzernte(SubmodelElementCollection):
+        class Firmenname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Firmenname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Firmenname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Anrede(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Anrede",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Anrede",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Vorname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Vorname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Vorname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Nachname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Nachname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Nachname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Adresse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Adresse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Adresse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Umsatzbesteuerung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Umsatzbesteuerung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Umsatzbesteuerung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class IBAN(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "IBAN",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/IBAN",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Steuernummer(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Steuernummer",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Steuernummer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Telefonnummern(SubmodelElementList):
+            class Telefon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Telefon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                id_short: str = "Telefonnummern",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if telefon and all([isinstance(i, str) for i in telefon]):
+                    telefon = [self.Telefon(i) for i in telefon]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [telefon]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Emailadressen(SubmodelElementList):
+            class Email(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Email",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Email",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                email: Optional[Iterable[Union[str, Email]]] = None,
+                id_short: str = "Emailadressen",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if email and all([isinstance(i, str) for i in email]):
+                    email = [self.Email(i) for i in email]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [email]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            firmenname: Optional[Union[str, Firmenname]] = None,
+            anrede: Optional[Union[str, Anrede]] = None,
+            vorname: Optional[Union[str, Vorname]] = None,
+            nachname: Optional[Union[str, Nachname]] = None,
+            adresse: Optional[Union[str, Adresse]] = None,
+            umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+            iBAN: Optional[Union[str, IBAN]] = None,
+            steuernummer: Optional[Union[str, Steuernummer]] = None,
+            telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+            emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+            id_short: str = "UnternehmerHolzernte",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if firmenname and not isinstance(firmenname, SubmodelElement):
+                firmenname = self.Firmenname(firmenname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if anrede and not isinstance(anrede, SubmodelElement):
+                anrede = self.Anrede(anrede)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if vorname and not isinstance(vorname, SubmodelElement):
+                vorname = self.Vorname(vorname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if nachname and not isinstance(nachname, SubmodelElement):
+                nachname = self.Nachname(nachname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if adresse and not isinstance(adresse, SubmodelElement):
+                adresse = self.Adresse(adresse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if umsatzbesteuerung and not isinstance(umsatzbesteuerung, SubmodelElement):
+                umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if iBAN and not isinstance(iBAN, SubmodelElement):
+                iBAN = self.IBAN(iBAN)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                steuernummer = self.Steuernummer(steuernummer)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                telefonnummern = self.Telefonnummern(telefonnummern)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                emailadressen = self.Emailadressen(emailadressen)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                firmenname,
+                anrede,
+                vorname,
+                nachname,
+                adresse,
+                umsatzbesteuerung,
+                iBAN,
+                steuernummer,
+                telefonnummern,
+                emailadressen,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class ZuFaellendeBaeume(ReferenceElement):
+        def __init__(
+            self,
+            value: Reference,
+            id_short: str = "ZuFaellendeBaeume",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/ZuFaellendeBaeume",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        hiebsnummer: Union[str, Hiebsnummer],
+        kurzbeschreibung: Union[str, Kurzbeschreibung],
+        sicherheitshinweise: Optional[Union[str, Sicherheitshinweise]] = None,
+        naturschutzhinweise: Optional[Union[str, Naturschutzhinweise]] = None,
+        karte: Optional[Union[str, Karte]] = None,
+        auftragsstatus: Optional[Union[str, Auftragsstatus]] = None,
+        sortimente: Optional[Sortimente] = None,
+        ansprechpartner: Optional[Ansprechpartner] = None,
+        unternehmerHolzrueckung: Optional[UnternehmerHolzrueckung] = None,
+        unternehmerHolzernte: Optional[UnternehmerHolzernte] = None,
+        zuFaellendeBaeume: Optional[Union[Reference, ZuFaellendeBaeume]] = None,
+        id_short: str = "Arbeitsauftrag",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if hiebsnummer and not isinstance(hiebsnummer, SubmodelElement):
+            hiebsnummer = self.Hiebsnummer(hiebsnummer)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if kurzbeschreibung and not isinstance(kurzbeschreibung, SubmodelElement):
+            kurzbeschreibung = self.Kurzbeschreibung(kurzbeschreibung)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if sicherheitshinweise and not isinstance(sicherheitshinweise, SubmodelElement):
+            sicherheitshinweise = self.Sicherheitshinweise(sicherheitshinweise)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if naturschutzhinweise and not isinstance(naturschutzhinweise, SubmodelElement):
+            naturschutzhinweise = self.Naturschutzhinweise(naturschutzhinweise)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if karte and not isinstance(karte, SubmodelElement):
+            karte = self.Karte(karte)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if auftragsstatus and not isinstance(auftragsstatus, SubmodelElement):
+            auftragsstatus = self.Auftragsstatus(auftragsstatus)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if zuFaellendeBaeume and not isinstance(zuFaellendeBaeume, SubmodelElement):
+            zuFaellendeBaeume = self.ZuFaellendeBaeume(zuFaellendeBaeume)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [
+            hiebsnummer,
+            kurzbeschreibung,
+            sicherheitshinweise,
+            naturschutzhinweise,
+            karte,
+            auftragsstatus,
+            sortimente,
+            ansprechpartner,
+            unternehmerHolzrueckung,
+            unternehmerHolzernte,
+            zuFaellendeBaeume,
+        ]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Beobachtung(Submodel):
+    class Name(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Name",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Name",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Beschreibung(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Beschreibung",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Beschreibung",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Umring(SubmodelElementCollection):
+        class Name(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Name",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Name",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Beschreibung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Beschreibung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Beschreibung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Koordinaten(SubmodelElementList):
+            class Koordinate(SubmodelElementCollection):
+                class X(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "x",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Y(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "y",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Alt(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "alt",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Crs(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "crs",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    x: Optional[Union[float, X]] = None,
+                    y: Optional[Union[float, Y]] = None,
+                    alt: Optional[Union[float, Alt]] = None,
+                    crs: Optional[Union[str, Crs]] = None,
+                    id_short: str = "Koordinate",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="OneToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if x and not isinstance(x, SubmodelElement):
+                        x = self.X(x)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if y and not isinstance(y, SubmodelElement):
+                        y = self.Y(y)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if alt and not isinstance(alt, SubmodelElement):
+                        alt = self.Alt(alt)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if crs and not isinstance(crs, SubmodelElement):
+                        crs = self.Crs(crs)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [x, y, alt, crs]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                koordinate: Iterable[Koordinate],
+                id_short: str = "Koordinaten",
+                type_value_list_element: SubmodelElement = SubmodelElementCollection,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = None,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [koordinate]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            name: Union[str, Name],
+            beschreibung: Union[str, Beschreibung],
+            koordinaten: Koordinaten,
+            id_short: str = "Umring",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = ()
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if name and not isinstance(name, SubmodelElement):
+                name = self.Name(name)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if beschreibung and not isinstance(beschreibung, SubmodelElement):
+                beschreibung = self.Beschreibung(beschreibung)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [name, beschreibung, koordinaten]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Position(SubmodelElementCollection):
+        class Koordinate(SubmodelElementCollection):
+            class X(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "x",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/x",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Y(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "y",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/y",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Alt(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "alt",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/alt",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Crs(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "crs",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/crs",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                x: Optional[Union[float, X]] = None,
+                y: Optional[Union[float, Y]] = None,
+                alt: Optional[Union[float, Alt]] = None,
+                crs: Optional[Union[str, Crs]] = None,
+                id_short: str = "Koordinate",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="OneToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if x and not isinstance(x, SubmodelElement):
+                    x = self.X(x)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if y and not isinstance(y, SubmodelElement):
+                    y = self.Y(y)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if alt and not isinstance(alt, SubmodelElement):
+                    alt = self.Alt(alt)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if crs and not isinstance(crs, SubmodelElement):
+                    crs = self.Crs(crs)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [x, y, alt, crs]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Notiz(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Notiz",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Notiz",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            koordinate: Iterable[Koordinate],
+            notiz: Optional[Union[str, Notiz]] = None,
+            id_short: str = "Position",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if notiz and not isinstance(notiz, SubmodelElement):
+                notiz = self.Notiz(notiz)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [koordinate, notiz]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        name: Union[str, Name],
+        beschreibung: Union[str, Beschreibung],
+        umring: Umring,
+        position: Optional[Position] = None,
+        id_short: str = "Beobachtung",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if name and not isinstance(name, SubmodelElement):
+            name = self.Name(name)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if beschreibung and not isinstance(beschreibung, SubmodelElement):
+            beschreibung = self.Beschreibung(beschreibung)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [name, beschreibung, umring, position]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Bestandesdaten(Submodel):
+    class Umring(SubmodelElementCollection):
+        class Name(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Name",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Name",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Beschreibung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Beschreibung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Beschreibung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Koordinaten(SubmodelElementList):
+            class Koordinate(SubmodelElementCollection):
+                class X(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "x",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Y(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "y",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Alt(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "alt",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Crs(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "crs",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    x: Optional[Union[float, X]] = None,
+                    y: Optional[Union[float, Y]] = None,
+                    alt: Optional[Union[float, Alt]] = None,
+                    crs: Optional[Union[str, Crs]] = None,
+                    id_short: str = "Koordinate",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="OneToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if x and not isinstance(x, SubmodelElement):
+                        x = self.X(x)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if y and not isinstance(y, SubmodelElement):
+                        y = self.Y(y)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if alt and not isinstance(alt, SubmodelElement):
+                        alt = self.Alt(alt)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if crs and not isinstance(crs, SubmodelElement):
+                        crs = self.Crs(crs)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [x, y, alt, crs]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                koordinate: Iterable[Koordinate],
+                id_short: str = "Koordinaten",
+                type_value_list_element: SubmodelElement = SubmodelElementCollection,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = None,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [koordinate]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            name: Union[str, Name],
+            beschreibung: Union[str, Beschreibung],
+            koordinaten: Koordinaten,
+            id_short: str = "Umring",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = ()
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if name and not isinstance(name, SubmodelElement):
+                name = self.Name(name)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if beschreibung and not isinstance(beschreibung, SubmodelElement):
+                beschreibung = self.Beschreibung(beschreibung)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [name, beschreibung, koordinaten]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Waldbesitzer(SubmodelElementCollection):
+        class Firmenname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Firmenname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Firmenname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Anrede(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Anrede",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Anrede",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Vorname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Vorname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Vorname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Nachname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Nachname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Nachname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Adresse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Adresse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Adresse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Umsatzbesteuerung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Umsatzbesteuerung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Umsatzbesteuerung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class IBAN(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "IBAN",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/IBAN",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Steuernummer(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Steuernummer",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Steuernummer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Telefonnummern(SubmodelElementList):
+            class Telefon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Telefon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                id_short: str = "Telefonnummern",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if telefon and all([isinstance(i, str) for i in telefon]):
+                    telefon = [self.Telefon(i) for i in telefon]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [telefon]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Emailadressen(SubmodelElementList):
+            class Email(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Email",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Email",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                email: Optional[Iterable[Union[str, Email]]] = None,
+                id_short: str = "Emailadressen",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if email and all([isinstance(i, str) for i in email]):
+                    email = [self.Email(i) for i in email]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [email]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            firmenname: Optional[Union[str, Firmenname]] = None,
+            anrede: Optional[Union[str, Anrede]] = None,
+            vorname: Optional[Union[str, Vorname]] = None,
+            nachname: Optional[Union[str, Nachname]] = None,
+            adresse: Optional[Union[str, Adresse]] = None,
+            umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+            iBAN: Optional[Union[str, IBAN]] = None,
+            steuernummer: Optional[Union[str, Steuernummer]] = None,
+            telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+            emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+            id_short: str = "Waldbesitzer",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if firmenname and not isinstance(firmenname, SubmodelElement):
+                firmenname = self.Firmenname(firmenname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if anrede and not isinstance(anrede, SubmodelElement):
+                anrede = self.Anrede(anrede)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if vorname and not isinstance(vorname, SubmodelElement):
+                vorname = self.Vorname(vorname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if nachname and not isinstance(nachname, SubmodelElement):
+                nachname = self.Nachname(nachname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if adresse and not isinstance(adresse, SubmodelElement):
+                adresse = self.Adresse(adresse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if umsatzbesteuerung and not isinstance(umsatzbesteuerung, SubmodelElement):
+                umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if iBAN and not isinstance(iBAN, SubmodelElement):
+                iBAN = self.IBAN(iBAN)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                steuernummer = self.Steuernummer(steuernummer)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                telefonnummern = self.Telefonnummern(telefonnummern)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                emailadressen = self.Emailadressen(emailadressen)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                firmenname,
+                anrede,
+                vorname,
+                nachname,
+                adresse,
+                umsatzbesteuerung,
+                iBAN,
+                steuernummer,
+                telefonnummern,
+                emailadressen,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Baumarten(SubmodelElementList):
+        class Baumart(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Baumart",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumart",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            baumart: Optional[Iterable[Union[str, Baumart]]] = None,
+            id_short: str = "Baumarten",
+            type_value_list_element: SubmodelElement = Property,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = str,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a list of submodel elements if a raw values were passed in the argument
+            if baumart and all([isinstance(i, str) for i in baumart]):
+                baumart = [self.Baumart(i) for i in baumart]
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [baumart]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        umring: Umring,
+        waldbesitzer: Optional[Waldbesitzer] = None,
+        baumarten: Optional[Union[Iterable[str], Baumarten]] = None,
+        id_short: str = "Bestandesdaten",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if baumarten and not isinstance(baumarten, SubmodelElement):
+            baumarten = self.Baumarten(baumarten)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [umring, waldbesitzer, baumarten]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Holzliste(Submodel):
+    class Kopfdaten(SubmodelElementCollection):
+        class Ernte(Range):
+            def __init__(
+                self,
+                min: Date,
+                max: Date,
+                id_short: str = "Ernte",
+                value_type: DataTypeDefXsd = Date,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Ernte",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    min=min,
+                    max=max,
+                    id_short=id_short,
+                    value_type=value_type,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Lieferant(SubmodelElementCollection):
+            class Firmenname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Firmenname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Firmenname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Anrede(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Anrede",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Anrede",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Vorname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Vorname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Vorname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Nachname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Nachname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Nachname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Adresse(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Adresse",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Adresse",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Umsatzbesteuerung(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Umsatzbesteuerung",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Umsatzbesteuerung",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class IBAN(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "IBAN",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/IBAN",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Steuernummer(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Steuernummer",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Steuernummer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Telefonnummern(SubmodelElementList):
+                class Telefon(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Telefon",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefon",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                    id_short: str = "Telefonnummern",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if telefon and all([isinstance(i, str) for i in telefon]):
+                        telefon = [self.Telefon(i) for i in telefon]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [telefon]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Emailadressen(SubmodelElementList):
+                class Email(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Email",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Email",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    email: Optional[Iterable[Union[str, Email]]] = None,
+                    id_short: str = "Emailadressen",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if email and all([isinstance(i, str) for i in email]):
+                        email = [self.Email(i) for i in email]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [email]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                firmenname: Optional[Union[str, Firmenname]] = None,
+                anrede: Optional[Union[str, Anrede]] = None,
+                vorname: Optional[Union[str, Vorname]] = None,
+                nachname: Optional[Union[str, Nachname]] = None,
+                adresse: Optional[Union[str, Adresse]] = None,
+                umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+                iBAN: Optional[Union[str, IBAN]] = None,
+                steuernummer: Optional[Union[str, Steuernummer]] = None,
+                telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+                emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+                id_short: str = "Lieferant",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if firmenname and not isinstance(firmenname, SubmodelElement):
+                    firmenname = self.Firmenname(firmenname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if anrede and not isinstance(anrede, SubmodelElement):
+                    anrede = self.Anrede(anrede)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if vorname and not isinstance(vorname, SubmodelElement):
+                    vorname = self.Vorname(vorname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if nachname and not isinstance(nachname, SubmodelElement):
+                    nachname = self.Nachname(nachname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if adresse and not isinstance(adresse, SubmodelElement):
+                    adresse = self.Adresse(adresse)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if umsatzbesteuerung and not isinstance(
+                    umsatzbesteuerung, SubmodelElement
+                ):
+                    umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if iBAN and not isinstance(iBAN, SubmodelElement):
+                    iBAN = self.IBAN(iBAN)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                    steuernummer = self.Steuernummer(steuernummer)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                    telefonnummern = self.Telefonnummern(telefonnummern)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                    emailadressen = self.Emailadressen(emailadressen)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    firmenname,
+                    anrede,
+                    vorname,
+                    nachname,
+                    adresse,
+                    umsatzbesteuerung,
+                    iBAN,
+                    steuernummer,
+                    telefonnummern,
+                    emailadressen,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Kaeufer(SubmodelElementCollection):
+            class Firmenname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Firmenname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Firmenname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Anrede(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Anrede",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Anrede",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Vorname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Vorname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Vorname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Nachname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Nachname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Nachname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Adresse(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Adresse",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Adresse",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Umsatzbesteuerung(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Umsatzbesteuerung",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Umsatzbesteuerung",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class IBAN(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "IBAN",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/IBAN",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Steuernummer(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Steuernummer",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Steuernummer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Telefonnummern(SubmodelElementList):
+                class Telefon(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Telefon",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefon",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                    id_short: str = "Telefonnummern",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if telefon and all([isinstance(i, str) for i in telefon]):
+                        telefon = [self.Telefon(i) for i in telefon]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [telefon]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Emailadressen(SubmodelElementList):
+                class Email(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Email",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Email",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    email: Optional[Iterable[Union[str, Email]]] = None,
+                    id_short: str = "Emailadressen",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if email and all([isinstance(i, str) for i in email]):
+                        email = [self.Email(i) for i in email]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [email]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                firmenname: Optional[Union[str, Firmenname]] = None,
+                anrede: Optional[Union[str, Anrede]] = None,
+                vorname: Optional[Union[str, Vorname]] = None,
+                nachname: Optional[Union[str, Nachname]] = None,
+                adresse: Optional[Union[str, Adresse]] = None,
+                umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+                iBAN: Optional[Union[str, IBAN]] = None,
+                steuernummer: Optional[Union[str, Steuernummer]] = None,
+                telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+                emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+                id_short: str = "Kaeufer",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if firmenname and not isinstance(firmenname, SubmodelElement):
+                    firmenname = self.Firmenname(firmenname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if anrede and not isinstance(anrede, SubmodelElement):
+                    anrede = self.Anrede(anrede)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if vorname and not isinstance(vorname, SubmodelElement):
+                    vorname = self.Vorname(vorname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if nachname and not isinstance(nachname, SubmodelElement):
+                    nachname = self.Nachname(nachname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if adresse and not isinstance(adresse, SubmodelElement):
+                    adresse = self.Adresse(adresse)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if umsatzbesteuerung and not isinstance(
+                    umsatzbesteuerung, SubmodelElement
+                ):
+                    umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if iBAN and not isinstance(iBAN, SubmodelElement):
+                    iBAN = self.IBAN(iBAN)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                    steuernummer = self.Steuernummer(steuernummer)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                    telefonnummern = self.Telefonnummern(telefonnummern)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                    emailadressen = self.Emailadressen(emailadressen)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    firmenname,
+                    anrede,
+                    vorname,
+                    nachname,
+                    adresse,
+                    umsatzbesteuerung,
+                    iBAN,
+                    steuernummer,
+                    telefonnummern,
+                    emailadressen,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Fuhrmann(SubmodelElementCollection):
+            class Firmenname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Firmenname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Firmenname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Anrede(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Anrede",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Anrede",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Vorname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Vorname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Vorname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Nachname(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Nachname",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Nachname",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Adresse(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Adresse",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Adresse",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Umsatzbesteuerung(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Umsatzbesteuerung",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Umsatzbesteuerung",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class IBAN(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "IBAN",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/IBAN",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Steuernummer(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Steuernummer",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Steuernummer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Telefonnummern(SubmodelElementList):
+                class Telefon(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Telefon",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefon",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                    id_short: str = "Telefonnummern",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if telefon and all([isinstance(i, str) for i in telefon]):
+                        telefon = [self.Telefon(i) for i in telefon]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [telefon]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Emailadressen(SubmodelElementList):
+                class Email(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Email",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Email",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    email: Optional[Iterable[Union[str, Email]]] = None,
+                    id_short: str = "Emailadressen",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if email and all([isinstance(i, str) for i in email]):
+                        email = [self.Email(i) for i in email]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [email]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                firmenname: Optional[Union[str, Firmenname]] = None,
+                anrede: Optional[Union[str, Anrede]] = None,
+                vorname: Optional[Union[str, Vorname]] = None,
+                nachname: Optional[Union[str, Nachname]] = None,
+                adresse: Optional[Union[str, Adresse]] = None,
+                umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+                iBAN: Optional[Union[str, IBAN]] = None,
+                steuernummer: Optional[Union[str, Steuernummer]] = None,
+                telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+                emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+                id_short: str = "Fuhrmann",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if firmenname and not isinstance(firmenname, SubmodelElement):
+                    firmenname = self.Firmenname(firmenname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if anrede and not isinstance(anrede, SubmodelElement):
+                    anrede = self.Anrede(anrede)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if vorname and not isinstance(vorname, SubmodelElement):
+                    vorname = self.Vorname(vorname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if nachname and not isinstance(nachname, SubmodelElement):
+                    nachname = self.Nachname(nachname)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if adresse and not isinstance(adresse, SubmodelElement):
+                    adresse = self.Adresse(adresse)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if umsatzbesteuerung and not isinstance(
+                    umsatzbesteuerung, SubmodelElement
+                ):
+                    umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if iBAN and not isinstance(iBAN, SubmodelElement):
+                    iBAN = self.IBAN(iBAN)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                    steuernummer = self.Steuernummer(steuernummer)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                    telefonnummern = self.Telefonnummern(telefonnummern)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                    emailadressen = self.Emailadressen(emailadressen)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    firmenname,
+                    anrede,
+                    vorname,
+                    nachname,
+                    adresse,
+                    umsatzbesteuerung,
+                    iBAN,
+                    steuernummer,
+                    telefonnummern,
+                    emailadressen,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Projekt(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Projekt",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Projekt",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Hieb(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Hieb",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Hieb",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Notiz(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Notiz",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Notiz",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            ernte: Optional[Union[Tuple[Date, Date], Ernte]] = None,
+            lieferant: Optional[Lieferant] = None,
+            kaeufer: Optional[Kaeufer] = None,
+            fuhrmann: Optional[Fuhrmann] = None,
+            projekt: Optional[Union[str, Projekt]] = None,
+            hieb: Optional[Union[str, Hieb]] = None,
+            notiz: Optional[Union[str, Notiz]] = None,
+            id_short: str = "Kopfdaten",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if ernte and not isinstance(ernte, SubmodelElement):
+                ernte = self.Ernte(ernte)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if projekt and not isinstance(projekt, SubmodelElement):
+                projekt = self.Projekt(projekt)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if hieb and not isinstance(hieb, SubmodelElement):
+                hieb = self.Hieb(hieb)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if notiz and not isinstance(notiz, SubmodelElement):
+                notiz = self.Notiz(notiz)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [ernte, lieferant, kaeufer, fuhrmann, projekt, hieb, notiz]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Sortimentstyp(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Sortimentstyp",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sortimentstyp",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Sorte(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Sorte",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sorte",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Holzart(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Holzart",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzart",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class PolterListe(SubmodelElementList):
+        class Polter(SubmodelElementCollection):
+            class Polternummer(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Polternummer",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polternummer",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Vermessungsverfahren(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Vermessungsverfahren",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Vermessungsverfahren",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Polterstatus(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Polterstatus",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polterstatus",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Fotos(SubmodelElementList):
+                class Foto(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Foto",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos/Foto",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    foto: Optional[Iterable[Union[str, Foto]]] = None,
+                    id_short: str = "Fotos",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if foto and all([isinstance(i, str) for i in foto]):
+                        foto = [self.Foto(i) for i in foto]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [foto]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Videos(SubmodelElementList):
+                class Video(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Video",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos/Video",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    video: Optional[Iterable[Union[str, Video]]] = None,
+                    id_short: str = "Videos",
+                    type_value_list_element: SubmodelElement = Property,
+                    semantic_id_list_element: Optional[Reference] = None,
+                    value_type_list_element: Optional[DataTypeDefXsd] = str,
+                    order_relevant: bool = True,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a list of submodel elements if a raw values were passed in the argument
+                    if video and all([isinstance(i, str) for i in video]):
+                        video = [self.Video(i) for i in video]
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [video]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        type_value_list_element=type_value_list_element,
+                        semantic_id_list_element=semantic_id_list_element,
+                        value_type_list_element=value_type_list_element,
+                        order_relevant=order_relevant,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Messergebnis_EinzelstammListe(SubmodelElementCollection):
+                class Einzelstaemme(SubmodelElementList):
+                    class Einzelstamm(SubmodelElementCollection):
+                        class Menge(Property):
+                            def __init__(
+                                self,
+                                value: float,
+                                id_short: str = "Menge",
+                                value_type: DataTypeDefXsd = float,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="One",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        class Stammlaenge(Property):
+                            def __init__(
+                                self,
+                                value: float,
+                                id_short: str = "Stammlaenge",
+                                value_type: DataTypeDefXsd = float,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="One",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        class Stammnummer(Property):
+                            def __init__(
+                                self,
+                                value: str,
+                                id_short: str = "Stammnummer",
+                                value_type: DataTypeDefXsd = str,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="One",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        class Mittendurchmesser(Property):
+                            def __init__(
+                                self,
+                                value: float,
+                                id_short: str = "Mittendurchmesser",
+                                value_type: DataTypeDefXsd = float,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="One",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        class Gueteklasse(Property):
+                            def __init__(
+                                self,
+                                value: str,
+                                id_short: str = "Gueteklasse",
+                                value_type: DataTypeDefXsd = str,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="ZeroToOne",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        class Klammerstammabschnittsnummer(Property):
+                            def __init__(
+                                self,
+                                value: str,
+                                id_short: str = "Klammerstammabschnittsnummer",
+                                value_type: DataTypeDefXsd = str,
+                                value_id: Optional[Reference] = None,
+                                display_name: Optional[LangStringSet] = None,
+                                category: Optional[str] = None,
+                                description: Optional[LangStringSet] = None,
+                                semantic_id: Optional[Reference] = GlobalReference(
+                                    key=(
+                                        Key(
+                                            type_=KeyTypes.GLOBAL_REFERENCE,
+                                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer",
+                                        ),
+                                    ),
+                                    referred_semantic_id=None,
+                                ),
+                                qualifier: Iterable[Qualifier] = None,
+                                kind: ModelingKind = ModelingKind.INSTANCE,
+                                extension: Iterable[Extension] = (),
+                                supplemental_semantic_id: Iterable[Reference] = (),
+                                embedded_data_specifications: Iterable[
+                                    EmbeddedDataSpecification
+                                ] = None,
+                            ):
+                                if qualifier is None:
+                                    qualifier = (
+                                        Qualifier(
+                                            type_="Cardinality",
+                                            value_type=str,
+                                            value="ZeroToOne",
+                                            value_id=None,
+                                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                                            semantic_id=None,
+                                            supplemental_semantic_id=(),
+                                        ),
+                                    )
+
+                                if embedded_data_specifications is None:
+                                    embedded_data_specifications = []
+
+                                super().__init__(
+                                    value=value,
+                                    id_short=id_short,
+                                    value_type=value_type,
+                                    value_id=value_id,
+                                    display_name=display_name,
+                                    category=category,
+                                    description=description,
+                                    semantic_id=semantic_id,
+                                    qualifier=qualifier,
+                                    kind=kind,
+                                    extension=extension,
+                                    supplemental_semantic_id=supplemental_semantic_id,
+                                    embedded_data_specifications=embedded_data_specifications,
+                                )
+
+                        def __init__(
+                            self,
+                            menge: Union[float, Menge],
+                            stammlaenge: Union[float, Stammlaenge],
+                            stammnummer: Union[str, Stammnummer],
+                            mittendurchmesser: Union[float, Mittendurchmesser],
+                            gueteklasse: Optional[Union[str, Gueteklasse]] = None,
+                            klammerstammabschnittsnummer: Optional[
+                                Union[str, Klammerstammabschnittsnummer]
+                            ] = None,
+                            id_short: str = "Einzelstamm",
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="OneToMany",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if menge and not isinstance(menge, SubmodelElement):
+                                menge = self.Menge(menge)
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if stammlaenge and not isinstance(
+                                stammlaenge, SubmodelElement
+                            ):
+                                stammlaenge = self.Stammlaenge(stammlaenge)
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if stammnummer and not isinstance(
+                                stammnummer, SubmodelElement
+                            ):
+                                stammnummer = self.Stammnummer(stammnummer)
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if mittendurchmesser and not isinstance(
+                                mittendurchmesser, SubmodelElement
+                            ):
+                                mittendurchmesser = self.Mittendurchmesser(
+                                    mittendurchmesser
+                                )
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if gueteklasse and not isinstance(
+                                gueteklasse, SubmodelElement
+                            ):
+                                gueteklasse = self.Gueteklasse(gueteklasse)
+
+                            # Build a submodel element if a raw value was passed in the argument
+                            if klammerstammabschnittsnummer and not isinstance(
+                                klammerstammabschnittsnummer, SubmodelElement
+                            ):
+                                klammerstammabschnittsnummer = (
+                                    self.Klammerstammabschnittsnummer(
+                                        klammerstammabschnittsnummer
+                                    )
+                                )
+
+                            # Add all passed/initialized submodel elements to a single list
+                            embedded_submodel_elements = []
+                            for se_arg in [
+                                menge,
+                                stammlaenge,
+                                stammnummer,
+                                mittendurchmesser,
+                                gueteklasse,
+                                klammerstammabschnittsnummer,
+                            ]:
+                                if se_arg is None:
+                                    continue
+                                elif isinstance(se_arg, SubmodelElement):
+                                    embedded_submodel_elements.append(se_arg)
+                                elif isinstance(se_arg, Iterable):
+                                    for n, element in enumerate(se_arg):
+                                        element.id_short = f"{element.id_short}{n}"
+                                        embedded_submodel_elements.append(element)
+                                else:
+                                    raise TypeError(
+                                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                    )
+
+                            super().__init__(
+                                value=embedded_submodel_elements,
+                                id_short=id_short,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    def __init__(
+                        self,
+                        einzelstamm: Iterable[Einzelstamm],
+                        id_short: str = "Einzelstaemme",
+                        type_value_list_element: SubmodelElement = SubmodelElementCollection,
+                        semantic_id_list_element: Optional[Reference] = None,
+                        value_type_list_element: Optional[DataTypeDefXsd] = None,
+                        order_relevant: bool = True,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="One",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        # Add all passed/initialized submodel elements to a single list
+                        embedded_submodel_elements = []
+                        for se_arg in [einzelstamm]:
+                            if se_arg is None:
+                                continue
+                            elif isinstance(se_arg, SubmodelElement):
+                                embedded_submodel_elements.append(se_arg)
+                            elif isinstance(se_arg, Iterable):
+                                for n, element in enumerate(se_arg):
+                                    element.id_short = f"{element.id_short}{n}"
+                                    embedded_submodel_elements.append(element)
+                            else:
+                                raise TypeError(
+                                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                )
+
+                        super().__init__(
+                            value=embedded_submodel_elements,
+                            id_short=id_short,
+                            type_value_list_element=type_value_list_element,
+                            semantic_id_list_element=semantic_id_list_element,
+                            value_type_list_element=value_type_list_element,
+                            order_relevant=order_relevant,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    einzelstaemme: Einzelstaemme,
+                    id_short: str = "Messergebnis_EinzelstammListe",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [einzelstaemme]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Standort(SubmodelElementCollection):
+                class Koordinate(SubmodelElementCollection):
+                    class X(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "x",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/x",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Y(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "y",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/y",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Alt(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "alt",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/alt",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Crs(Property):
+                        def __init__(
+                            self,
+                            value: str,
+                            id_short: str = "crs",
+                            value_type: DataTypeDefXsd = str,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/crs",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    def __init__(
+                        self,
+                        x: Optional[Union[float, X]] = None,
+                        y: Optional[Union[float, Y]] = None,
+                        alt: Optional[Union[float, Alt]] = None,
+                        crs: Optional[Union[str, Crs]] = None,
+                        id_short: str = "Koordinate",
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="OneToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if x and not isinstance(x, SubmodelElement):
+                            x = self.X(x)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if y and not isinstance(y, SubmodelElement):
+                            y = self.Y(y)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if alt and not isinstance(alt, SubmodelElement):
+                            alt = self.Alt(alt)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if crs and not isinstance(crs, SubmodelElement):
+                            crs = self.Crs(crs)
+
+                        # Add all passed/initialized submodel elements to a single list
+                        embedded_submodel_elements = []
+                        for se_arg in [x, y, alt, crs]:
+                            if se_arg is None:
+                                continue
+                            elif isinstance(se_arg, SubmodelElement):
+                                embedded_submodel_elements.append(se_arg)
+                            elif isinstance(se_arg, Iterable):
+                                for n, element in enumerate(se_arg):
+                                    element.id_short = f"{element.id_short}{n}"
+                                    embedded_submodel_elements.append(element)
+                            else:
+                                raise TypeError(
+                                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                )
+
+                        super().__init__(
+                            value=embedded_submodel_elements,
+                            id_short=id_short,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Notiz(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Notiz",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Notiz",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    koordinate: Iterable[Koordinate],
+                    notiz: Optional[Union[str, Notiz]] = None,
+                    id_short: str = "Standort",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if notiz and not isinstance(notiz, SubmodelElement):
+                        notiz = self.Notiz(notiz)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [koordinate, notiz]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                polternummer: Union[str, Polternummer],
+                vermessungsverfahren: Union[str, Vermessungsverfahren],
+                polterstatus: Union[str, Polterstatus],
+                fotos: Optional[Union[Iterable[str], Fotos]] = None,
+                videos: Optional[Union[Iterable[str], Videos]] = None,
+                messergebnis_EinzelstammListe: Optional[
+                    Messergebnis_EinzelstammListe
+                ] = None,
+                standort: Optional[Standort] = None,
+                id_short: str = "Polter",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="OneToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if polternummer and not isinstance(polternummer, SubmodelElement):
+                    polternummer = self.Polternummer(polternummer)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if vermessungsverfahren and not isinstance(
+                    vermessungsverfahren, SubmodelElement
+                ):
+                    vermessungsverfahren = self.Vermessungsverfahren(
+                        vermessungsverfahren
+                    )
+
+                # Build a submodel element if a raw value was passed in the argument
+                if polterstatus and not isinstance(polterstatus, SubmodelElement):
+                    polterstatus = self.Polterstatus(polterstatus)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if fotos and not isinstance(fotos, SubmodelElement):
+                    fotos = self.Fotos(fotos)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if videos and not isinstance(videos, SubmodelElement):
+                    videos = self.Videos(videos)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    polternummer,
+                    vermessungsverfahren,
+                    polterstatus,
+                    fotos,
+                    videos,
+                    messergebnis_EinzelstammListe,
+                    standort,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            polter: Iterable[Polter],
+            id_short: str = "PolterListe",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [polter]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Preismatrix(SubmodelElementList):
+        class Preismatrixeintrag(SubmodelElementCollection):
+            class Preis(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Preis",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/Preis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class MittendurchmesserVon(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "MittendurchmesserVon",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class MittendurchmesserBis(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "MittendurchmesserBis",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseVon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseVon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseBis(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseBis",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                preis: Union[float, Preis],
+                gueteklasseVon: Union[str, GueteklasseVon],
+                gueteklasseBis: Union[str, GueteklasseBis],
+                mittendurchmesserVon: Optional[
+                    Union[float, MittendurchmesserVon]
+                ] = None,
+                mittendurchmesserBis: Optional[
+                    Union[float, MittendurchmesserBis]
+                ] = None,
+                id_short: str = "Preismatrixeintrag",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrixeintrag",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if preis and not isinstance(preis, SubmodelElement):
+                    preis = self.Preis(preis)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mittendurchmesserVon and not isinstance(
+                    mittendurchmesserVon, SubmodelElement
+                ):
+                    mittendurchmesserVon = self.MittendurchmesserVon(
+                        mittendurchmesserVon
+                    )
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mittendurchmesserBis and not isinstance(
+                    mittendurchmesserBis, SubmodelElement
+                ):
+                    mittendurchmesserBis = self.MittendurchmesserBis(
+                        mittendurchmesserBis
+                    )
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseVon and not isinstance(gueteklasseVon, SubmodelElement):
+                    gueteklasseVon = self.GueteklasseVon(gueteklasseVon)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseBis and not isinstance(gueteklasseBis, SubmodelElement):
+                    gueteklasseBis = self.GueteklasseBis(gueteklasseBis)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    preis,
+                    mittendurchmesserVon,
+                    mittendurchmesserBis,
+                    gueteklasseVon,
+                    gueteklasseBis,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            preismatrixeintrag: Optional[Iterable[Preismatrixeintrag]] = None,
+            id_short: str = "Preismatrix",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [preismatrixeintrag]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        kopfdaten: Kopfdaten,
+        sortimentstyp: Union[str, Sortimentstyp],
+        sorte: Union[str, Sorte],
+        holzart: Union[str, Holzart],
+        polterListe: PolterListe,
+        preismatrix: Optional[Preismatrix] = None,
+        id_short: str = "Holzliste",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Holzliste/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if sortimentstyp and not isinstance(sortimentstyp, SubmodelElement):
+            sortimentstyp = self.Sortimentstyp(sortimentstyp)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if sorte and not isinstance(sorte, SubmodelElement):
+            sorte = self.Sorte(sorte)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if holzart and not isinstance(holzart, SubmodelElement):
+            holzart = self.Holzart(holzart)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [
+            kopfdaten,
+            sortimentstyp,
+            sorte,
+            holzart,
+            polterListe,
+            preismatrix,
+        ]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Holzpreisbereiche(Submodel):
+    class Holzpreisbereich(SubmodelElementCollection):
+        class Baumart(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Baumart",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Baumart",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class PreisVon(Property):
+            def __init__(
+                self,
+                value: float,
+                id_short: str = "PreisVon",
+                value_type: DataTypeDefXsd = float,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/PreisVon",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class PreisBis(Property):
+            def __init__(
+                self,
+                value: float,
+                id_short: str = "PreisBis",
+                value_type: DataTypeDefXsd = float,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/PreisBis",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Sorte(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Sorte",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Sorte",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Gueteklasse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Gueteklasse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Gueteklasse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class MittendurchmesserVon(Property):
+            def __init__(
+                self,
+                value: float,
+                id_short: str = "MittendurchmesserVon",
+                value_type: DataTypeDefXsd = float,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/MittendurchmesserVon",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class MittendurchmesserBis(Property):
+            def __init__(
+                self,
+                value: float,
+                id_short: str = "MittendurchmesserBis",
+                value_type: DataTypeDefXsd = float,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/MittendurchmesserBis",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class HolzlisteReference(ReferenceElement):
+            def __init__(
+                self,
+                value: Reference,
+                id_short: str = "HolzlisteReference",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/HolzlisteReference",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Datum(Property):
+            def __init__(
+                self,
+                value: Date,
+                id_short: str = "Datum",
+                value_type: DataTypeDefXsd = Date,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Datum",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Quelle(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Quelle",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich/Quelle",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            baumart: Union[str, Baumart],
+            preisVon: Union[float, PreisVon],
+            preisBis: Union[float, PreisBis],
+            sorte: Optional[Union[str, Sorte]] = None,
+            gueteklasse: Optional[Union[str, Gueteklasse]] = None,
+            mittendurchmesserVon: Optional[Union[float, MittendurchmesserVon]] = None,
+            mittendurchmesserBis: Optional[Union[float, MittendurchmesserBis]] = None,
+            holzlisteReference: Optional[Union[Reference, HolzlisteReference]] = None,
+            datum: Optional[Union[Date, Datum]] = None,
+            quelle: Optional[Union[str, Quelle]] = None,
+            id_short: str = "Holzpreisbereich",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereich",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToMany",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if baumart and not isinstance(baumart, SubmodelElement):
+                baumart = self.Baumart(baumart)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if preisVon and not isinstance(preisVon, SubmodelElement):
+                preisVon = self.PreisVon(preisVon)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if preisBis and not isinstance(preisBis, SubmodelElement):
+                preisBis = self.PreisBis(preisBis)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if sorte and not isinstance(sorte, SubmodelElement):
+                sorte = self.Sorte(sorte)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if gueteklasse and not isinstance(gueteklasse, SubmodelElement):
+                gueteklasse = self.Gueteklasse(gueteklasse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if mittendurchmesserVon and not isinstance(
+                mittendurchmesserVon, SubmodelElement
+            ):
+                mittendurchmesserVon = self.MittendurchmesserVon(mittendurchmesserVon)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if mittendurchmesserBis and not isinstance(
+                mittendurchmesserBis, SubmodelElement
+            ):
+                mittendurchmesserBis = self.MittendurchmesserBis(mittendurchmesserBis)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if holzlisteReference and not isinstance(
+                holzlisteReference, SubmodelElement
+            ):
+                holzlisteReference = self.HolzlisteReference(holzlisteReference)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if datum and not isinstance(datum, SubmodelElement):
+                datum = self.Datum(datum)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if quelle and not isinstance(quelle, SubmodelElement):
+                quelle = self.Quelle(quelle)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                baumart,
+                preisVon,
+                preisBis,
+                sorte,
+                gueteklasse,
+                mittendurchmesserVon,
+                mittendurchmesserBis,
+                holzlisteReference,
+                datum,
+                quelle,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        holzpreisbereich: Optional[Iterable[Holzpreisbereich]] = None,
+        id_short: str = "Holzpreisbereiche",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [holzpreisbereich]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Verkaufslos(Submodel):
+    class Verkaufsstatus(Property):
+        def __init__(
+            self,
+            value: int,
+            id_short: str = "Verkaufsstatus",
+            value_type: DataTypeDefXsd = int,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaufsstatus",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Abrechnungsmass(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Abrechnungsmass",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Abrechnungsmass",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Bereitstellungsart(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Bereitstellungsart",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Bereitstellungsart",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class VerfuegbarAb(Property):
+        def __init__(
+            self,
+            value: Date,
+            id_short: str = "VerfuegbarAb",
+            value_type: DataTypeDefXsd = Date,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarAb",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class VerfuegbarBis(Property):
+        def __init__(
+            self,
+            value: Date,
+            id_short: str = "VerfuegbarBis",
+            value_type: DataTypeDefXsd = Date,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarBis",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Verkaeufer(SubmodelElementCollection):
+        class Firmenname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Firmenname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Firmenname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Anrede(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Anrede",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Anrede",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Vorname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Vorname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Vorname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Nachname(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Nachname",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Nachname",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Adresse(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Adresse",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Adresse",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Umsatzbesteuerung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Umsatzbesteuerung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Umsatzbesteuerung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class IBAN(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "IBAN",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/IBAN",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Steuernummer(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Steuernummer",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Steuernummer",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Telefonnummern(SubmodelElementList):
+            class Telefon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Telefon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                telefon: Optional[Iterable[Union[str, Telefon]]] = None,
+                id_short: str = "Telefonnummern",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if telefon and all([isinstance(i, str) for i in telefon]):
+                    telefon = [self.Telefon(i) for i in telefon]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [telefon]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Emailadressen(SubmodelElementList):
+            class Email(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Email",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Email",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                email: Optional[Iterable[Union[str, Email]]] = None,
+                id_short: str = "Emailadressen",
+                type_value_list_element: SubmodelElement = Property,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = str,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a list of submodel elements if a raw values were passed in the argument
+                if email and all([isinstance(i, str) for i in email]):
+                    email = [self.Email(i) for i in email]
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [email]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            firmenname: Optional[Union[str, Firmenname]] = None,
+            anrede: Optional[Union[str, Anrede]] = None,
+            vorname: Optional[Union[str, Vorname]] = None,
+            nachname: Optional[Union[str, Nachname]] = None,
+            adresse: Optional[Union[str, Adresse]] = None,
+            umsatzbesteuerung: Optional[Union[str, Umsatzbesteuerung]] = None,
+            iBAN: Optional[Union[str, IBAN]] = None,
+            steuernummer: Optional[Union[str, Steuernummer]] = None,
+            telefonnummern: Optional[Union[Iterable[str], Telefonnummern]] = None,
+            emailadressen: Optional[Union[Iterable[str], Emailadressen]] = None,
+            id_short: str = "Verkaeufer",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if firmenname and not isinstance(firmenname, SubmodelElement):
+                firmenname = self.Firmenname(firmenname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if anrede and not isinstance(anrede, SubmodelElement):
+                anrede = self.Anrede(anrede)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if vorname and not isinstance(vorname, SubmodelElement):
+                vorname = self.Vorname(vorname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if nachname and not isinstance(nachname, SubmodelElement):
+                nachname = self.Nachname(nachname)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if adresse and not isinstance(adresse, SubmodelElement):
+                adresse = self.Adresse(adresse)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if umsatzbesteuerung and not isinstance(umsatzbesteuerung, SubmodelElement):
+                umsatzbesteuerung = self.Umsatzbesteuerung(umsatzbesteuerung)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if iBAN and not isinstance(iBAN, SubmodelElement):
+                iBAN = self.IBAN(iBAN)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if steuernummer and not isinstance(steuernummer, SubmodelElement):
+                steuernummer = self.Steuernummer(steuernummer)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if telefonnummern and not isinstance(telefonnummern, SubmodelElement):
+                telefonnummern = self.Telefonnummern(telefonnummern)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if emailadressen and not isinstance(emailadressen, SubmodelElement):
+                emailadressen = self.Emailadressen(emailadressen)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [
+                firmenname,
+                anrede,
+                vorname,
+                nachname,
+                adresse,
+                umsatzbesteuerung,
+                iBAN,
+                steuernummer,
+                telefonnummern,
+                emailadressen,
+            ]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Notiz(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Notiz",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Notiz",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Holzlisten(SubmodelElementList):
+        class HolzlisteReference(ReferenceElement):
+            def __init__(
+                self,
+                value: Reference,
+                id_short: str = "HolzlisteReference",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/HolzlisteReference",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            holzlisteReference: Optional[
+                Iterable[Union[Reference, HolzlisteReference]]
+            ] = None,
+            id_short: str = "Holzlisten",
+            type_value_list_element: SubmodelElement = ReferenceElement,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a list of submodel elements if a raw values were passed in the argument
+            if holzlisteReference and all(
+                [isinstance(i, Reference) for i in holzlisteReference]
+            ):
+                holzlisteReference = [
+                    self.HolzlisteReference(i) for i in holzlisteReference
+                ]
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [holzlisteReference]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Preismatrix(SubmodelElementList):
+        class Preismatrixeintrag(SubmodelElementCollection):
+            class Preis(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Preis",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Preis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class MittendurchmesserVon(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "MittendurchmesserVon",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class MittendurchmesserBis(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "MittendurchmesserBis",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseVon(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseVon",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseVon",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class GueteklasseBis(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "GueteklasseBis",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/GueteklasseBis",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="One",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                preis: Union[float, Preis],
+                gueteklasseVon: Union[str, GueteklasseVon],
+                gueteklasseBis: Union[str, GueteklasseBis],
+                mittendurchmesserVon: Optional[
+                    Union[float, MittendurchmesserVon]
+                ] = None,
+                mittendurchmesserBis: Optional[
+                    Union[float, MittendurchmesserBis]
+                ] = None,
+                id_short: str = "Preismatrixeintrag",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if preis and not isinstance(preis, SubmodelElement):
+                    preis = self.Preis(preis)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mittendurchmesserVon and not isinstance(
+                    mittendurchmesserVon, SubmodelElement
+                ):
+                    mittendurchmesserVon = self.MittendurchmesserVon(
+                        mittendurchmesserVon
+                    )
+
+                # Build a submodel element if a raw value was passed in the argument
+                if mittendurchmesserBis and not isinstance(
+                    mittendurchmesserBis, SubmodelElement
+                ):
+                    mittendurchmesserBis = self.MittendurchmesserBis(
+                        mittendurchmesserBis
+                    )
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseVon and not isinstance(gueteklasseVon, SubmodelElement):
+                    gueteklasseVon = self.GueteklasseVon(gueteklasseVon)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if gueteklasseBis and not isinstance(gueteklasseBis, SubmodelElement):
+                    gueteklasseBis = self.GueteklasseBis(gueteklasseBis)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [
+                    preis,
+                    mittendurchmesserVon,
+                    mittendurchmesserBis,
+                    gueteklasseVon,
+                    gueteklasseBis,
+                ]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            preismatrixeintrag: Optional[Iterable[Preismatrixeintrag]] = None,
+            id_short: str = "Preismatrix",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [preismatrixeintrag]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        verkaufsstatus: Union[int, Verkaufsstatus],
+        abrechnungsmass: Union[str, Abrechnungsmass],
+        bereitstellungsart: Union[str, Bereitstellungsart],
+        verfuegbarAb: Union[Date, VerfuegbarAb],
+        verfuegbarBis: Optional[Union[Date, VerfuegbarBis]] = None,
+        verkaeufer: Optional[Verkaeufer] = None,
+        notiz: Optional[Union[str, Notiz]] = None,
+        holzlisten: Optional[Holzlisten] = None,
+        preismatrix: Optional[Preismatrix] = None,
+        id_short: str = "Verkaufslos",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if verkaufsstatus and not isinstance(verkaufsstatus, SubmodelElement):
+            verkaufsstatus = self.Verkaufsstatus(verkaufsstatus)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if abrechnungsmass and not isinstance(abrechnungsmass, SubmodelElement):
+            abrechnungsmass = self.Abrechnungsmass(abrechnungsmass)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if bereitstellungsart and not isinstance(bereitstellungsart, SubmodelElement):
+            bereitstellungsart = self.Bereitstellungsart(bereitstellungsart)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if verfuegbarAb and not isinstance(verfuegbarAb, SubmodelElement):
+            verfuegbarAb = self.VerfuegbarAb(verfuegbarAb)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if verfuegbarBis and not isinstance(verfuegbarBis, SubmodelElement):
+            verfuegbarBis = self.VerfuegbarBis(verfuegbarBis)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if notiz and not isinstance(notiz, SubmodelElement):
+            notiz = self.Notiz(notiz)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [
+            verkaufsstatus,
+            abrechnungsmass,
+            bereitstellungsart,
+            verfuegbarAb,
+            verfuegbarBis,
+            verkaeufer,
+            notiz,
+            holzlisten,
+            preismatrix,
+        ]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class Waldweg(Submodel):
+    class Beschreibung(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Beschreibung",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Beschreibung",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Erstellungsdatum(Property):
+        def __init__(
+            self,
+            value: Date,
+            id_short: str = "Erstellungsdatum",
+            value_type: DataTypeDefXsd = Date,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Erstellungsdatum",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Aktualisierungsdatum(Property):
+        def __init__(
+            self,
+            value: Date,
+            id_short: str = "Aktualisierungsdatum",
+            value_type: DataTypeDefXsd = Date,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Aktualisierungsdatum",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Breite(Property):
+        def __init__(
+            self,
+            value: float,
+            id_short: str = "Breite",
+            value_type: DataTypeDefXsd = float,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Breite",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Wegpunkte(SubmodelElementList):
+        class Standort(SubmodelElementCollection):
+            class Koordinate(SubmodelElementCollection):
+                class X(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "x",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/x",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Y(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "y",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/y",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Alt(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "alt",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/alt",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Crs(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "crs",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate/crs",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    x: Optional[Union[float, X]] = None,
+                    y: Optional[Union[float, Y]] = None,
+                    alt: Optional[Union[float, Alt]] = None,
+                    crs: Optional[Union[str, Crs]] = None,
+                    id_short: str = "Koordinate",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Koordinate",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="OneToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if x and not isinstance(x, SubmodelElement):
+                        x = self.X(x)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if y and not isinstance(y, SubmodelElement):
+                        y = self.Y(y)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if alt and not isinstance(alt, SubmodelElement):
+                        alt = self.Alt(alt)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if crs and not isinstance(crs, SubmodelElement):
+                        crs = self.Crs(crs)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [x, y, alt, crs]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Notiz(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Notiz",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort/Notiz",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                koordinate: Iterable[Koordinate],
+                notiz: Optional[Union[str, Notiz]] = None,
+                id_short: str = "Standort",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Standort",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if notiz and not isinstance(notiz, SubmodelElement):
+                    notiz = self.Notiz(notiz)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [koordinate, notiz]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            standort: Optional[Standort] = None,
+            id_short: str = "Wegpunkte",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [standort]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Wendepunkte(SubmodelElementList):
+        class Standort(SubmodelElementCollection):
+            class Koordinate(SubmodelElementCollection):
+                class X(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "x",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/x",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Y(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "y",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/y",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Alt(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "alt",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/alt",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Crs(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "crs",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate/crs",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    x: Optional[Union[float, X]] = None,
+                    y: Optional[Union[float, Y]] = None,
+                    alt: Optional[Union[float, Alt]] = None,
+                    crs: Optional[Union[str, Crs]] = None,
+                    id_short: str = "Koordinate",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Koordinate",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="OneToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if x and not isinstance(x, SubmodelElement):
+                        x = self.X(x)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if y and not isinstance(y, SubmodelElement):
+                        y = self.Y(y)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if alt and not isinstance(alt, SubmodelElement):
+                        alt = self.Alt(alt)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if crs and not isinstance(crs, SubmodelElement):
+                        crs = self.Crs(crs)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [x, y, alt, crs]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Notiz(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Notiz",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort/Notiz",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                koordinate: Iterable[Koordinate],
+                notiz: Optional[Union[str, Notiz]] = None,
+                id_short: str = "Standort",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Standort",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if notiz and not isinstance(notiz, SubmodelElement):
+                    notiz = self.Notiz(notiz)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [koordinate, notiz]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            standort: Optional[Standort] = None,
+            id_short: str = "Wendepunkte",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [standort]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        beschreibung: Union[str, Beschreibung],
+        erstellungsdatum: Optional[Union[Date, Erstellungsdatum]] = None,
+        aktualisierungsdatum: Optional[Union[Date, Aktualisierungsdatum]] = None,
+        breite: Optional[Union[float, Breite]] = None,
+        wegpunkte: Optional[Wegpunkte] = None,
+        wendepunkte: Optional[Wendepunkte] = None,
+        id_short: str = "Waldweg",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/Waldweg/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if beschreibung and not isinstance(beschreibung, SubmodelElement):
+            beschreibung = self.Beschreibung(beschreibung)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if erstellungsdatum and not isinstance(erstellungsdatum, SubmodelElement):
+            erstellungsdatum = self.Erstellungsdatum(erstellungsdatum)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if aktualisierungsdatum and not isinstance(
+            aktualisierungsdatum, SubmodelElement
+        ):
+            aktualisierungsdatum = self.Aktualisierungsdatum(aktualisierungsdatum)
+
+        # Build a submodel element if a raw value was passed in the argument
+        if breite and not isinstance(breite, SubmodelElement):
+            breite = self.Breite(breite)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [
+            beschreibung,
+            erstellungsdatum,
+            aktualisierungsdatum,
+            breite,
+            wegpunkte,
+            wendepunkte,
+        ]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
+
+
+class ZuFaellendeBaeume(Submodel):
+    class Beschreibung(Property):
+        def __init__(
+            self,
+            value: str,
+            id_short: str = "Beschreibung",
+            value_type: DataTypeDefXsd = str,
+            value_id: Optional[Reference] = None,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Beschreibung",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="One",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            super().__init__(
+                value=value,
+                id_short=id_short,
+                value_type=value_type,
+                value_id=value_id,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Umring(SubmodelElementCollection):
+        class Name(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Name",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Name",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Beschreibung(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Beschreibung",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Beschreibung",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Koordinaten(SubmodelElementList):
+            class Koordinate(SubmodelElementCollection):
+                class X(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "x",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Y(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "y",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Alt(Property):
+                    def __init__(
+                        self,
+                        value: float,
+                        id_short: str = "alt",
+                        value_type: DataTypeDefXsd = float,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Crs(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "crs",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    x: Optional[Union[float, X]] = None,
+                    y: Optional[Union[float, Y]] = None,
+                    alt: Optional[Union[float, Alt]] = None,
+                    crs: Optional[Union[str, Crs]] = None,
+                    id_short: str = "Koordinate",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="OneToMany",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if x and not isinstance(x, SubmodelElement):
+                        x = self.X(x)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if y and not isinstance(y, SubmodelElement):
+                        y = self.Y(y)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if alt and not isinstance(alt, SubmodelElement):
+                        alt = self.Alt(alt)
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if crs and not isinstance(crs, SubmodelElement):
+                        crs = self.Crs(crs)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [x, y, alt, crs]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                koordinate: Iterable[Koordinate],
+                id_short: str = "Koordinaten",
+                type_value_list_element: SubmodelElement = SubmodelElementCollection,
+                semantic_id_list_element: Optional[Reference] = None,
+                value_type_list_element: Optional[DataTypeDefXsd] = None,
+                order_relevant: bool = True,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="One",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [koordinate]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    type_value_list_element=type_value_list_element,
+                    semantic_id_list_element=semantic_id_list_element,
+                    value_type_list_element=value_type_list_element,
+                    order_relevant=order_relevant,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            name: Union[str, Name],
+            beschreibung: Union[str, Beschreibung],
+            koordinaten: Koordinaten,
+            id_short: str = "Umring",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = ()
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if name and not isinstance(name, SubmodelElement):
+                name = self.Name(name)
+
+            # Build a submodel element if a raw value was passed in the argument
+            if beschreibung and not isinstance(beschreibung, SubmodelElement):
+                beschreibung = self.Beschreibung(beschreibung)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [name, beschreibung, koordinaten]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Position(SubmodelElementCollection):
+        class Koordinate(SubmodelElementCollection):
+            class X(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "x",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/x",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Y(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "y",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/y",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Alt(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "alt",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/alt",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Crs(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "crs",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/crs",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                x: Optional[Union[float, X]] = None,
+                y: Optional[Union[float, Y]] = None,
+                alt: Optional[Union[float, Alt]] = None,
+                crs: Optional[Union[str, Crs]] = None,
+                id_short: str = "Koordinate",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="OneToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if x and not isinstance(x, SubmodelElement):
+                    x = self.X(x)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if y and not isinstance(y, SubmodelElement):
+                    y = self.Y(y)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if alt and not isinstance(alt, SubmodelElement):
+                    alt = self.Alt(alt)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if crs and not isinstance(crs, SubmodelElement):
+                    crs = self.Crs(crs)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [x, y, alt, crs]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        class Notiz(Property):
+            def __init__(
+                self,
+                value: str,
+                id_short: str = "Notiz",
+                value_type: DataTypeDefXsd = str,
+                value_id: Optional[Reference] = None,
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Notiz",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToOne",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                super().__init__(
+                    value=value,
+                    id_short=id_short,
+                    value_type=value_type,
+                    value_id=value_id,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            koordinate: Iterable[Koordinate],
+            notiz: Optional[Union[str, Notiz]] = None,
+            id_short: str = "Position",
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Build a submodel element if a raw value was passed in the argument
+            if notiz and not isinstance(notiz, SubmodelElement):
+                notiz = self.Notiz(notiz)
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [koordinate, notiz]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    class Baumliste(SubmodelElementList):
+        class StehenderBaum(SubmodelElementCollection):
+            class Hoehe(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "Hoehe",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Hoehe",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Bhd(Property):
+                def __init__(
+                    self,
+                    value: float,
+                    id_short: str = "bhd",
+                    value_type: DataTypeDefXsd = float,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/bhd",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Baumart(Property):
+                def __init__(
+                    self,
+                    value: str,
+                    id_short: str = "Baumart",
+                    value_type: DataTypeDefXsd = str,
+                    value_id: Optional[Reference] = None,
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Baumart",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    super().__init__(
+                        value=value,
+                        id_short=id_short,
+                        value_type=value_type,
+                        value_id=value_id,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            class Position(SubmodelElementCollection):
+                class Koordinate(SubmodelElementCollection):
+                    class X(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "x",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/x",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Y(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "y",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/y",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Alt(Property):
+                        def __init__(
+                            self,
+                            value: float,
+                            id_short: str = "alt",
+                            value_type: DataTypeDefXsd = float,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/alt",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    class Crs(Property):
+                        def __init__(
+                            self,
+                            value: str,
+                            id_short: str = "crs",
+                            value_type: DataTypeDefXsd = str,
+                            value_id: Optional[Reference] = None,
+                            display_name: Optional[LangStringSet] = None,
+                            category: Optional[str] = None,
+                            description: Optional[LangStringSet] = None,
+                            semantic_id: Optional[Reference] = GlobalReference(
+                                key=(
+                                    Key(
+                                        type_=KeyTypes.GLOBAL_REFERENCE,
+                                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate/crs",
+                                    ),
+                                ),
+                                referred_semantic_id=None,
+                            ),
+                            qualifier: Iterable[Qualifier] = None,
+                            kind: ModelingKind = ModelingKind.INSTANCE,
+                            extension: Iterable[Extension] = (),
+                            supplemental_semantic_id: Iterable[Reference] = (),
+                            embedded_data_specifications: Iterable[
+                                EmbeddedDataSpecification
+                            ] = None,
+                        ):
+                            if qualifier is None:
+                                qualifier = (
+                                    Qualifier(
+                                        type_="Cardinality",
+                                        value_type=str,
+                                        value="ZeroToOne",
+                                        value_id=None,
+                                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                                        semantic_id=None,
+                                        supplemental_semantic_id=(),
+                                    ),
+                                )
+
+                            if embedded_data_specifications is None:
+                                embedded_data_specifications = []
+
+                            super().__init__(
+                                value=value,
+                                id_short=id_short,
+                                value_type=value_type,
+                                value_id=value_id,
+                                display_name=display_name,
+                                category=category,
+                                description=description,
+                                semantic_id=semantic_id,
+                                qualifier=qualifier,
+                                kind=kind,
+                                extension=extension,
+                                supplemental_semantic_id=supplemental_semantic_id,
+                                embedded_data_specifications=embedded_data_specifications,
+                            )
+
+                    def __init__(
+                        self,
+                        x: Optional[Union[float, X]] = None,
+                        y: Optional[Union[float, Y]] = None,
+                        alt: Optional[Union[float, Alt]] = None,
+                        crs: Optional[Union[str, Crs]] = None,
+                        id_short: str = "Koordinate",
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Koordinate",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="OneToMany",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if x and not isinstance(x, SubmodelElement):
+                            x = self.X(x)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if y and not isinstance(y, SubmodelElement):
+                            y = self.Y(y)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if alt and not isinstance(alt, SubmodelElement):
+                            alt = self.Alt(alt)
+
+                        # Build a submodel element if a raw value was passed in the argument
+                        if crs and not isinstance(crs, SubmodelElement):
+                            crs = self.Crs(crs)
+
+                        # Add all passed/initialized submodel elements to a single list
+                        embedded_submodel_elements = []
+                        for se_arg in [x, y, alt, crs]:
+                            if se_arg is None:
+                                continue
+                            elif isinstance(se_arg, SubmodelElement):
+                                embedded_submodel_elements.append(se_arg)
+                            elif isinstance(se_arg, Iterable):
+                                for n, element in enumerate(se_arg):
+                                    element.id_short = f"{element.id_short}{n}"
+                                    embedded_submodel_elements.append(element)
+                            else:
+                                raise TypeError(
+                                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                                )
+
+                        super().__init__(
+                            value=embedded_submodel_elements,
+                            id_short=id_short,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                class Notiz(Property):
+                    def __init__(
+                        self,
+                        value: str,
+                        id_short: str = "Notiz",
+                        value_type: DataTypeDefXsd = str,
+                        value_id: Optional[Reference] = None,
+                        display_name: Optional[LangStringSet] = None,
+                        category: Optional[str] = None,
+                        description: Optional[LangStringSet] = None,
+                        semantic_id: Optional[Reference] = GlobalReference(
+                            key=(
+                                Key(
+                                    type_=KeyTypes.GLOBAL_REFERENCE,
+                                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position/Notiz",
+                                ),
+                            ),
+                            referred_semantic_id=None,
+                        ),
+                        qualifier: Iterable[Qualifier] = None,
+                        kind: ModelingKind = ModelingKind.INSTANCE,
+                        extension: Iterable[Extension] = (),
+                        supplemental_semantic_id: Iterable[Reference] = (),
+                        embedded_data_specifications: Iterable[
+                            EmbeddedDataSpecification
+                        ] = None,
+                    ):
+                        if qualifier is None:
+                            qualifier = (
+                                Qualifier(
+                                    type_="Cardinality",
+                                    value_type=str,
+                                    value="ZeroToOne",
+                                    value_id=None,
+                                    kind=QualifierKind.CONCEPT_QUALIFIER,
+                                    semantic_id=None,
+                                    supplemental_semantic_id=(),
+                                ),
+                            )
+
+                        if embedded_data_specifications is None:
+                            embedded_data_specifications = []
+
+                        super().__init__(
+                            value=value,
+                            id_short=id_short,
+                            value_type=value_type,
+                            value_id=value_id,
+                            display_name=display_name,
+                            category=category,
+                            description=description,
+                            semantic_id=semantic_id,
+                            qualifier=qualifier,
+                            kind=kind,
+                            extension=extension,
+                            supplemental_semantic_id=supplemental_semantic_id,
+                            embedded_data_specifications=embedded_data_specifications,
+                        )
+
+                def __init__(
+                    self,
+                    koordinate: Iterable[Koordinate],
+                    notiz: Optional[Union[str, Notiz]] = None,
+                    id_short: str = "Position",
+                    display_name: Optional[LangStringSet] = None,
+                    category: Optional[str] = None,
+                    description: Optional[LangStringSet] = None,
+                    semantic_id: Optional[Reference] = GlobalReference(
+                        key=(
+                            Key(
+                                type_=KeyTypes.GLOBAL_REFERENCE,
+                                value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum/Position",
+                            ),
+                        ),
+                        referred_semantic_id=None,
+                    ),
+                    qualifier: Iterable[Qualifier] = None,
+                    kind: ModelingKind = ModelingKind.INSTANCE,
+                    extension: Iterable[Extension] = (),
+                    supplemental_semantic_id: Iterable[Reference] = (),
+                    embedded_data_specifications: Iterable[
+                        EmbeddedDataSpecification
+                    ] = None,
+                ):
+                    if qualifier is None:
+                        qualifier = (
+                            Qualifier(
+                                type_="Cardinality",
+                                value_type=str,
+                                value="ZeroToOne",
+                                value_id=None,
+                                kind=QualifierKind.CONCEPT_QUALIFIER,
+                                semantic_id=None,
+                                supplemental_semantic_id=(),
+                            ),
+                        )
+
+                    if embedded_data_specifications is None:
+                        embedded_data_specifications = []
+
+                    # Build a submodel element if a raw value was passed in the argument
+                    if notiz and not isinstance(notiz, SubmodelElement):
+                        notiz = self.Notiz(notiz)
+
+                    # Add all passed/initialized submodel elements to a single list
+                    embedded_submodel_elements = []
+                    for se_arg in [koordinate, notiz]:
+                        if se_arg is None:
+                            continue
+                        elif isinstance(se_arg, SubmodelElement):
+                            embedded_submodel_elements.append(se_arg)
+                        elif isinstance(se_arg, Iterable):
+                            for n, element in enumerate(se_arg):
+                                element.id_short = f"{element.id_short}{n}"
+                                embedded_submodel_elements.append(element)
+                        else:
+                            raise TypeError(
+                                f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                            )
+
+                    super().__init__(
+                        value=embedded_submodel_elements,
+                        id_short=id_short,
+                        display_name=display_name,
+                        category=category,
+                        description=description,
+                        semantic_id=semantic_id,
+                        qualifier=qualifier,
+                        kind=kind,
+                        extension=extension,
+                        supplemental_semantic_id=supplemental_semantic_id,
+                        embedded_data_specifications=embedded_data_specifications,
+                    )
+
+            def __init__(
+                self,
+                hoehe: Optional[Union[float, Hoehe]] = None,
+                bhd: Optional[Union[float, Bhd]] = None,
+                baumart: Optional[Union[str, Baumart]] = None,
+                position: Optional[Position] = None,
+                id_short: str = "StehenderBaum",
+                display_name: Optional[LangStringSet] = None,
+                category: Optional[str] = None,
+                description: Optional[LangStringSet] = None,
+                semantic_id: Optional[Reference] = GlobalReference(
+                    key=(
+                        Key(
+                            type_=KeyTypes.GLOBAL_REFERENCE,
+                            value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/StehenderBaum",
+                        ),
+                    ),
+                    referred_semantic_id=None,
+                ),
+                qualifier: Iterable[Qualifier] = None,
+                kind: ModelingKind = ModelingKind.INSTANCE,
+                extension: Iterable[Extension] = (),
+                supplemental_semantic_id: Iterable[Reference] = (),
+                embedded_data_specifications: Iterable[
+                    EmbeddedDataSpecification
+                ] = None,
+            ):
+                if qualifier is None:
+                    qualifier = (
+                        Qualifier(
+                            type_="Cardinality",
+                            value_type=str,
+                            value="ZeroToMany",
+                            value_id=None,
+                            kind=QualifierKind.CONCEPT_QUALIFIER,
+                            semantic_id=None,
+                            supplemental_semantic_id=(),
+                        ),
+                    )
+
+                if embedded_data_specifications is None:
+                    embedded_data_specifications = []
+
+                # Build a submodel element if a raw value was passed in the argument
+                if hoehe and not isinstance(hoehe, SubmodelElement):
+                    hoehe = self.Hoehe(hoehe)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if bhd and not isinstance(bhd, SubmodelElement):
+                    bhd = self.Bhd(bhd)
+
+                # Build a submodel element if a raw value was passed in the argument
+                if baumart and not isinstance(baumart, SubmodelElement):
+                    baumart = self.Baumart(baumart)
+
+                # Add all passed/initialized submodel elements to a single list
+                embedded_submodel_elements = []
+                for se_arg in [hoehe, bhd, baumart, position]:
+                    if se_arg is None:
+                        continue
+                    elif isinstance(se_arg, SubmodelElement):
+                        embedded_submodel_elements.append(se_arg)
+                    elif isinstance(se_arg, Iterable):
+                        for n, element in enumerate(se_arg):
+                            element.id_short = f"{element.id_short}{n}"
+                            embedded_submodel_elements.append(element)
+                    else:
+                        raise TypeError(
+                            f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                        )
+
+                super().__init__(
+                    value=embedded_submodel_elements,
+                    id_short=id_short,
+                    display_name=display_name,
+                    category=category,
+                    description=description,
+                    semantic_id=semantic_id,
+                    qualifier=qualifier,
+                    kind=kind,
+                    extension=extension,
+                    supplemental_semantic_id=supplemental_semantic_id,
+                    embedded_data_specifications=embedded_data_specifications,
+                )
+
+        def __init__(
+            self,
+            stehenderBaum: Optional[Iterable[StehenderBaum]] = None,
+            id_short: str = "Baumliste",
+            type_value_list_element: SubmodelElement = SubmodelElementCollection,
+            semantic_id_list_element: Optional[Reference] = None,
+            value_type_list_element: Optional[DataTypeDefXsd] = None,
+            order_relevant: bool = True,
+            display_name: Optional[LangStringSet] = None,
+            category: Optional[str] = None,
+            description: Optional[LangStringSet] = None,
+            semantic_id: Optional[Reference] = GlobalReference(
+                key=(
+                    Key(
+                        type_=KeyTypes.GLOBAL_REFERENCE,
+                        value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste",
+                    ),
+                ),
+                referred_semantic_id=None,
+            ),
+            qualifier: Iterable[Qualifier] = None,
+            kind: ModelingKind = ModelingKind.INSTANCE,
+            extension: Iterable[Extension] = (),
+            supplemental_semantic_id: Iterable[Reference] = (),
+            embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+        ):
+            if qualifier is None:
+                qualifier = (
+                    Qualifier(
+                        type_="Cardinality",
+                        value_type=str,
+                        value="ZeroToOne",
+                        value_id=None,
+                        kind=QualifierKind.CONCEPT_QUALIFIER,
+                        semantic_id=None,
+                        supplemental_semantic_id=(),
+                    ),
+                )
+
+            if embedded_data_specifications is None:
+                embedded_data_specifications = []
+
+            # Add all passed/initialized submodel elements to a single list
+            embedded_submodel_elements = []
+            for se_arg in [stehenderBaum]:
+                if se_arg is None:
+                    continue
+                elif isinstance(se_arg, SubmodelElement):
+                    embedded_submodel_elements.append(se_arg)
+                elif isinstance(se_arg, Iterable):
+                    for n, element in enumerate(se_arg):
+                        element.id_short = f"{element.id_short}{n}"
+                        embedded_submodel_elements.append(element)
+                else:
+                    raise TypeError(
+                        f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                    )
+
+            super().__init__(
+                value=embedded_submodel_elements,
+                id_short=id_short,
+                type_value_list_element=type_value_list_element,
+                semantic_id_list_element=semantic_id_list_element,
+                value_type_list_element=value_type_list_element,
+                order_relevant=order_relevant,
+                display_name=display_name,
+                category=category,
+                description=description,
+                semantic_id=semantic_id,
+                qualifier=qualifier,
+                kind=kind,
+                extension=extension,
+                supplemental_semantic_id=supplemental_semantic_id,
+                embedded_data_specifications=embedded_data_specifications,
+            )
+
+    def __init__(
+        self,
+        id_: str,
+        beschreibung: Union[str, Beschreibung],
+        umring: Umring,
+        position: Optional[Position] = None,
+        baumliste: Optional[Baumliste] = None,
+        id_short: str = "ZuFaellendeBaeume",
+        display_name: Optional[LangStringSet] = None,
+        category: Optional[str] = None,
+        description: Optional[LangStringSet] = None,
+        administration: Optional[AdministrativeInformation] = None,
+        semantic_id: Optional[Reference] = GlobalReference(
+            key=(
+                Key(
+                    type_=KeyTypes.GLOBAL_REFERENCE,
+                    value="https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1",
+                ),
+            ),
+            referred_semantic_id=None,
+        ),
+        qualifier: Iterable[Qualifier] = None,
+        kind: ModelingKind = ModelingKind.INSTANCE,
+        extension: Iterable[Extension] = (),
+        supplemental_semantic_id: Iterable[Reference] = (),
+        embedded_data_specifications: Iterable[EmbeddedDataSpecification] = None,
+    ):
+        if qualifier is None:
+            qualifier = ()
+
+        if embedded_data_specifications is None:
+            embedded_data_specifications = []
+
+        # Build a submodel element if a raw value was passed in the argument
+        if beschreibung and not isinstance(beschreibung, SubmodelElement):
+            beschreibung = self.Beschreibung(beschreibung)
+
+        # Add all passed/initialized submodel elements to a single list
+        embedded_submodel_elements = []
+        for se_arg in [beschreibung, umring, position, baumliste]:
+            if se_arg is None:
+                continue
+            elif isinstance(se_arg, SubmodelElement):
+                embedded_submodel_elements.append(se_arg)
+            elif isinstance(se_arg, Iterable):
+                for n, element in enumerate(se_arg):
+                    element.id_short = f"{element.id_short}{n}"
+                    embedded_submodel_elements.append(element)
+            else:
+                raise TypeError(
+                    f"Unknown type of value in submodel_element_args: {type(se_arg)}"
+                )
+
+        super().__init__(
+            submodel_element=embedded_submodel_elements,
+            id_=id_,
+            id_short=id_short,
+            display_name=display_name,
+            category=category,
+            description=description,
+            administration=administration,
+            semantic_id=semantic_id,
+            qualifier=qualifier,
+            kind=kind,
+            extension=extension,
+            supplemental_semantic_id=supplemental_semantic_id,
+            embedded_data_specifications=embedded_data_specifications,
+        )
diff --git a/model/models.py b/model/models.py
index c8be8225b98943c0a58fce3abe825c64bc323d36..3d6af5ad3dc862c7c69d67bbf3ba9be424ecf943 100644
--- a/model/models.py
+++ b/model/models.py
@@ -1,3 +1,4 @@
+from copy import deepcopy
 from typing import Optional, Iterable, Tuple
 from abc import ABC, abstractmethod
 from datetime import date
@@ -32,33 +33,32 @@ class Kontakt(SubmodelElementCollection):
                  iban: Optional[str] = None,
                  steuernummer: Optional[str] = None
                  ):
-        super().__init__(**KWARGS[kontaktrolle.value])
+        super().__init__(**deepcopy(KWARGS[kontaktrolle.value]))
 
         for i in (
-                Property(value=kontaktrolle.value, **KWARGS[KONTAKTROLLE]),
-                Property(value=firmenname, **KWARGS[FIRMENNAME]),
-                Property(value=anrede, **KWARGS[ANREDE]),
-                Property(value=vorname, **KWARGS[VORNAME]),
-                Property(value=nachname, **KWARGS[NACHNAME]),
-                Property(value=adresse, **KWARGS[ADRESSE]),
-                Property(value=umsatzbesteuerung.value, **KWARGS[UMSATZBESTEUERUNG]),
-                Property(value=iban, **KWARGS[IBAN]),
-                Property(value=steuernummer, **KWARGS[STEUERNUMMER]),
-                init_se_list(se_kwargs=KWARGS[TELEFONNUMMERN], item_kwargs=KWARGS[TELEFON], type_value_list_element=Property),
-                init_se_list(se_kwargs=KWARGS[EMAILADRESSEN], item_kwargs=KWARGS[EMAIL], type_value_list_element=Property)
+                Property(value=firmenname, **deepcopy(KWARGS[FIRMENNAME])),
+                Property(value=anrede, **deepcopy(KWARGS[ANREDE])),
+                Property(value=vorname, **deepcopy(KWARGS[VORNAME])),
+                Property(value=nachname, **deepcopy(KWARGS[NACHNAME])),
+                Property(value=adresse, **deepcopy(KWARGS[ADRESSE])),
+                Property(value=umsatzbesteuerung.value, **deepcopy(KWARGS[UMSATZBESTEUERUNG])),
+                Property(value=iban, **deepcopy(KWARGS[IBAN])),
+                Property(value=steuernummer, **deepcopy(KWARGS[STEUERNUMMER])),
+                init_se_list(se_kwargs=deepcopy(KWARGS[TELEFONNUMMERN]), item_kwargs=deepcopy(KWARGS[TELEFON]), type_value_list_element=Property),
+                init_se_list(se_kwargs=deepcopy(KWARGS[EMAILADRESSEN]), item_kwargs=deepcopy(KWARGS[EMAIL]), type_value_list_element=Property)
         ):
             self.add_referable(i)
         self.add_telefone(telefonnummern)
         self.add_emails(emailadressen)
 
     def add_telefone(self, values: Iterable[str]):
-        se_list = self.get_referable(KWARGS[TELEFONNUMMERN][ID_SHORT])
-        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=KWARGS[TELEFON],
+        se_list = self.get_referable(deepcopy(KWARGS[TELEFONNUMMERN])[ID_SHORT])
+        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=deepcopy(KWARGS[TELEFON]),
                                       item_type=Property)
 
     def add_emails(self, values: Iterable[str]):
-        se_list = self.get_referable(KWARGS[EMAILADRESSEN][ID_SHORT])
-        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=KWARGS[EMAIL],
+        se_list = self.get_referable(deepcopy(KWARGS[EMAILADRESSEN])[ID_SHORT])
+        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=deepcopy(KWARGS[EMAIL]),
                                       item_type=Property)
 
 
@@ -69,12 +69,12 @@ class Koordinate(SubmodelElementCollection):
                  alt: Optional[float] = None,
                  crs: Optional[enums.CRS] = None,
                  ):
-        super().__init__(**KWARGS[KOORDINATE])
+        super().__init__(**deepcopy(KWARGS[KOORDINATE]))
         for i in (
-                Property(value=x, **KWARGS[X]),
-                Property(value=y, **KWARGS[Y]),
-                Property(value=alt, **KWARGS[ALT]),
-                Property(value=crs, **KWARGS[CRS]),
+                Property(value=x, **deepcopy(KWARGS[X])),
+                Property(value=y, **deepcopy(KWARGS[Y])),
+                Property(value=alt, **deepcopy(KWARGS[ALT])),
+                Property(value=crs, **deepcopy(KWARGS[CRS])),
         ):
             self.add_referable(i)
 
@@ -84,9 +84,9 @@ class Standort(SubmodelElementCollection):
                  koordinate: Koordinate,
                  notiz: Optional[str] = None,
                  ):
-        super().__init__(**KWARGS[STANDORT])
+        super().__init__(**deepcopy(KWARGS[STANDORT]))
         self.add_referable(koordinate)
-        self.add_referable(Property(value=notiz, **KWARGS[NOTIZ]))
+        self.add_referable(Property(value=notiz, **deepcopy(KWARGS[NOTIZ])))
 
 
 class Umring(SubmodelElementCollection):
@@ -95,19 +95,19 @@ class Umring(SubmodelElementCollection):
                  beschreibung: str,
                  koordinaten: Iterable[Koordinate],
                  ):
-        super().__init__(**KWARGS[UMRING])
+        super().__init__(**deepcopy(KWARGS[UMRING]))
         if len(koordinaten) < 3:
             raise Exception(f"At least 3 coordinates are needed. Only {len(koordinaten)} provided.")
-        self.add_referable(Property(value=name, **KWARGS[NAME]))
-        self.add_referable(Property(value=beschreibung, **KWARGS[BESCHREIBUNG]))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[KOORDINATEN], item_kwargs=KWARGS[KOORDINATE], type_value_list_element=SubmodelElementCollection))
+        self.add_referable(Property(value=name, **deepcopy(KWARGS[NAME])))
+        self.add_referable(Property(value=beschreibung, **deepcopy(KWARGS[BESCHREIBUNG])))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[KOORDINATEN]), item_kwargs=deepcopy(KWARGS[KOORDINATE]), type_value_list_element=SubmodelElementCollection))
         self.add_koordinaten(koordinaten)
 
     def add_koordinaten(self, values: Iterable[Koordinate]):
-        se_list: SubmodelElementList = self.get_referable(KWARGS[KOORDINATEN][ID_SHORT])
+        se_list: SubmodelElementList = self.get_referable(deepcopy(KWARGS[KOORDINATEN])[ID_SHORT])
         for i, val in enumerate(values):
             val.id_short = find_next_free_id_short(collection=se_list,
-                                                   id_short_base=KWARGS[KOORDINATE][ID_SHORT])
+                                                   id_short_base=deepcopy(KWARGS[KOORDINATE])[ID_SHORT])
             se_list.add_referable(val)
 
 
@@ -116,13 +116,15 @@ class Preismatrixeintrag(SubmodelElementCollection):
                  preis: float,
                  mittendurchmesser_von: Optional[float] = None,
                  mittendurchmesser_bis: Optional[float] = None,
-                 gueteklasse: Optional[enums.Gueteklasse] = enums.OptionalEnum
+                 gueteklasse_von: Optional[enums.Gueteklasse] = enums.OptionalEnum,
+                 gueteklasse_bis: Optional[enums.Gueteklasse] = enums.OptionalEnum
                  ):
-        super().__init__(**KWARGS[PREISMATRIXEINTRAG])
-        self.add_referable(Property(value=preis, **KWARGS[PREIS]))
-        self.add_referable(Property(value=mittendurchmesser_von, **KWARGS[MITTENDURCHMESSER_VON]))
-        self.add_referable(Property(value=mittendurchmesser_bis, **KWARGS[MITTENDURCHMESSER_BIS]))
-        self.add_referable(Property(value=gueteklasse.value, **KWARGS[GUETEKLASSE]))
+        super().__init__(**deepcopy(KWARGS[PREISMATRIXEINTRAG]))
+        self.add_referable(Property(value=preis, **deepcopy(KWARGS[PREIS])))
+        self.add_referable(Property(value=mittendurchmesser_von, **deepcopy(KWARGS[MITTENDURCHMESSER_VON])))
+        self.add_referable(Property(value=mittendurchmesser_bis, **deepcopy(KWARGS[MITTENDURCHMESSER_BIS])))
+        self.add_referable(Property(value=gueteklasse_von.value, **deepcopy(KWARGS[GUETEKLASSE_VON_PREISMATRIX])))
+        self.add_referable(Property(value=gueteklasse_bis.value, **deepcopy(KWARGS[GUETEKLASSE_BIS_PREISMATRIX])))
 
 
 class Kopfdaten(SubmodelElementCollection):
@@ -135,13 +137,13 @@ class Kopfdaten(SubmodelElementCollection):
                  fuhrmann: Optional[Kontakt] = None,
                  notiz: Optional[str] = None
                  ):
-        super().__init__(**KWARGS[KOPFDATEN])
+        super().__init__(**deepcopy(KWARGS[KOPFDATEN]))
         if ernte:
             if len(ernte) != 2:
                 raise Exception("Expected a tuple of size 2 for 'ernte'.")
-            self.add_referable(Range(min=ernte[0], max=ernte[1], **KWARGS[ERNTE]))
+            self.add_referable(Range(min=ernte[0], max=ernte[1], **deepcopy(KWARGS[ERNTE])))
         else:
-            self.add_referable(Range(**KWARGS[ERNTE]))
+            self.add_referable(Range(**deepcopy(KWARGS[ERNTE])))
         if lieferant:
             lieferant.id_short = LIEFERANT
             self.add_referable(lieferant)
@@ -151,9 +153,9 @@ class Kopfdaten(SubmodelElementCollection):
         if fuhrmann:
             fuhrmann.id_short = FUHRMANN
             self.add_referable(fuhrmann)
-        self.add_referable(Property(value=projekt, **KWARGS[PROJEKT]))
-        self.add_referable(Property(value=hieb.value, **KWARGS[HIEB]))
-        self.add_referable(Property(value=notiz, **KWARGS[NOTIZ]))
+        self.add_referable(Property(value=projekt, **deepcopy(KWARGS[PROJEKT])))
+        self.add_referable(Property(value=hieb.value, **deepcopy(KWARGS[HIEB])))
+        self.add_referable(Property(value=notiz, **deepcopy(KWARGS[NOTIZ])))
 
 
 class RaummassEnergieholz(SubmodelElementCollection):
@@ -161,9 +163,9 @@ class RaummassEnergieholz(SubmodelElementCollection):
                  menge: float,
                  stammlaenge: float,
                  ):
-        super().__init__(**KWARGS[RAUMMASS_ENERGIEHOLZ])
-        self.add_referable(Property(value=menge, **KWARGS[MENGE]))
-        self.add_referable(Property(value=stammlaenge, **KWARGS[STAMMLAENGE]))
+        super().__init__(**deepcopy(KWARGS[RAUMMASS_ENERGIEHOLZ]))
+        self.add_referable(Property(value=menge, **deepcopy(KWARGS[MENGE])))
+        self.add_referable(Property(value=stammlaenge, **deepcopy(KWARGS[STAMMLAENGE])))
 
 
 class RaummassIndusrieeholz(SubmodelElementCollection):
@@ -172,10 +174,10 @@ class RaummassIndusrieeholz(SubmodelElementCollection):
                  stammlaenge: float,
                  stammanzahl: Optional[int] = None,
                  ):
-        super().__init__(**KWARGS[RAUMMASS_ENERGIEHOLZ])
-        self.add_referable(Property(value=menge, **KWARGS[MENGE]))
-        self.add_referable(Property(value=stammlaenge, **KWARGS[STAMMLAENGE]))
-        self.add_referable(Property(value=stammanzahl, **KWARGS[STAMMANZAHL]))
+        super().__init__(**deepcopy(KWARGS[RAUMMASS_INDUSTRIEHOLZ]))
+        self.add_referable(Property(value=menge, **deepcopy(KWARGS[MENGE])))
+        self.add_referable(Property(value=stammlaenge, **deepcopy(KWARGS[STAMMLAENGE])))
+        self.add_referable(Property(value=stammanzahl, **deepcopy(KWARGS[STAMMANZAHL])))
 
 
 class Einzelstamm(SubmodelElementCollection):
@@ -187,25 +189,25 @@ class Einzelstamm(SubmodelElementCollection):
                  gueteklasse: Optional[enums.Gueteklasse] = enums.OptionalEnum,
                  klammerstammabschnittsnummer: Optional[str] = None,
                  ):
-        super().__init__(**KWARGS[EINZELSTAMM])
-        self.add_referable(Property(value=menge, **KWARGS[MENGE]))
-        self.add_referable(Property(value=stammlaenge, **KWARGS[STAMMLAENGE]))
-        self.add_referable(Property(value=stammnummer, **KWARGS[STAMMNUMMER]))
-        self.add_referable(Property(value=mittendurchmesser, **KWARGS[MITTENDURCHMESSER]))
-        self.add_referable(Property(value=gueteklasse.value, **KWARGS[GUETEKLASSE]))
-        self.add_referable(Property(value=klammerstammabschnittsnummer, **KWARGS[KLAMMERSTAMMABSCHNITTSNUMMER]))
+        super().__init__(**deepcopy(KWARGS[EINZELSTAMM]))
+        self.add_referable(Property(value=menge, **deepcopy(KWARGS[MENGE])))
+        self.add_referable(Property(value=stammlaenge, **deepcopy(KWARGS[STAMMLAENGE])))
+        self.add_referable(Property(value=stammnummer, **deepcopy(KWARGS[STAMMNUMMER])))
+        self.add_referable(Property(value=mittendurchmesser, **deepcopy(KWARGS[MITTENDURCHMESSER])))
+        self.add_referable(Property(value=gueteklasse.value, **deepcopy(KWARGS[GUETEKLASSE])))
+        self.add_referable(Property(value=klammerstammabschnittsnummer, **deepcopy(KWARGS[KLAMMERSTAMMABSCHNITTSNUMMER])))
 
 
 class EinzelstammListe(SubmodelElementCollection):
     def __init__(self,
                  einzelstaeme: Iterable[Einzelstamm],
                  ):
-        super().__init__(**KWARGS[EINZELSTAMM_LISTE])
-        self.add_referable(init_se_list(se_kwargs=KWARGS[EINZELSTAEMME], item_kwargs=KWARGS[EINZELSTAMM], type_value_list_element=SubmodelElementCollection))
+        super().__init__(**deepcopy(KWARGS[EINZELSTAMM_LISTE]))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[EINZELSTAEMME]), item_kwargs=deepcopy(KWARGS[EINZELSTAMM]), type_value_list_element=SubmodelElementCollection))
         self.add_einzelstaemme(einzelstaeme)
 
     def add_einzelstaemme(self, values: Iterable[Einzelstamm]):
-        se_list = self.get_referable(KWARGS[EINZELSTAEMME][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[EINZELSTAEMME])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -221,21 +223,21 @@ class Polter(SubmodelElementCollection):
                  fotos: Optional[Iterable[str]] = None,
                  videos: Optional[Iterable[str]] = None
                  ):
-        super().__init__(**KWARGS[POLTER])
-        self.add_referable(Property(value=polternummer, **KWARGS[POLTERNUMMER]))
-        self.add_referable(Property(value=vermessungsverfahren.value, **KWARGS[VERMESSUNGSVERFAHREN]))
-        self.add_referable(Property(value=polterstatus.value, **KWARGS[POLTERSTATUS]))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[FOTOS], item_kwargs=KWARGS[FOTO], type_value_list_element=Property))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[VIDEOS], item_kwargs=KWARGS[VIDEO], type_value_list_element=Property))
+        super().__init__(**deepcopy(KWARGS[POLTER]))
+        self.add_referable(Property(value=polternummer, **deepcopy(KWARGS[POLTERNUMMER])))
+        self.add_referable(Property(value=vermessungsverfahren.value, **deepcopy(KWARGS[VERMESSUNGSVERFAHREN])))
+        self.add_referable(Property(value=polterstatus.value, **deepcopy(KWARGS[POLTERSTATUS])))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[FOTOS]), item_kwargs=deepcopy(KWARGS[FOTO]), type_value_list_element=Property))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[VIDEOS]), item_kwargs=deepcopy(KWARGS[VIDEO]), type_value_list_element=Property))
 
         if messergebnis_einzelstammliste:
             messergebnis_einzelstammliste.id_short = MESSERGEBNIS_EINZELSTAMMLISTE
             self.add_referable(messergebnis_einzelstammliste)
         if messergebnis_raummassindustrieholz:
-            messergebnis_raummassenergieholz = MESSERGEBNIS_RAUMMASSINDUSTRIEHOLZ
+            messergebnis_raummassenergieholz.id_short = MESSERGEBNIS_RAUMMASSINDUSTRIEHOLZ
             self.add_referable(messergebnis_raummassindustrieholz)
         if messergebnis_raummassenergieholz:
-            messergebnis_raummassenergieholz = MESSERGEBNIS_RAUMMASSENERGIEHOLZ
+            messergebnis_raummassenergieholz.id_short = MESSERGEBNIS_RAUMMASSENERGIEHOLZ
             self.add_referable(messergebnis_raummassenergieholz)
         if standort:
             standort.id_short = STANDORT
@@ -244,13 +246,13 @@ class Polter(SubmodelElementCollection):
         self.add_videos(videos)
 
     def add_fotos(self, values: Iterable[str]):
-        se_list = self.get_referable(KWARGS[FOTOS][ID_SHORT])
-        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=KWARGS[FOTO],
+        se_list = self.get_referable(deepcopy(KWARGS[FOTOS])[ID_SHORT])
+        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=deepcopy(KWARGS[FOTO]),
                                       item_type=Property)
 
     def add_videos(self, values: Iterable[str]):
-        se_list = self.get_referable(KWARGS[VIDEOS][ID_SHORT])
-        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=KWARGS[VIDEO],
+        se_list = self.get_referable(deepcopy(KWARGS[VIDEOS])[ID_SHORT])
+        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=deepcopy(KWARGS[VIDEO]),
                                       item_type=Property)
 
 
@@ -261,10 +263,10 @@ class StehenderBaum(SubmodelElementCollection):
                  baumart: Optional[enums.Holzart] = enums.OptionalEnum,
                  position: Optional[Standort] = None
                  ):
-        super().__init__(**KWARGS[STEHENDER_BAUM])
-        self.add_referable(Property(value=hoehe, **KWARGS[HOEHE]))
-        self.add_referable(Property(value=bhd, **KWARGS[BHD]))
-        self.add_referable(Property(value=baumart.value, **KWARGS[BAUMART]))
+        super().__init__(**deepcopy(KWARGS[STEHENDER_BAUM]))
+        self.add_referable(Property(value=hoehe, **deepcopy(KWARGS[HOEHE])))
+        self.add_referable(Property(value=bhd, **deepcopy(KWARGS[BHD])))
+        self.add_referable(Property(value=baumart.value, **deepcopy(KWARGS[STEHENDER_BAUM_BAUMART])))
         if position:
             position.id_short = POSITION
             self.add_referable(position)
@@ -280,13 +282,13 @@ class Holzliste(Submodel):
                  holzart: enums.Holzart,
                  preismatrix: Optional[Iterable[Preismatrixeintrag]] = None,
                  ):
-        super().__init__(id_=id, **KWARGS[HOLZLISTE])
+        super().__init__(id_=id, **deepcopy(KWARGS[HOLZLISTE]))
         self.add_referable(kopfdaten)
-        self.add_referable(Property(value=sortimentstyp.value, **KWARGS[SORTIMENTSTYP]))
-        self.add_referable(Property(value=sorte.value, **KWARGS[SORTE]))
-        self.add_referable(Property(value=holzart.value, **KWARGS[HOLZART]))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[POLTER_LISTE], item_kwargs=KWARGS[POLTER], type_value_list_element=SubmodelElementCollection))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[PREISMATRIX], item_kwargs=KWARGS[PREISMATRIXEINTRAG], type_value_list_element=SubmodelElementCollection))
+        self.add_referable(Property(value=sortimentstyp.value, **deepcopy(KWARGS[SORTIMENTSTYP])))
+        self.add_referable(Property(value=sorte.value, **deepcopy(KWARGS[SORTE])))
+        self.add_referable(Property(value=holzart.value, **deepcopy(KWARGS[HOLZART])))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[POLTER_LISTE]), item_kwargs=deepcopy(KWARGS[POLTER]), type_value_list_element=SubmodelElementCollection))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[PREISMATRIX]), item_kwargs=deepcopy(KWARGS[PREISMATRIXEINTRAG]), type_value_list_element=SubmodelElementCollection))
 
         self.add_polterliste(polterliste)
         self.add_preismatrix(preismatrix)
@@ -294,11 +296,11 @@ class Holzliste(Submodel):
     def add_polterliste(self, values: Iterable[Polter]):
         if not values:
             raise Exception("'polter' must include at least a single item.")
-        se_list = self.get_referable(KWARGS[POLTER_LISTE][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[POLTER_LISTE])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
     def add_preismatrix(self, values: Iterable[Preismatrixeintrag]):
-        se_list = self.get_referable(KWARGS[PREISMATRIX][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[PREISMATRIX])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -315,29 +317,29 @@ class Verkaufslos(Submodel):
                  holzlisten: Optional[Iterable[Reference]] = None,
                  preismatrix: Optional[Iterable[Preismatrixeintrag]] = None
                  ):
-        super().__init__(id_=id, **KWARGS[VERKAUFSLOS])
-        self.add_referable(Property(value=verkaufsstatus.value, **KWARGS[VERKAUFSSTATUS]))
-        self.add_referable(Property(value=abrechnungsmass.value, **KWARGS[ABRECHNUNGSMASS]))
-        self.add_referable(Property(value=bereitstellungsart.value, **KWARGS[BEREITSTELLUNGSART]))
-        self.add_referable(Property(value=verfuegbar_ab, **KWARGS[VERFUEGBAR_AB]))
-        self.add_referable(Property(value=verfuegbar_bis, **KWARGS[VERFUEGBAR_BIS]))
+        super().__init__(id_=id, **deepcopy(KWARGS[VERKAUFSLOS]))
+        self.add_referable(Property(value=verkaufsstatus.value, **deepcopy(KWARGS[VERKAUFSSTATUS])))
+        self.add_referable(Property(value=abrechnungsmass.value, **deepcopy(KWARGS[ABRECHNUNGSMASS])))
+        self.add_referable(Property(value=bereitstellungsart.value, **deepcopy(KWARGS[BEREITSTELLUNGSART])))
+        self.add_referable(Property(value=verfuegbar_ab, **deepcopy(KWARGS[VERFUEGBAR_AB])))
+        self.add_referable(Property(value=verfuegbar_bis, **deepcopy(KWARGS[VERFUEGBAR_BIS])))
         if verkauefer:
             verkauefer.id_short = VERKAEUFER
             self.add_referable(verkauefer)
-        self.add_referable(Property(value=notiz, **KWARGS[NOTIZ]))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[HOLZLISTEN], item_kwargs=KWARGS[HOLZLISTE], type_value_list_element=ReferenceElement))
-        self.add_referable(init_se_list(se_kwargs=KWARGS[PREISMATRIX], item_kwargs=KWARGS[PREISMATRIXEINTRAG], type_value_list_element=SubmodelElementCollection))
+        self.add_referable(Property(value=notiz, **deepcopy(KWARGS[NOTIZ])))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[HOLZLISTEN]), item_kwargs=deepcopy(KWARGS[HOLZLISTE_REF_IN_HOLZLISTEN]), type_value_list_element=ReferenceElement))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[PREISMATRIX]), item_kwargs=deepcopy(KWARGS[PREISMATRIXEINTRAG]), type_value_list_element=SubmodelElementCollection))
 
         self.add_holzlisten(holzlisten)
         self.add_preismatrix(preismatrix)
 
     def add_holzlisten(self, values: Iterable[Reference]):
-        se_list = self.get_referable(KWARGS[HOLZLISTEN][ID_SHORT])
-        values = [ReferenceElement(id_short=HOLZLISTE, value=i) for i in values]
+        se_list = self.get_referable(deepcopy(KWARGS[HOLZLISTEN])[ID_SHORT])
+        values = [ReferenceElement(value=i, **deepcopy(KWARGS[HOLZLISTE_REF_IN_HOLZLISTEN])) for i in values]
         add_items_to_se_list(se_list=se_list, items=values)
 
     def add_preismatrix(self, values: Iterable[Preismatrixeintrag]):
-        se_list = self.get_referable(KWARGS[PREISMATRIX][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[PREISMATRIX])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -354,17 +356,17 @@ class Holzpreisbereich(SubmodelElementCollection):
                  datum: Optional[date] = None,
                  quelle: Optional[str] = None
                  ):
-        super().__init__(**KWARGS[HOLZPREISBEREICH])
-        self.add_referable(Property(value=baumart.value, **KWARGS[BAUMART]))
-        self.add_referable(Property(value=preis_von, **KWARGS[PREIS_VON]))
-        self.add_referable(Property(value=preis_bis, **KWARGS[PREIS_BIS]))
-        self.add_referable(Property(value=sorte.value, **KWARGS[SORTE]))
-        self.add_referable(Property(value=gueteklasse.value, **KWARGS[GUETEKLASSE]))
-        self.add_referable(Property(value=mittendurchmesser_von, **KWARGS[MITTENDURCHMESSER_VON]))
-        self.add_referable(Property(value=mittendurchmesser_bis, **KWARGS[MITTENDURCHMESSER_BIS]))
-        self.add_referable(ReferenceElement(value=holzliste, **KWARGS[HOLZLISTE]))
-        self.add_referable(Property(value=datum, **KWARGS[DATUM]))
-        self.add_referable(Property(value=quelle, **KWARGS[QUELLE]))
+        super().__init__(**deepcopy(KWARGS[HOLZPREISBEREICH]))
+        self.add_referable(Property(value=baumart.value, **deepcopy(KWARGS[HOLZPREISBEREICH_BAUMART])))
+        self.add_referable(Property(value=preis_von, **deepcopy(KWARGS[PREIS_VON])))
+        self.add_referable(Property(value=preis_bis, **deepcopy(KWARGS[PREIS_BIS])))
+        self.add_referable(Property(value=sorte.value, **deepcopy(KWARGS[HOLZPREISBEREICH_SORTE])))
+        self.add_referable(Property(value=gueteklasse.value, **deepcopy(KWARGS[GUETEKLASSE])))
+        self.add_referable(Property(value=mittendurchmesser_von, **deepcopy(KWARGS[MITTENDURCHMESSER_VON])))
+        self.add_referable(Property(value=mittendurchmesser_bis, **deepcopy(KWARGS[MITTENDURCHMESSER_BIS])))
+        self.add_referable(ReferenceElement(value=holzliste, **deepcopy(KWARGS[HOLZLISTE_REF_IN_HOLZPREISBEREICH])))
+        self.add_referable(Property(value=datum, **deepcopy(KWARGS[DATUM])))
+        self.add_referable(Property(value=quelle, **deepcopy(KWARGS[QUELLE])))
 
 
 class Sortiment(SubmodelElementCollection):
@@ -373,7 +375,8 @@ class Sortiment(SubmodelElementCollection):
                  sortimentstyp: enums.Sortimentstyp,
                  sorte: enums.Sorte,
                  holzart: enums.Holzart,
-                 gueteklasse: enums.Gueteklasse,
+                 gueteklasseVon: enums.Gueteklasse,
+                 gueteklasseBis: enums.Gueteklasse,
                  laenge_von: float,
                  laenge_bis: float,
                  mindestzopf: float,
@@ -384,21 +387,22 @@ class Sortiment(SubmodelElementCollection):
                  bemerkung: Optional[str] = None,
                  ergebnis: Optional[Iterable[Reference]] = None
                  ):
-        super().__init__(**KWARGS[SORTIMENT])
+        super().__init__(**deepcopy(KWARGS[SORTIMENT]))
         for i in (
-                Property(value=nummer, **KWARGS[NUMMER]),
-                Property(value=sortimentstyp.value, **KWARGS[SORTIMENTSTYP]),
-                Property(value=sorte.value, **KWARGS[SORTE]),
-                Property(value=holzart.value, **KWARGS[HOLZART]),
-                Property(value=gueteklasse.value, **KWARGS[GUETEKLASSE]),
-                Property(value=laenge_von, **KWARGS[LAENGE_VON]),
-                Property(value=laenge_bis, **KWARGS[LAENGE_BIS]),
-                Property(value=mindestzopf, **KWARGS[MINDESTZOPF]),
-                Property(value=max_durchmesser, **KWARGS[MAX_DURCHMESSER]),
-                Property(value=laengenzugabe, **KWARGS[LAENGENZUGABE]),
-                Property(value=mengenschaetzung, **KWARGS[MENGENSCHAETZUNG]),
-                Property(value=bemerkung, **KWARGS[BEMERKUNG]),
-                init_se_list(se_kwargs=KWARGS[ERGEBNIS], item_kwargs=KWARGS[HOLZLISTE], type_value_list_element=ReferenceElement),
+                Property(value=nummer, **deepcopy(KWARGS[NUMMER])),
+                Property(value=sortimentstyp.value, **deepcopy(KWARGS[SORTIMENTSTYP])),
+                Property(value=sorte.value, **deepcopy(KWARGS[SORTE])),
+                Property(value=holzart.value, **deepcopy(KWARGS[HOLZART])),
+                Property(value=gueteklasseVon.value, **deepcopy(KWARGS[GUETEKLASSE_VON])),
+                Property(value=gueteklasseBis.value, **deepcopy(KWARGS[GUETEKLASSE_BIS])),
+                Property(value=laenge_von, **deepcopy(KWARGS[LAENGE_VON])),
+                Property(value=laenge_bis, **deepcopy(KWARGS[LAENGE_BIS])),
+                Property(value=mindestzopf, **deepcopy(KWARGS[MINDESTZOPF])),
+                Property(value=max_durchmesser, **deepcopy(KWARGS[MAX_DURCHMESSER])),
+                Property(value=laengenzugabe, **deepcopy(KWARGS[LAENGENZUGABE])),
+                Property(value=mengenschaetzung, **deepcopy(KWARGS[MENGENSCHAETZUNG])),
+                Property(value=bemerkung, **deepcopy(KWARGS[BEMERKUNG])),
+                init_se_list(se_kwargs=deepcopy(KWARGS[ERGEBNIS]), item_kwargs=deepcopy(KWARGS[HOLZLISTE_REF_IN_ERGEBNIS]), type_value_list_element=ReferenceElement),
         ):
             self.add_referable(i)
         if kaeufer:
@@ -407,31 +411,30 @@ class Sortiment(SubmodelElementCollection):
         self.add_ergebnis(ergebnis)
 
     def add_ergebnis(self, values: Iterable[Reference]):
-        se_list = self.get_referable(KWARGS[ERGEBNIS][ID_SHORT])
-        values = [ReferenceElement(id_short=ERGEBNIS, value=i) for i in values]
+        se_list = self.get_referable(deepcopy(KWARGS[ERGEBNIS])[ID_SHORT])
+        values = [ReferenceElement(value=i, **deepcopy(KWARGS[HOLZLISTE_REF_IN_ERGEBNIS])) for i in values]
         add_items_to_se_list(se_list=se_list, items=values)
 
 
 class ZuFaellendeBaeume(Submodel):
     def __init__(self,
                  id: Identifier,
-                 name: str,
                  beschreibung: str,
                  umring: Umring,
                  position: Optional[Standort] = None,
                  baumliste: Optional[Iterable[StehenderBaum]] = None,
                  ):
-        super().__init__(id_=id, **KWARGS[ZU_FAELLENDE_BAEUME])
-        self.add_referable(Property(value=name, **KWARGS[NAME]))
-        self.add_referable(Property(value=beschreibung, **KWARGS[BESCHREIBUNG]))
+        super().__init__(id_=id, **deepcopy(KWARGS[ZU_FAELLENDE_BAEUME]))
+        self.add_referable(Property(value=beschreibung, **deepcopy(KWARGS[BESCHREIBUNG])))
         self.add_referable(umring)
         if position:
+            position.id_short = POSITION
             self.add_referable(position)
-        self.add_referable(init_se_list(se_kwargs=KWARGS[BAUMLISTE], item_kwargs=KWARGS[STEHENDER_BAUM], type_value_list_element=SubmodelElementCollection))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[BAUMLISTE]), item_kwargs=deepcopy(KWARGS[STEHENDER_BAUM]), type_value_list_element=SubmodelElementCollection))
         self.add_baumliste(baumliste)
 
     def add_baumliste(self, values: Iterable[StehenderBaum]):
-        se_list = self.get_referable(KWARGS[BAUMLISTE][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[BAUMLISTE])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -440,7 +443,7 @@ class Holzpreisbereiche(Submodel):
                  id: Identifier,
                  holzpreisbereiche: Optional[Iterable[Holzpreisbereich]] = None,
                  ):
-        super().__init__(id_=id, **KWARGS[HOLZPREISBEREICHE])
+        super().__init__(id_=id, **deepcopy(KWARGS[HOLZPREISBEREICHE]))
         self.add_holzpreisbereiche(holzpreisbereiche)
 
     def add_holzpreisbereiche(self, holzpreisbereiche: Iterable[StehenderBaum]):
@@ -458,7 +461,7 @@ class Bestandesdaten(Submodel):
                  waldbesitzer: Optional[Kontakt] = None,
                  baumarten: Optional[Iterable[enums.Holzart]] = None,
                  ):
-        super().__init__(id_=id, **KWARGS[BESTANDESDATEN])
+        super().__init__(id_=id, **deepcopy(KWARGS[BESTANDESDATEN]))
         if waldbesitzer:
             waldbesitzer.id_short = WALDBESITZER
         for i in (
@@ -467,13 +470,13 @@ class Bestandesdaten(Submodel):
         ):
             if i:
                 self.add_referable(i)
-        self.add_referable(init_se_list(se_kwargs=KWARGS[BAUMARTEN], item_kwargs=KWARGS[BAUMART], type_value_list_element=Property))
+        self.add_referable(init_se_list(se_kwargs=deepcopy(KWARGS[BAUMARTEN]), item_kwargs=deepcopy(KWARGS[BESTANDESDATEN_BAUMART]), type_value_list_element=Property))
 
         self.add_baumarten(baumarten)
 
     def add_baumarten(self, values: Iterable[enums.Holzart]):
-        se_list = self.get_referable(KWARGS[BAUMARTEN][ID_SHORT])
-        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=KWARGS[BAUMART],
+        se_list = self.get_referable(deepcopy(KWARGS[BAUMARTEN])[ID_SHORT])
+        init_items_and_add_to_se_list(se_list=se_list, values_of_items=values, item_kwargs=deepcopy(KWARGS[BESTANDESDATEN_BAUMART]),
                                       item_type=Property)
 
 
@@ -485,10 +488,10 @@ class Beobachtung(Submodel):
                  umring: Umring,
                  position: Optional[Standort] = None
                  ):
-        super().__init__(id_=id, **KWARGS[BEOBACHTUNG])
+        super().__init__(id_=id, **deepcopy(KWARGS[BEOBACHTUNG]))
         for i in (
-                Property(value=name, **KWARGS[NAME]),
-                Property(value=beschreibung, **KWARGS[BESCHREIBUNG]),
+                Property(value=name, **deepcopy(KWARGS[NAME])),
+                Property(value=beschreibung, **deepcopy(KWARGS[BESCHREIBUNG])),
                 umring,
         ):
             self.add_referable(i)
@@ -507,14 +510,14 @@ class Waldweg(Submodel):
                  wegpunkte: Optional[Iterable[Standort]] = None,
                  wendepunkte: Optional[Iterable[Standort]] = None
                  ):
-        super().__init__(id_=id, **KWARGS[WALDWEG])
+        super().__init__(id_=id, **deepcopy(KWARGS[WALDWEG]))
         for i in (
-                Property(value=beschreibung, **KWARGS[BESCHREIBUNG]),
-                Property(value=erstellungsdatum, **KWARGS[ERSTELLUNGSDATUM]),
-                Property(value=aktualisierungsdatum, **KWARGS[AKTUALISIERUNGSDATUM]),
-                Property(value=breite, **KWARGS[BREITE]),
-                init_se_list(se_kwargs=KWARGS[WEGPUNKTE], item_kwargs=KWARGS[STANDORT], type_value_list_element=SubmodelElementCollection),
-                init_se_list(se_kwargs=KWARGS[WENDEPUNKTE], item_kwargs=KWARGS[STANDORT], type_value_list_element=SubmodelElementCollection),
+                Property(value=beschreibung, **deepcopy(KWARGS[BESCHREIBUNG])),
+                Property(value=erstellungsdatum, **deepcopy(KWARGS[ERSTELLUNGSDATUM])),
+                Property(value=aktualisierungsdatum, **deepcopy(KWARGS[AKTUALISIERUNGSDATUM])),
+                Property(value=breite, **deepcopy(KWARGS[BREITE])),
+                init_se_list(se_kwargs=deepcopy(KWARGS[WEGPUNKTE]), item_kwargs=deepcopy(KWARGS[STANDORT]), type_value_list_element=SubmodelElementCollection),
+                init_se_list(se_kwargs=deepcopy(KWARGS[WENDEPUNKTE]), item_kwargs=deepcopy(KWARGS[STANDORT]), type_value_list_element=SubmodelElementCollection),
         ):
             if i:
                 self.add_referable(i)
@@ -522,11 +525,11 @@ class Waldweg(Submodel):
         self.add_wendepunkte(wendepunkte)
 
     def add_wegpunkte(self, values: Iterable[Standort]):
-        se_list = self.get_referable(KWARGS[WEGPUNKTE][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[WEGPUNKTE])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
     def add_wendepunkte(self, values: Iterable[Standort]):
-        se_list = self.get_referable(KWARGS[WENDEPUNKTE][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[WENDEPUNKTE])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -545,16 +548,16 @@ class Arbeitsauftrag(Submodel):
                  auftragsstatus: Optional[enums.Auftragsstatus] = enums.OptionalEnum,
                  zu_faellende_baeume: Optional[Reference] = None,
                  ):
-        super().__init__(id_=auftrag_id, **KWARGS[ARBEITSAUFTRAG])
+        super().__init__(id_=auftrag_id, **deepcopy(KWARGS[ARBEITSAUFTRAG]))
         ansprechpartner.id_short = ANSPRECHPARTNER
         for i in (
-                Property(value=hiebsnummer, **KWARGS[HIEBSNUMMER]),
-                Property(value=kurzbeschreibung, **KWARGS[KURZBESCHREIBUNG]),
-                Property(value=sicherheitshinweise, **KWARGS[SICHERHEITSHINWEISE]),
-                Property(value=naturschutzhinweise, **KWARGS[NATURSCHUTZHINWEISE]),
-                Property(value=karte, **KWARGS[KARTE]),
-                Property(value=auftragsstatus.value, **KWARGS[AUFTRAGSSTATUS]),
-                init_se_list(se_kwargs=KWARGS[SORTIMENTE], item_kwargs=KWARGS[SORTIMENT], type_value_list_element=SubmodelElementCollection),
+                Property(value=hiebsnummer, **deepcopy(KWARGS[HIEBSNUMMER])),
+                Property(value=kurzbeschreibung, **deepcopy(KWARGS[KURZBESCHREIBUNG])),
+                Property(value=sicherheitshinweise, **deepcopy(KWARGS[SICHERHEITSHINWEISE])),
+                Property(value=naturschutzhinweise, **deepcopy(KWARGS[NATURSCHUTZHINWEISE])),
+                Property(value=karte, **deepcopy(KWARGS[KARTE])),
+                Property(value=auftragsstatus.value, **deepcopy(KWARGS[AUFTRAGSSTATUS])),
+                init_se_list(se_kwargs=deepcopy(KWARGS[SORTIMENTE]), item_kwargs=deepcopy(KWARGS[SORTIMENT]), type_value_list_element=SubmodelElementCollection),
                 ansprechpartner
         ):
             self.add_referable(i)
@@ -565,11 +568,11 @@ class Arbeitsauftrag(Submodel):
             unternehmer_holzernte.id_short = UNTERNEHMER_HOLZERNTE
             self.add_referable(unternehmer_holzernte)
         if zu_faellende_baeume:
-            self.add_referable(ReferenceElement(value=zu_faellende_baeume, **KWARGS[ZU_FAELLENDE_BAEUME]))
+            self.add_referable(ReferenceElement(value=zu_faellende_baeume, **deepcopy(KWARGS[ZU_FAELLENDE_BAEUME_REF])))
         self.add_sortimente(sortimente)
 
     def add_sortimente(self, values: Iterable[Sortiment]):
-        se_list = self.get_referable(KWARGS[SORTIMENTE][ID_SHORT])
+        se_list = self.get_referable(deepcopy(KWARGS[SORTIMENTE])[ID_SHORT])
         add_items_to_se_list(se_list=se_list, items=values)
 
 
@@ -586,7 +589,7 @@ class DZWald(AssetAdministrationShell):
                  zu_faellende_baeume: Optional[Reference] = None,  # Optional[Reference[ZuFaellendeBaeume]]
                  holzpreisbereiche: Optional[Reference] = None,  # Optional[Reference[Holzpreisbereiche]]
                  ):
-        super().__init__(id_=dzwald_id, asset_information=asset, **KWARGS[DZ_WALD])
+        super().__init__(id_=dzwald_id, asset_information=asset, **deepcopy(KWARGS[DZ_WALD]))
 
         # TODO: Implement, Should the AAS contain the submodels or only reference them?
 
diff --git a/model/utils.py b/model/utils.py
index 6e05657d55dd1a36ff941ac1f286800bd9fd1241..c7f9860d617c9de3737f192878293b65dec55fc9 100644
--- a/model/utils.py
+++ b/model/utils.py
@@ -1,3 +1,4 @@
+from copy import deepcopy
 from enum import Enum
 from typing import Any, Iterable
 
@@ -47,7 +48,7 @@ def init_items_and_add_to_se_list(se_list, values_of_items: Iterable[Any], item_
             if isinstance(val, Enum):
                 val = val.value
             # create item e.g. Property(value="example@email.de", value_type=str, ...)
-            item = item_type(value=val, **item_kwargs)
+            item = item_type(value=val, **deepcopy(item_kwargs))
             # find free id_short in SubmodelElementList and set item's id_short to it
             item.id_short = find_next_free_id_short(collection=se_list,
                                                     id_short_base=item_kwargs[ID_SHORT],
diff --git a/modellierung/README.md b/modellierung/README.md
index 481c237f75d83bc5a5fa1bb1a1f5998f9540250f..7c83655ffd4d9e2c4536a04e737132f8adb0bffe 100644
--- a/modellierung/README.md
+++ b/modellierung/README.md
@@ -1,2456 +1,2203 @@
+# Submodelle 
+
 ## Waldweg (Submodel Template)
 
-TODO add description here
+Die Beschreibung eines Waldwegs.
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg](https://admin-shell.io/kwh40/forestml40/Waldweg)
 
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Die textuelle Beschreibung eines Waldwegs.
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Beschreibung](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Beschreibung)
 
 ### Erstellungsdatum (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erstellungsdatum des Waldwegs
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Erstellungsdatum](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Erstellungsdatum)
 
 ### Aktualisierungsdatum (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Datum der letzten Aktualisierung des Waldwegs
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Aktualisierungsdatum](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Aktualisierungsdatum)
 
 ### Breite (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Breite des Waldwegs in m
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Breite](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Breite)
 
 ### Wegpunkte (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste der Wegpunkte eines Waldwegs.
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte)
 
-### Wegpunkte (SubmodelElementCollection)
-
-TODO add description here
+### Wegpunkt (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Einzelner Wegpunkt eines Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00})
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Lage des Wegpunkt des Waldwegs in Geo-Koordinaten.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Wegpunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/x)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Wegpunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/y)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Lage des Wegpunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/alt)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Beschreibung der Lage des Wegpunkt des Waldwegs.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Koordinate/crs)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zur Beschreibung der Lage des Wegpunkt des Waldwegs, Freitext.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Notiz](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkte{00}/Notiz)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Notiz](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wegpunkte/Wegpunkt/Notiz)
 
 ### Wendepunkte (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste der Wendepunkte des Waldwegs.
 
 [https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte)
 
-### Wendepunkte (SubmodelElementCollection)
+### Wendepunkt (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Einzelner Wendepunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00})
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
+Lage des Wendepunkt des Waldwegs in Geo-Koordinaten.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Wendepunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/x)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Wendepunkt des Waldwegs.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/y)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Lage des Wendepunkt des Waldwegs.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/alt)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Beschreibung der Lage des Wendepunkt des Waldwegs.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Koordinate/crs)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zur Beschreibung der Lage des Wendepunkt des Waldwegs, Freitext.
 
-[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Notiz](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkte{00}/Notiz)
+[https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Notiz](https://admin-shell.io/kwh40/forestml40/Waldweg/0/1/Wendepunkte/Wendepunkt/Notiz)
 
 ## Bestandesdaten (Submodel Template)
 
-TODO add description here
+Bestandesdaten (Naturaldaten) eines Waldbestands.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten](https://admin-shell.io/kwh40/forestml40/Bestandesdaten)
 
 ### Umring (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Geometrischer Umring des Waldbestands.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring)
 
 ### Name (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Bezeichnung des Waldbestands.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Name](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Name)
 
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Textuelle Beschreibung des Waldbestands.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Beschreibung](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Beschreibung)
 
 ### Koordinaten (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Koordinatenliste des Umrings des Bestandes.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten)
 
-### Koordinaten (SubmodelElementCollection)
-
-TODO add description here
+### Koordinate (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Einzelne Geo-Koordinate des Umrings des Bestandes.
 
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00})
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings des Bestandes.
 
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/x](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/x)
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings des Bestandes.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/y](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/y)
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. der Geo-Koordinate des Umrings des Bestandes.
 
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/alt](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/alt)
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Beschreibung der Geo-Koordinate des Umrings des Bestandes.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/crs](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinaten{00}/crs)
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Umring/Koordinaten/Koordinate/crs)
 
 ### Waldbesitzer (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Besitzer des Waldes.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Firmenname](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Anrede](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Vorname](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Nachname](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Adresse](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Adresse)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummern (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummer (SubmodelElement)
 
-TODO add description here
+Einzelne Telefonnummer des Waldbesitzers.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefonnummern{00})
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Telefonnummern/Telefonnummer)
 
-### Emailadressen (SubmodelElement)
+### Emailadressen (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen)
 
-### Emailadressen (SubmodelElement)
+### Emailadresse (SubmodelElement)
 
-TODO add description here
+Einzelne E-Mail-Adresse des Waldbesitzers.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Waldbesitzers, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/IBAN](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Waldbesitzers.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Steuernummer](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Waldbesitzer/Steuernummer)
 
 ### Baumarten (SubmodelElementList)
 
-TODO add description here
+Liste der Baumarten im Waldbestand.
 
-Basiert auf externer Definition: -
+Erlaubte Listeneinträge: https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumart.
 
 [https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten)
 
-### Baumarten (SubmodelElementCollection)
+### Baumart (SubmodelElement)
 
-TODO add description here
+Einzelne Baumart im Waldbestand.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzart--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumarten{00}](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumarten{00})
+[https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumart](https://admin-shell.io/kwh40/forestml40/Bestandesdaten/0/1/Baumarten/Baumart)
 
 ## Beobachtung (Submodel Template)
 
-TODO add description here
+Beschreibung einer Beobachtung im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung](https://admin-shell.io/kwh40/forestml40/Beobachtung)
 
 ### Name (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Name der Beobachtung im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Name](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Name)
 
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung der Beobachtung im Waldbestand. 
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Beschreibung](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Beschreibung)
 
 ### Umring (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Geometrischer Umring der Beobachtung im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring)
 
 ### Name (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Name des Umrings der Beobachtung im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Name](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Name)
 
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Umrings der Beobachtung im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Beschreibung](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Beschreibung)
 
 ### Koordinaten (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Koordinatenliste des Umrings der Beobachtung.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten)
 
-### Koordinaten (SubmodelElementCollection)
-
-TODO add description here
+### Koordinate (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Einzelne Geo-Koordinate des Umrings der Beobachtung.
 
-[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00})
+[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings der Beobachtung.
 
-[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/x](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/x)
+[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings der Beobachtung.
 
-[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/y](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/y)
+[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Geo-Koordinate des Umrings der Beobachtung.
 
-[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/alt](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/alt)
+[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Geo-Koordinate des Umrings der Beobachtung.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/crs](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinaten{00}/crs)
+[https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Umring/Koordinaten/Koordinate/crs)
 
 ### Position (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Position der Beobachtung.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Lage der Beobachtung in Geo-Koordinaten.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage der Beobachtung.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage der Beobachtung.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Lage der Beobachtung.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Beschreibung der Lage der Beobachtung.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zur Beschreibung der Lage der Beobachtung, Freitext.
 
 [https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Notiz](https://admin-shell.io/kwh40/forestml40/Beobachtung/0/1/Position/Notiz)
 
 ## ZuFaellendeBaeume (Submodel Template)
 
-TODO add description here
+Zusammenstellung der Bäume die im Waldbestand zum Fällen ausgewählt wurden.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume)
 
-### Name (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Name](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Name)
-
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung der Auswahl von Bäumen, die im Waldbestand zum Fällen ausgewählt wurden.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Beschreibung](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Beschreibung)
 
 ### Umring (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Geometrischer Umring der Auswahl von Bäumen, die im Waldbestand zum Fällen ausgewählt wurden.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring)
 
 ### Name (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Name des geometrischen Umrings der Auswahl von Bäumen, die im Waldbestand zum Fällen ausgewählt wurden.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Name](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Name)
 
 ### Beschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des geometrischen Umrings der Auswahl von Bäumen, die im Waldbestand zum Fällen ausgewählt wurden.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Beschreibung](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Beschreibung)
 
 ### Koordinaten (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Koordinatenliste des Umrings der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten)
 
-### Koordinaten (SubmodelElementCollection)
-
-TODO add description here
+### Koordinate (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Einzelne Geo-Koordinate des Umrings der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00})
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/x](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/x)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Geo-Koordinate des Umrings der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/y](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/y)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
+Höhenangabe über N.N. zur Geo-Koordinate des Umrings der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/alt](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/alt)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Geo-Koordinate des Umrings der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/crs](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinaten{00}/crs)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Umring/Koordinaten/Koordinate/crs)
 
 ### Position (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Position der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Geo-Koordinaten der Position der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert der Position der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/x](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert der Position der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/y](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. der Position der zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem der Position der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zur Beschreibung der Position der zu fällenden Bäume, Freitext.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Notiz](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Position/Notiz)
 
 ### Baumliste (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste zu fällender Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste)
 
-### Baumliste (SubmodelElementCollection)
+### Baum (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Einzelner zu fällender Baum.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00})
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum)
 
 ### Hoehe (SubmodelElement)
 
-TODO add description here
+Höhe in m eines Baums in der Liste der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Hoehe](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Hoehe)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Hoehe](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Hoehe)
 
 ### BHD (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Brusthöhendurchmesser in cm eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/BHD](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/BHD)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/BHD](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/BHD)
 
 ### Baumart (SubmodelElement)
 
-TODO add description here
+Baumart eines Baums in der Liste der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzart--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Baumart](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Baumart)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Baumart](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Baumart)
 
 ### Position (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Position eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Geo-Koordinaten zur Position eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Position eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/x](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/x)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/x](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Position eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/y](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/y)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/y](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Position eines Baums in der Liste der zu fällenden Bäume.
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/alt)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Position eines Baums in der Liste der zu fällenden Bäume.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Koordinate/crs)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
+Notiz zur Beschreibung der Position eines Baums in der Liste der zu fällenden Bäume, Freitext.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Notiz](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baumliste{00}/Position/Notiz)
+[https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Notiz](https://admin-shell.io/kwh40/forestml40/ZuFaellendeBaeume/0/1/Baumliste/Baum/Position/Notiz)
 
 ## Verkaufslos (Submodel Template)
 
-TODO add description here
+Zusammenstellung von Holzlisten, die zum Verkauf angeboten werden.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos](https://admin-shell.io/kwh40/forestml40/Verkaufslos)
 
-### Holzlisten (SubmodelElement)
+### Holzlisten (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Holzlisten, die dem Verkaufslos zugeordnet wurden.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten)
 
-### Holzlisten (SubmodelElement)
-
-TODO add description here
+### Holzliste (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne Holzliste, die dem Verkaufslos zugeordnet wurde.
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/Holzlisten{00}](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/Holzlisten{00})
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/Holzliste](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Holzlisten/Holzliste)
 
 ### Preismatrix (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Matrix zur Herleitung von Holzpreisen auf Basis verschiedener Durchmesser- und Güteklassengruppen für das Verkaufslos. 
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix)
 
-### Preismatrix (SubmodelElementCollection)
-
-TODO add description here
+### Preismatrixeintrag (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Einzelner Eintrag in der Matrix zur Herleitung von Holzpreisen im Verkauflos.
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00})
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag)
 
 ### Preis (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Resultierender Holzpreis in EUR pro fm ohne Rinde zur gewählten Kombination aus Durchmesser- und Güteklassengruppe sowie Sortimentstyp und Sorte in diesem Preismatrixeintrag im Verkauflos
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/Preis](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/Preis)
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Preis](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Preis)
 
 ### MittendurchmesserVon (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Minimaler Mittendurchmesser in cm ohne Rinde zur gewählten Kombination von Durchmesser- und Güteklassengruppe in diesem Preismatrixeintrag im Verkauflos
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserVon](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserVon)
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserVon)
 
 ### MittendurchmesserBis (SubmodelElement)
 
-TODO add description here
+Maximaler Mittendurchmesser in cm ohne Rinde zur gewählten Kombination von Durchmesser- und Güteklassengruppe in diesem Preismatrixeintrag im Verkauflos
 
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/MittendurchmesserBis)
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserBis](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserBis)
+### GueteklasseVon (SubmodelElement)
 
-### Gueteklasse (SubmodelElement)
+Güteklasse (Minimum einschl.) zur gewählten Kombination von Eingangsgrößen in diesem Preismatrixeintrag im Verkauflos.
 
-TODO add description here
+Wertebereich siehe [hier](#gueteklasse--enum-).
 
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Gueteklasse)
+
+### GueteklasseBis (SubmodelElement)
+
+Güteklasse (Maximum einschl.) zur gewählten Kombination von Eingangsgrößen in diesem Preismatrixeintrag im Verkauflos.
+
+Wertebereich siehe [hier](#gueteklasse--enum-).
+
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Gueteklasse)
+
+### Sortimentstyp (SubmodelElement)
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrix{00}/Gueteklasse)
+Typ des Sortiments.
+
+Wertebereich siehe [hier](#sortimentstyp--enum-).
+
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Sortimentstyp](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Sortimentstyp)
+
+### Sorte (SubmodelElement)
+
+Sorte des Sortiments.
+
+Wertebereich siehe [hier](#sorte--enum-).
+
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Sorte](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Preismatrix/Preismatrixeintrag/Sorte)
 
 ### Verkaufsstatus (SubmodelElement)
 
-TODO add description here
+Verkaufsstatus des Verkaufslos.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#verkaufsstatus--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaufsstatus](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaufsstatus)
 
 ### Abrechnungsmass (SubmodelElement)
 
-TODO add description here
+Abrechnungsmaß des Verkaufslos.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#abrechnungsmass--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Abrechnungsmass](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Abrechnungsmass)
 
 ### Bereitstellungsart (SubmodelElement)
 
-TODO add description here
+Bereitsstellungsart des Verkaufslos.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#bereitstellungsart--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Bereitstellungsart](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Bereitstellungsart)
 
 ### VerfuegbarAb (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Früheste Verfügbarkeit des Verkaufslos (Datum) 
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarAb](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarAb)
 
 ### VerfuegbarBis (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Späteste Verfügbarkeit des Verkaufslos (Datum)
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarBis](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/VerfuegbarBis)
 
 ### Verkaeufer (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Verkäufer des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Name der Firma des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Firmenname](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Anrede](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Vorname](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Nachname](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Adresse](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnnummern des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
+### Telefonnummer (SubmodelElement)
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefonnummern{00})
+Einzelne Telefonnummer des Verkäufers des Verkaufslos.
 
-### Emailadressen (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen)
 
-### Emailadressen (SubmodelElement)
-
-TODO add description here
+### Emailadresse (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne E-Mail-Adresse des Verkäufers des Verkaufslos.
 
-[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Verkäufers des Verkaufslos, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/IBAN](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Verkäufers des Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Steuernummer](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Verkaeufer/Steuernummer)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zum Verkaufslos.
 
 [https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Notiz](https://admin-shell.io/kwh40/forestml40/Verkaufslos/0/1/Notiz)
 
 ## Arbeitsauftrag (Submodel Template)
 
-TODO add description here
+Beschreibung eines Arbeitsauftrags für einen Einsatz im Waldbestand.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag)
 
 ### Hiebsnummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nummer des Hiebs - Alphanummerischer Identifikator
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Hiebsnummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Hiebsnummer)
 
 ### Ansprechpartner (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Ansprechpartner für diesen Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Kontaktrolle)
 
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Firmenname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Anrede](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Vorname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Nachname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Adresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummer (SubmodelElement)
 
-TODO add description here
+Einzelne Telefonnummer des Ansprechpartners zum Arbeitsauftrag..
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefonnummern{00})
-
-### Emailadressen (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen)
 
-### Emailadressen (SubmodelElement)
-
-TODO add description here
+### Emailadresse (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne E-Mail-Adresse des Ansprechpartners zum Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Ansprechpartners zum Arbeitsauftrag, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/IBAN](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Ansprechpartners zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Steuernummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Ansprechpartner/Steuernummer)
 
 ### UnternehmerHolzernte (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Firmenname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Anrede](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Vorname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Nachname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Adresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnnummern des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
+### Telefonnummer (SubmodelElement)
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefonnummern{00})
+Einzelne Telefonnummer des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
-### Emailadressen (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen)
 
-### Emailadressen (SubmodelElement)
-
-TODO add description here
+### Emailadresse (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne E-Mail-Adresse des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Unternehmers für die Holzernte zum Arbeitsauftrag, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/IBAN](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Unternehmers für die Holzernte zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Steuernummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzernte/Steuernummer)
 
 ### UnternehmerHolzrueckung (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Unternehmers für die Holzrückung zum Arbeitsauftrag
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Firmenname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Anrede](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Vorname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Nachname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Adresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
+### Telefonnummer (SubmodelElement)
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefonnummern{00})
+Einzelne Telefonnummer des Unternehmers für die Rückung zum Arbeitsauftrag.
 
-### Emailadressen (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen)
 
-### Emailadressen (SubmodelElement)
+### Emailadresse (SubmodelElement)
 
-TODO add description here
+Einzelne E-Mail-Adresse des Unternehmers für die Rückung zum Arbeitsauftrag.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Unternehmers für die Rückung zum Arbeitsauftrag, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/IBAN](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Unternehmers für die Rückung zum Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Steuernummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/UnternehmerHolzrueckung/Steuernummer)
 
 ### Kurzbeschreibung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Kurzbeschreibung des Arbeitsauftrags.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Kurzbeschreibung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Kurzbeschreibung)
 
 ### Sicherheitshinweise (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Sicherheitshinweise zum Arbeitsauftrag, Freitext.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sicherheitshinweise](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sicherheitshinweise)
 
 ### Naturschutzhinweise (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Naturschutzhinweise zum Arbeitsauftrag, Freitext.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Naturschutzhinweise](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Naturschutzhinweise)
 
 ### Sortimente (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Lsite der Sortimente für diesen Arbeitsauftrag.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente)
 
-### Sortimente (SubmodelElementCollection)
+### Sortiment (SubmodelElementCollection)
 
-TODO add description here
+Einzelnes Sortiment für einen Arbeitsauftrag.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment)
 
 ### Nummer (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nummer des Sortiments im Arbeitsauftrag (eindeutig innerhalb des Arbeitsauftrags).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Nummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Nummer)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Nummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Nummer)
 
 ### Sortimentstyp (SubmodelElement)
 
-TODO add description here
+Typ des Sortiments.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#sortimentstyp--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Sortimentstyp](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Sortimentstyp)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sortimentstyp](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sortimentstyp)
 
 ### Sorte (SubmodelElement)
 
-TODO add description here
+Sorte des Sortiments.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#sorte--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Sorte](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Sorte)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sorte](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Sorte)
 
 ### Holzart (SubmodelElement)
 
-TODO add description here
+Holzart des Sortiments.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzart--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Holzart](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Holzart)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Holzart](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Holzart)
 
 ### Gueteklasse (SubmodelElement)
 
-TODO add description here
+Güteklasse des Sortiments.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#gueteklasse--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Gueteklasse)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Gueteklasse)
 
 ### LaengeVon (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Das Sortiment dieses Arbeitsauftrags enthält Stämme ab dieser Länge, in m
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/LaengeVon](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/LaengeVon)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeVon](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeVon)
 
 ### LaengeBis (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Das Sortiment dieses Arbeitsauftrags enthält Stämme bis zu dieser Länge, in m
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/LaengeBis](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/LaengeBis)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeBis](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/LaengeBis)
 
 ### Mindestzopf (SubmodelElement)
 
-TODO add description here
+Mindestdurchmesser des Zopfs in diesem Sortiment dieses Arbeitsauftrags, in cm ohne Rinde
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Mindestzopf](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Mindestzopf)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mindestzopf](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mindestzopf)
 
 ### MaxDurchmesser (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Maximaler Durchmesser der Stämme in diesem Sortiment dieses Arbeitsauftrags, in cm ohne Rinde
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/MaxDurchmesser](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/MaxDurchmesser)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/MaxDurchmesser](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/MaxDurchmesser)
 
 ### Kaeufer (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer)
-
-### Kontaktrolle (SubmodelElement)
+Beschreibung des Käufers dieses Sortiments dieses Arbeitsauftrags.
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Kontaktrolle)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer)
 
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Käufers des Sortiments im Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Firmenname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Firmenname)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Firmenname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Käufers des Sortiments im Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Anrede](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Anrede)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Anrede](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
+Vorname des Käufers des Sortiments im Arbeitsauftrag.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Vorname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Vorname)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Vorname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Käufers des Sortiments im Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Nachname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Nachname)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Nachname](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
+Adresse des Käufers des Sortiments im Arbeitsauftrag.
 
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Adresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Adresse)
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Adresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Adresse)
+### Telefonnummern (SubmodelElementList)
 
-### Telefonnummern (SubmodelElement)
+Liste von Telefonnummern des Käufers des Sortiments im Arbeitsauftrag.
 
-TODO add description here
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern)
 
-Basiert auf externer Definition: -
+### Telefonnummer (SubmodelElement)
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Telefonnummern)
+Einzelne Telefonnummer des Käufers des Sortiments im Arbeitsauftrag.
 
-### Telefonnummern (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Telefonnummern/Telefonnummern{00})
-
-### Emailadressen (SubmodelElement)
+Liste von E-Mail-Adressen des Käufers des Sortiments im Arbeitsauftrag.
 
-TODO add description here
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen)
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Emailadressen](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Emailadressen)
+### Emailadresse (SubmodelElement)
 
-### Emailadressen (SubmodelElement)
+Einzelne E-Mail-Adresse des Käufers des Sortiments im Arbeitsauftrag.
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Käufers des Sortiments im Arbeitsauftrag, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Umsatzbesteuerung)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Käufers des Sortiments im Arbeitsauftrag.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/IBAN](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/IBAN)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/IBAN](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
+Umsatzsteuer-ID des Käufers des Sortiments im Arbeitsauftrag.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Steuernummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Kaeufer/Steuernummer)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Steuernummer](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Kaeufer/Steuernummer)
 
 ### Laengenzugabe (SubmodelElement)
 
-TODO add description here
+Optionale Eintragung des Übermaßes von Stammlängen
 
 Basiert auf externer Definition: -
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Laengenzugabe](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Laengenzugabe)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Laengenzugabe](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Laengenzugabe)
 
 ### Mengenschaetzung (SubmodelElement)
 
-TODO add description here
+Einschätzung der Menge ohne vorhergehende detaillierte Vermessung
 
 Basiert auf externer Definition: -
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Mengenschaetzung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Mengenschaetzung)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mengenschaetzung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Mengenschaetzung)
 
 ### Bemerkung (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Bemerkung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Bemerkung)
-
-### Ergebnis (SubmodelElement)
+Bemerkung zu Sortiment eines Arbeitsauftrags.
 
-TODO add description here
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Bemerkung](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Bemerkung)
 
-Basiert auf externer Definition: -
+### Ergebnis (SubmodelElementList)
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Ergebnis](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Ergebnis)
+Beschreibung des Ergebnisses eines Arbeitsauftrags in Form einer Liste entstandener Holzlisten.
 
-### Ergebnis (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis)
 
-TODO add description here
+### Holzliste (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelnes Ergebnis eines Arbeitsauftrags in Form einer entstandenen Holzliste.
 
-[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Ergebnis/Ergebnis{00}](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortimente{00}/Ergebnis/Ergebnis{00})
+[https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis/Holzliste](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Sortimente/Sortiment/Ergebnis/Holzliste)
 
 ### Karte (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Karte (URL oder BASE64-kodierte Bilddaten) zur Beschreibung des Arbeitsauftrags.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Karte](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Karte)
 
 ### Auftragsstatus (SubmodelElement)
 
-TODO add description here
+Status des Arbeitsauftrags.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#auftragsstatus--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Auftragsstatus](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/Auftragsstatus)
 
 ### ZuFaellendeBaeume (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung der im Rahmen des Arbeitsauftrags zu fällenden Bäume.
 
 [https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/ZuFaellendeBaeume](https://admin-shell.io/kwh40/forestml40/Arbeitsauftrag/0/1/ZuFaellendeBaeume)
 
 ## Holzliste (Submodel Template)
 
-TODO add description here
+Beschreibung einer Holzliste, d.h. einer Auflistung geschlagenen Holzes.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste](https://admin-shell.io/kwh40/forestml40/Holzliste)
 
 ### Kopfdaten (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Kopfdaten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten)
 
 ### Projekt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Projektbezeichnung für die Holzliste, Freitextfeld.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Projekt](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Projekt)
 
 ### Hieb (SubmodelElement)
 
-TODO add description here
+Informationen zum Hieb.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#hieb--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Hieb](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Hieb)
 
 ### Ernte (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Informationen zur Ernte, Freitextfeld.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Ernte](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Ernte)
 
 ### Lieferant (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Firmenname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Anrede](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Vorname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Nachname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Adresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummer (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne Telefonnummer des Lieferanten der Holzliste.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefonnummern{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Telefonnummern/Telefonnummer)
 
-### Emailadressen (SubmodelElement)
+### Emailadressen (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen)
 
-### Emailadressen (SubmodelElement)
+### Emailadresse (SubmodelElement)
 
-TODO add description here
+Einzelne E-Mail-Adresse des Lieferanten der Holzliste.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Lieferanten der Holzliste, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/IBAN](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Lieferanten der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Steuernummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Lieferant/Steuernummer)
 
 ### Kaeufer (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Käufders der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Firmenname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Anrede](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Vorname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Nachname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Adresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Adresse)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummern (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummer (SubmodelElement)
 
-TODO add description here
+Einzelne Telefonnummer des Käufers der Holzliste.
 
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefonnummer)
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Telefonnummern/Telefonnummern{00})
+### Emailadressen (SubmodelElementList)
 
-### Emailadressen (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen)
 
-### Emailadressen (SubmodelElement)
+### Emailadresse (SubmodelElement)
 
-TODO add description here
+Einzelne E-Mail-Adresse des Käufers der Holzliste.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Käufers der Holzliste, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/IBAN](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Käufers der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Steuernummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Kaeufer/Steuernummer)
 
 ### Fuhrmann (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann)
 
-### Kontaktrolle (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Kontaktrolle](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Kontaktrolle)
-
 ### Firmenname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Firmenname des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Firmenname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Firmenname)
 
 ### Anrede (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Anrede des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Anrede](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Anrede)
 
 ### Vorname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Vorname des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Vorname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Vorname)
 
 ### Nachname (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Nachname des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Nachname](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Nachname)
 
 ### Adresse (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Adresse des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Adresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Adresse)
 
-### Telefonnummern (SubmodelElement)
-
-TODO add description here
+### Telefonnummern (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von Telefonnummern des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern)
 
-### Telefonnummern (SubmodelElement)
+### Telefonnummer (SubmodelElement)
 
-TODO add description here
+Einzelne Telefonnummer des Fuhrmanns der Holzliste.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefonnummern{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefonnummern{00})
-
-### Emailadressen (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefonnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Telefonnummern/Telefonnummer)
 
-TODO add description here
+### Emailadressen (SubmodelElementList)
 
-Basiert auf externer Definition: -
+Liste von E-Mail-Adressen des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen)
 
-### Emailadressen (SubmodelElement)
-
-TODO add description here
+### Emailadresse (SubmodelElement)
 
-Basiert auf externer Definition: -
+Einzelne E-Mail-Adresse des Fuhrmanns der Holzliste.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Emailadressen{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Emailadressen{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Emailadresse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Emailadressen/Emailadresse)
 
 ### Umsatzbesteuerung (SubmodelElement)
 
-TODO add description here
+Hinterlegter Steuersatz des Fuhrmanns der Holzliste, der für die Steuerberechnung bei Verkäufen benötigt wird.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#umsatzbesteuerung--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Umsatzbesteuerung](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Umsatzbesteuerung)
 
 ### IBAN (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+IBAN des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/IBAN](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/IBAN)
 
 ### Steuernummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Umsatzsteuer-ID des Fuhrmanns der Holzliste.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Steuernummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Fuhrmann/Steuernummer)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notizen zur Holzliste, Freitextfeld.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Notiz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Kopfdaten/Notiz)
 
 ### PolterListe (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste von Poltern, welche die Holzliste umfasst.
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe)
 
-### PolterListe (SubmodelElementCollection)
+### Polter (SubmodelElementCollection)
 
-TODO add description here
+Beschreibung eines Polters in der Holzliste.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter)
 
 ### Standort (SubmodelElementCollection)
 
-TODO add description here
+Beschreibung des Standorts des Polters.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort)
 
 ### Koordinate (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Lage des Polters in Geo-Koordinaten.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate)
 
 ### x (SubmodelElement)
 
-TODO add description here
+Erster (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Polters. 
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/x)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/x](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/x)
 
 ### y (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Zweiter (gemäß Koordinatensystem-Definition) Koordinatenwert zur Lage des Polters.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/y)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/y](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/y)
 
 ### alt (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Höhenangabe über N.N. zur Lage des Polters.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/alt)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/alt](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/alt)
 
 ### crs (SubmodelElement)
 
-TODO add description here
+Verwendetes Koordinatensystem zur Beschreibung der Lage des Polters.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#crs--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Koordinate/crs)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/crs](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Koordinate/crs)
 
 ### Notiz (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Notiz zur Beschreibung der Lage des Polters, Freitext.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Notiz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Standort/Notiz)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Notiz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Standort/Notiz)
 
 ### Polternummer (SubmodelElement)
 
-TODO add description here
+Identifier für den Polter, einzigartig innerhalb der Holzliste.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Polternummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Polternummer)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polternummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polternummer)
 
 ### Vermessungsverfahren (SubmodelElement)
 
-TODO add description here
+Definition des für den Polter verwendeten Vermessungsverfahrens.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#vermessungsverfahren--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Vermessungsverfahren](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Vermessungsverfahren)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Vermessungsverfahren](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Vermessungsverfahren)
 
 ### Messergebnis_EinzelstammListe (SubmodelElementCollection)
 
-TODO add description here
+Beschreibung eines Polters auf Basis einzelner vermessener Stämme.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe)
 
 ### Einzelstaemme (SubmodelElementList)
 
-TODO add description here
+Liste an einzelnen Stämmen die im Polter gemessen wurden.
 
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme)
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme)
+### Einzelstamm (SubmodelElementCollection)
 
-### Einzelstaemme (SubmodelElementCollection)
+Einzelner Stamm, der im Polter gemessen wurde, und seine Eigenschaften.
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm)
 
 ### Menge (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Volumen des Einzelstamms in X,XXX Fm o. R. (Festmeter ohne Rinde).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Menge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Menge)
 
 ### Stammlaenge (SubmodelElement)
 
-TODO add description here
+Länge des Stamms in X,XX m.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Stammlaenge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammlaenge)
 
 ### Stammnummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Numerischer Identifier für einen Stamm in der Holzliste, eindeutig pro Polter.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Stammnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Stammnummer)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Stammnummer)
 
 ### Gueteklasse (SubmodelElement)
 
-TODO add description here
+Beschreibt die Güteklasse des einzelnen Stamms im Polter.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#gueteklasse--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Gueteklasse)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Gueteklasse)
 
 ### Mittendurchmesser (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Mittendurchmesser des Stamms in X cm.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Mittendurchmesser](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Mittendurchmesser)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Mittendurchmesser)
 
 ### Klammerstammabschnittsnummer (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Numerischer Identifier für den Abschnitt eines Einzelstamms, wird als Zahl X hinter der Stammnummer hinzugefügt (z.B. 1.X).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Klammerstammabschnittsnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstaemme{00}/Klammerstammabschnittsnummer)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_EinzelstammListe/Einzelstaemme/Einzelstamm/Klammerstammabschnittsnummer)
 
 ### Messergebnis_RaummassIndustrieholz (SubmodelElementCollection)
 
-TODO add description here
+Beschreibung eines Polters zur Industrieholz-Nutzung in Form von Menge und Stammlänge.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz)
 
 ### Menge (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Menge im Industrieholz-Polter in X,XX Fm o. R. (Festmeter ohne Rinde).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Menge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Menge)
 
 ### Stammlaenge (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Stammlänge im Industrieholz-Polter in X,XX Metern.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Stammlaenge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Stammlaenge)
 
 ### Stammanzahl (SubmodelElementCollection)
 
-TODO add description here
+Menge im Industrieholz-Polter in X,XX Fm o. R. (Festmeter ohne Rinde).
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Stammanzahl](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassIndustrieholz/Stammanzahl)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Stammanzahl](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassIndustrieholz/Stammanzahl)
 
 ### Messergebnis_RaummassEnergieholz (SubmodelElementCollection)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Beschreibung eines Polters zur Energieholz-Nutzung in Form von Menge und Stammlänge.
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz)
 
 ### Menge (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Menge im Energieholz-Polter in X,XX Fm o. R. (Festmeter ohne Rinde).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz/Menge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz/Menge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz/Menge)
 
 ### Stammlaenge (SubmodelElement)
 
-TODO add description here
+Stammlänge im Energieholz-Polter in X,XX Metern.
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Messergebnis_RaummassEnergieholz/Stammlaenge)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz/Stammlaenge](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Messergebnis_RaummassEnergieholz/Stammlaenge)
 
 ### Polterstatus (SubmodelElement)
 
-TODO add description here
+Status des Polters, um Logistikprozess abzubilden (z. B. In Planung, Bereitgestellt, Verladen ...).
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#polterstatus--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Polterstatus](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Polterstatus)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polterstatus](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Polterstatus)
 
-### Fotos (SubmodelElement)
+### Fotos (SubmodelElementList)
 
-TODO add description here
+Fotos des Polters (Liste von URLs).
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Fotos](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Fotos)
-
-### Fotos (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos)
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Fotos/Fotos{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Fotos/Fotos{00})
+### Foto (SubmodelElement)
 
-### Videos (SubmodelElement)
+Foto des Polters (URL)
 
-TODO add description here
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos/Foto](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Fotos/Foto)
 
-Basiert auf externer Definition: -
+### Videos (SubmodelElementList)
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Videos](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Videos)
+Videos des Polters (Liste von URLs)
 
-### Videos (SubmodelElement)
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos)
 
-TODO add description here
+### Video (SubmodelElement)
 
-Basiert auf externer Definition: -
+Video des Polters (URL).
 
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Videos/Videos{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/PolterListe{00}/Videos/Videos{00})
+[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos/Video](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/PolterListe/Polter/Videos/Video)
 
 ### Sortimentstyp (SubmodelElement)
 
-TODO add description here
+Beschreibung des Sortiments der Holzliste (Stammholz, Industrieholz, Energieholz).
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#sortimentstyp--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sortimentstyp](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sortimentstyp)
 
 ### Sorte (SubmodelElement)
 
-TODO add description here
+Beschreibung der Sorte der Holzliste (lang, kurz, Abschnitte ...).
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#sorte--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sorte](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Sorte)
 
 ### Holzart (SubmodelElement)
 
-TODO add description here
+Name der Holzart.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzart--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzart](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzart)
 
 ### Holzlistenstatus (SubmodelElement)
 
-TODO add description here
+Status der Holzliste.
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzlistenstatus--enum-).
 
 [https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzlistenstatus](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Holzlistenstatus)
 
-### Preismatrix (SubmodelElementList)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix)
-
-### Preismatrix (SubmodelElementCollection)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00})
-
-### Preis (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/Preis](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/Preis)
-
-### MittendurchmesserVon (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserVon](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserVon)
-
-### MittendurchmesserBis (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserBis](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/MittendurchmesserBis)
-
-### Gueteklasse (SubmodelElement)
-
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Holzliste/0/1/Preismatrix/Preismatrix{00}/Gueteklasse)
-
 ## Holzpreisbereiche (Submodel Template)
 
-TODO add description here
+Bestimmung des Holzpreises je nach Stärkeklasse und Güteklasse.
 
 [https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche)
 
 ### Holzpreisbereiche (SubmodelElementList)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Liste der Holzpreise je nach Stärkeklasse und Güteklasse.
 
 [https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche)
 
-### Holzpreisbereiche (SubmodelElementCollection)
-
-TODO add description here
+### Holzpreisbereich (SubmodelElementCollection)
 
-Basiert auf externer Definition: -
+Bestimmung des Holzpreises je nach Stärkeklasse und Güteklasse.
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00})
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich)
 
 ### Baumart (SubmodelElement)
 
-TODO add description here
+Bestimmung der Baumart, die für den Holzpreisbereich gilt
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#holzart--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Baumart](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Baumart)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Baumart](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Baumart)
 
 ### PreisVon (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Bestimmung Minimum-Preis der für den Holzpreisbereich gilt
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/PreisVon](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/PreisVon)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/PreisVon](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/PreisVon)
 
 ### PreisBis (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Bestimmung Maximum-Preis der für den Holzpreisbereich gilt
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/PreisBis](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/PreisBis)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/PreisBis](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/PreisBis)
 
 ### Sorte (SubmodelElement)
 
-TODO add description here
+Bestimmung der Sorte, die für den Holzpreisbereich gilt
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#sorte--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Sorte](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Sorte)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Sorte](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Sorte)
 
 ### Gueteklasse (SubmodelElement)
 
-TODO add description here
+Bestimmung der Güteklasse, die für den Holzpreisbereich gilt
 
-Basiert auf externer Definition: -
+Wertebereich siehe [hier](#gueteklasse--enum-).
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Gueteklasse)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Gueteklasse](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Gueteklasse)
 
 ### MittendurchmesserVon (SubmodelElement)
 
-TODO add description here
+Bestimmung des Minimum Durchmessers der für den Holzpreisbereich gilt
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/MittendurchmesserVon](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/MittendurchmesserVon)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/MittendurchmesserVon](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/MittendurchmesserVon)
 
 ### MittendurchmesserBis (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
+Bestimmung des Maximum Durchmessers der für den Holzpreisbereich gilt
 
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/MittendurchmesserBis](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/MittendurchmesserBis)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/MittendurchmesserBis](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/MittendurchmesserBis)
 
 ### Holzliste (SubmodelElement)
 
-TODO add description here
+Angehängte Holzliste, die für den Holzpreisbereich gilt
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Holzliste](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Holzliste)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Holzliste](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Holzliste)
 
 ### Datum (SubmodelElement)
 
-TODO add description here
+Zeitpunkt der Bestimmung des Holzpreisbereichs
 
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Datum](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Datum)
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Datum](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Datum)
 
 ### Quelle (SubmodelElement)
 
-TODO add description here
-
-Basiert auf externer Definition: -
-
-[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Quelle](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereiche{00}/Quelle)
-
+Bestimmung der Herkunft/Quelle der Anfrage des Holzpreisbereichs
+
+[https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Quelle](https://admin-shell.io/kwh40/forestml40/Holzpreisbereiche/0/1/Holzpreisbereiche/Holzpreisbereich/Quelle)
+
+# Enumerationen
+
+## Sortimentstyp (Enum)
+
+Enumerationstyp zur Definition des Typs des Holzsortiments, basierend auf https://eldatstandard.de/dokumentation/1.0.2/grade (dortige Definitionen aufgetrennt nach Typ (z.B. ‚Stammholz‘) und Sorte (z.B. ‚lang‘) des Sortiments.
+
+ * st - Stammholz
+ * en - Energieholz
+ * in - Industrieholz
+ * so - Sondersortimente
+
+## Sorte (Enum)
+
+Enumerationstyp zur Definition der Sorte des Holzsortiments, basierend auf https://eldatstandard.de/dokumentation/1.0.2/grade (dortige Definitionen aufgetrennt nach Typ (z.B. ‚Stammholz‘) und Sorte (z.B. ‚lang‘) des Sortiments.
+
+ * lg - lang
+ * kz - kurz
+ * ab - Abschnitte
+ * hs - Hackschnitzel
+
+## Holzart (Enum)
+
+Enumerationstyp zur Definition der verschiedenen Holzarten bzw. Baumarten übernommen von https://eldatstandard.de/dokumentation/1.0.2/species.
+
+ * xy - Keine
+ * ndh - Nadelholz
+ * fi - Fichte
+ * gfi - Gemeine Fichte
+ * ofi - Omorikafichte
+ * sfi - Sitkafichte
+ * swfi - Schwarzfichte
+ * bfi - Blaufichte Stechfichte
+ * efi - Engelmannsfichte
+ * wfi - Weißfichte
+ * sofi - Sonstige Fichten
+ * kie - Kiefer
+ * ki - Gemeine Kiefer
+ * bki - Bergkiefer
+ * ski - Schwarzkiefer
+ * rki - Rumelische Kiefer
+ * zki - Zirbelkiefer
+ * wki - Weymouthskiefer
+ * mki - Murraykiefer
+ * gki - Gelbkiefer
+ * soki - Sonstige Kiefer
+ * ta - Tanne
+ * wta - Weißtanne
+ * ata - Amerikanische Edeltanne
+ * cta - Coloradotanne
+ * kta - Küstentanne
+ * nita - Nikkotanne
+ * nota - Nordmannstanne
+ * vta - Veitchtanne
+ * sota - Sonstige Tannen
+ * dgl - Douglasie
+ * la - Lärche
+ * ela - Europäische Lärche
+ * jla - Japanische Lärche (+Hybrid)
+ * sla - Sonstige Lärchen
+ * sonb - Sonstige Nadelbäume
+ * lb - Lebensbaum
+ * ht - Hemlockstanne
+ * mam - Mammutbaum
+ * eib - Eibe
+ * sz - Lawsonszypresse
+ * bu - Buche
+ * sei - Stieleiche
+ * tei - Traubeneiche
+ * rei - Roteiche
+ * zei - Zerreiche
+ * suei - Sumpfeiche,
+ * ei - Eiche
+ * que - sonstige Eichen
+ * es - Esche
+ * ges - Gemeine Esche
+ * wes - Weißesche
+ * fra - Sonstige Eschen
+ * hbu - Hainbuche (Weißbuche)
+ * ah - Ahorn
+ * bah - Bergahorn
+ * sah - Spitzahorn
+ * fah - Feldahorn
+ * eah - Eschenblättriger Ahorn
+ * siah - Silberahorn
+ * ace - Sonstige Ahorne
+ * li - Linde
+ * wli - Winterlinde
+ * sli - Sommerlinde
+ * til - Sonstige Linden
+ * rob - Robinie
+ * akz - Akazie
+ * ul - Ulme
+ * bul - Bergulme
+ * ful - Feldulme
+ * flu - Flatterulme
+ * ulm - Sonstige Ulmen
+ * rka - Rosskastanie
+ * eka - Edelkastanie
+ * ka - Kastanie
+ * mau - Weißer Maulbeerbaum
+ * nus - Nussbaum
+ * wnu - Walnuss
+ * snu - Schwarznuss (+Hybriden)
+ * jug - Sonstige Nussbäume
+ * ste - Stechpalme
+ * pla - Platane
+ * apl - Ahornblättrige Platane
+ * solh - Sonstige Laubbäume mit hoher Lebensdauer
+ * gbi - Gemeine Birke
+ * mbi - Moorbirke (+Karpatenbirke)
+ * bi - Birke
+ * erl - Erle
+ * ser - Schwarzerle
+ * wer - Weißerle Grauerle
+ * ger - Grünerle
+ * aln - Sonstige Erlen
+ * pap - Pappel
+ * zpa - Aspe Zitterpappel
+ * spa - Europäische Schwarzpappel
+ * spah - Schwarzpappel Hypriden
+ * gpa - Graupappel (+Hybriden)
+ * wpa - Silberpappel Weißpappel
+ * bpa - Balsampappel
+ * bpah - Balsampappel Hybriden
+ * pop - Sonstige Pappeln
+ * sor - Sorbusarten
+ * sso - Sonstige Sorbusarten
+ * vb - Vogelbeere
+ * els - Elsbeere
+ * spe - Speierling
+ * meb - Echte Mehlbeere
+ * wei - Weide
+ * swei - Salweide
+ * kir - Kirsche
+ * gtk - Gewöhnliche Traubenkirsche
+ * vk - Vogelkirsche
+ * stk - Spätblühende Traubenkirsche
+ * pru - Sonstige Kirschen
+ * zwe - Zwetschge
+ * hic - Hickory
+ * soln - Sonstige Laubbäume mit niedriger Lebensdauer
+ * fau - Gemeiner Faulbaum Pulverholz
+ * wob - Wildobst (unbestimmt)
+ * wap - Holzapfel Wildapfel
+ * wbi - Holzbirne Wildbirne
+ * has - Baumhasel
+ * got - Gemeiner Götterbaum
+ * slbh - Sonstiges Hartlaubholz
+ * lbh - Laubholz
+ * slbw - Sonstiges Weichlaubholz
+ * str - Strauch (unbestimmt)
+ * fita - Mischsortiment Fichte/Tanne    
+
+## Vermessungsverfahren (Enum)
+
+Enumerationstyp zur Definition der Vermessungsart, d.h. dem Verfahren das zur Vermessung verwendet wurde (gegebenenfalls nicht abrechnungsrelevant), übernommen von https://eldatstandard.de/dokumentation/1.0.2/measuring_medium.
+
+ * mit - Mittenstärkenvermessung
+ * mis - Mittenstärkenstichprobenverfahren
+ * arm - Raummaßverfahren allgemein
+ * srm - Sektionsraummaßverfahren
+ * krm - Konventionelles Raummaßverfahren
+ * stf - Stirnflächenverfahren
+ * zae - Zählung
+ * stz - Schätzung
+ * wev - Werkvermessung
+ * gwm - Gewichtsmaßermittlung
+ * gwa - Gewichtsmaßermittlung atro
+ * gwl - Gewichtsmaßermittlung lutro
+ * stg - Stangenvermessung
+ * zsv - Zopfstärkenvermessung
+ * fra - Fremdvermessung
+ * lfm - Laufmeter
+ * son - Sonstiges
+ * hvm - Harvestermaß
+ * opv - optische Poltervermessung
+ * wam - Waldmaß
+ * xy - Keins
+
+##  Gueteklasse (Enum)
+
+Enumerationstyp zur Definition der Güteklasse (Qualität) des Holzes, übernommen von https://eldatstandard.de/dokumentation/1.0.2/qual_type.
+
+ * o - Ohne Qualität
+ * in - Normale Qualität
+ * if - Fehlerhafte Qualität
+ * ik - Krank
+ * fk - Qualität fehlerhaft/krank
+ * nf - Qualität normal/fehlerhaft
+ * nfk - Qualität normal/fehlerhaft/krank
+ * b - Qualität B
+ * bk - Qualität B Rotkern
+ * c - Qualität C
+ * d - Qualität D
+ * oa - Ohne Qualitätsausscheidung
+ * bc - B/C Mischqualität
+ * cd - C/D Mischqualität
+ * bcd - B/C/D Mischqualität
+ * a - Qualität A
+ * ak - Qualität A Rotkern
+
+In Deutschland keine Anwendung finden dabei:
+
+ * a_fu - Furnierholz (ÖNORM L 2021)
+ * a_is - Schleifholz (ÖNORM L 2021)
+ * a_if - Faserholz (ÖNORM L 2021)
+ * a_i2 - Sekunda (ÖNORM L 2021)
+ * a_id - Industriedünnholz (ÖNORM L 2021)
+ * a_im - Manipulationsholz (ÖNORM L 2021)
+ * a_sp - Splitterholz (ÖNORM L 2021)
+ * a_y - Braunbloche (ÖNORM L 2021)
+ * a_x - C-Kreuz (noch sägefähiger Ausschuss) (ÖNORM L 2021)
+ * a_z - Ausschuss (ÖNORM L 2021)
+ * a_bh - Brennholz (ÖNORM L 2021)
+ * ch_k - Qualität Käferholz
+ * ch_ab - Qualität AB
+ * ch_bc - Qualität BC
+ * ch_cd - Qualität CD
+ * ch_abc - Qualität ABC
+ * ch_r - Qualität Rotholz
+ * ch_1 - Qualität 1. Klasse
+ * ch_2 - Qualität 2. Klasse
+ * ch_bk - Braunkern
+ * ch_sk - Spritzkern
+
+## CRS (Enum)
+
+ * EPSG:25832 - ETRS89 / UTM zone 32N
+ * ...
+
+Enumerationstyp zur Definition von Codes für Geokoordinatensysteme (Coordinate Reference System, CRS) basierend auf https://spatialreference.org/.
+
+## Verkaufsstatus (Enum)
+
+Enumerationstyp zur Definition des Status im Verkaufsprozess.
+
+ * Entwurf
+ * Veroeffentlicht
+ * HatPreisvorschlaege
+ * Verkauft
+ * Archiviert
+
+## Auftragsstatus (Enum)
+
+Enumerationstyp zur Definition des Auftragsstatus, übernommen von https://eldatstandard.de/dokumentation/1.0.2/statusid.
+
+ * 10 - Erstellt
+ * 20 - Geändert
+ * 30 - Storniert
+ * 40 - Gesendet
+ * 50 - Angenommen
+ * 60 - Abgelehnt
+ * 70 - Disponiert
+ * 80 - Auftragsbeginn
+ * 90 - Unterbrochen
+ * 100 - Abgebrochen
+ * 110 - Fahre ins Revier
+ * 120 - Lieferschein erstellt
+ * 130 - Verlasse Revier
+ * 140 - Am Lieferort angekommen
+ * 150 - Auftragsende
+
+## Hieb (Enum)
+
+ * sh - Sammelhieb
+ * df - Durchforstung
+ * kl - Kalamität
+
+Eigendefinition.
+
+## Bereitstellungsart (Enum)
+
+Enumerationstyp zur Definition der Bereitstellungsart des Holzes, übernommen von https://eldatstandard.de/dokumentation/1.0.2/delivery_term.
+
+ * uws - Unfrei Waldstraße
+ * uwe - Unfrei Werk
+ * uzw - Unfrei Zwischenlager
+ * uwa - Unfrei Waggon
+ * usc - Unfrei Schiff
+ * exw - Frei Stock / Ab Werk incoterm
+ * fca - Frei Waldstraße / Frei Frachtführer incoterm
+ * fob - Frei Schiff/Waggon / Frei an Bord incoterm
+ * dat - Frei Zwischenlager / Geliefert frei Terminal incoterm
+ * ddp - Frei Werk / Geliefert verzollt incoterm
+ * cpt - Frachtfrei bis incoterm
+ * cip - Frachtfrei versichert bis incoterm
+ * dap - Geliefert benannter Ort incoterm
+ * fas - Frei längsseits Schiff incoterm
+ * cfr - Kosten und Fracht incoterm
+ * cif - Frachtfrei incoterm
+
+## Abrechnungsmass (Enum)
+
+Enumerationstyp zur Definition des Abrechnungsmaßes im Sinne des abrechnungsrelevanten Vermessungsverfahrens („Angabe des Vermessungsverfahrens nach dem abgerechnet wird“), übernommen von https://eldatstandard.de/dokumentation/1.0.2/measurement_method.
+
+ * mit - Mittenstärkenvermessung
+ * mis - Mittenstärkenstichprobenverfahren
+ * arm - Raummaßverfahren allgemein
+ * srm - Sektionsraummaßverfahren
+ * krm - Konventionelles Raummaßverfahren
+ * stf - Stirnflächenverfahren
+ * zae - Zählung
+ * stz - Schätzung
+ * wev - Werkvermessung
+ * gwm - Gewichtsmaßermittlung
+ * gwa - Gewichtsmaßermittlung atro
+ * gwl - Gewichtsmaßermittlung lutro
+ * stg - Stangenvermessung
+ * zsv - Zopfstärkenvermessung
+ * fra - Fremdvermessung
+ * lfm - Laufmeter
+ * son - Sonstiges
+ * hvm - Harvestermaß
+ * opv - optische Poltervermessung
+ * wam - Waldmaß
+ * xy - Keins
+
+## Umsatzbesteuerung (Enum)
+
+ * regelbesteuert
+ * pauschalbesteuert
+ * sortimentsbezogen
+
+Eigendefinition.
+
+## Polterstatus (Enum)
+
+Beschreibung logistische Aspekte. Für zukünftige Nutzung reserviert.
+
+## Holzlistenstatus (Enum)
+
+Beschreibung kaufmännische Aspekte. Für zukünftige Nutzung reserviert.
diff --git a/modellierung/holzliste.puml b/modellierung/holzliste.puml
index a34bd8fade4ecbfb4c2dcf954d133cf6d4f3fdb3..55da882d5bed032f4dd912ce0481a1dc4624381c 100644
--- a/modellierung/holzliste.puml
+++ b/modellierung/holzliste.puml
@@ -58,7 +58,6 @@ class Beobachtung <<Submodel>>{
 }
 
 class ZuFaellendeBaeume <<Submodel>>{
-    Name: String [1]
     Beschreibung: String [1]
     Umring: SEC.Umring [1]
     Position: SEC.Standort [0..1]
@@ -92,7 +91,10 @@ class Preismatrixeintrag <<SubmodelElementCollection>>{
     Preis: Float [1]
     MittendurchmesserVon: Float [0..1]
     MittendurchmesserBis: Float [0..1]
-    Gueteklasse: ENUM.Gueteklasse [0..1]
+    GueteklasseVon: ENUM.Gueteklasse [0..1]
+    GueteklasseBis: ENUM.Gueteklasse [0..1]
+    Sortimentstyp: ENUM.Sortimentstyp [0..1]
+    Sorte: ENUM.Sorte [0..1]
 }
 
 Verkaufslos *--> "0..*" Preismatrixeintrag
@@ -154,7 +156,6 @@ class Holzliste <<Submodel>>{
     Holzart: ENUM.Holzart [1]
     ' https://eldatstandard.de/dokumentation/1.0.2/species
     Holzlistenstatus: ENUM.Holzlistenstatus[1]
-    Preismatrix: SEList.SEC.Preismatrixeintrag [0..n]
 }
 
 class Kopfdaten <<SubmodelElementCollection>>{
@@ -174,7 +175,6 @@ class Kopfdaten <<SubmodelElementCollection>>{
 
 class Kontakt <<SubmodelElementCollection>>{
     'https://eldatstandard.de/dokumentation/1.0.2/consumer
-    Kontaktrolle: ENUM.Kontaktrolle [1]
     Firmenname: String [0..1]
     Anrede: String [0..1]
     Vorname: String [0..1]
@@ -195,9 +195,8 @@ class Polter <<SubmodelElementCollection>> {
     Messergebnis_RaummassIndustrieholz : SEC.RaummassIndustrieholz [0..1]
     Messergebnis_RaummassEnergieholz : SEC.RaummassEnergieholz [0..1]
     Polterstatus: ENUM.Polterstatus [1]
-    Fotos: SEList.URL|Base64 [0..*]
+    Fotos: SEList.URL [0..*]
     Videos: SEList.URL [0..*]
-    'Foto TBD
 }
 
 class Standort <<SubmodelElementCollection>> {
@@ -246,7 +245,6 @@ class RaummassEnergieholz <<SubmodelElementCollection>> {
 
 Holzliste *-> Kopfdaten
 'Kopfdaten --> Kontakt
-Holzliste --> "0..*" Preismatrixeintrag
 Holzliste *-- "*" Polter
 Polter *-- "0..1" RaummassIndustrieholz
 Polter *-- "0..1" RaummassEnergieholz
diff --git a/modellierung/holzliste_enums.puml b/modellierung/holzliste_enums.puml
index 8f6b6073ba453073a3bdf1271acd2a4bc95a2c0b..002fb6d193d2d9fef9995a6060770ceb8875d4be 100644
--- a/modellierung/holzliste_enums.puml
+++ b/modellierung/holzliste_enums.puml
@@ -262,17 +262,6 @@ enum Hieb{
 }
 note top #FF0000: TODO Eigendefinition?
 
-enum Kontaktrolle{
-    Waldbesitzer
-    Lieferant
-    Verkaeufer
-    Kaeufer
-    Fuhrmann
-    UnternehmerHolzernte
-    UnternehmerHolzrueckung
-}
-note top: Eigendefinition
-
 enum Bereitstellungsart{
     uws - Unfrei Waldstraße
     uwe - Unfrei Werk