diff --git a/extra/emacs/readme.md b/extra/emacs/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..2636eab68b9521acf75c190e3fcf34e6e86fc60b
--- /dev/null
+++ b/extra/emacs/readme.md
@@ -0,0 +1,12 @@
+# Emacs extras #
+
+This directory contains extra utils for use with Emacs.
+
+## Snippets ##
+
+if you copy the contents of the `snippets` directory to your `~/.emacs.d/snippets/`, the following
+*yasnippet* snippets will become available:
+
+- yaml-mode:
+  - `RT`: Insert a new RecordType, with inheritance and properties sections.
+  - `prop`: Insert a new Property into a RecordType, with datatype and description.
diff --git a/extra/emacs/snippets/yaml-mode/Property inside RecordType b/extra/emacs/snippets/yaml-mode/Property inside RecordType
new file mode 100644
index 0000000000000000000000000000000000000000..92769b78e5496ec4cb545556b3eff3fc924c872d
--- /dev/null
+++ b/extra/emacs/snippets/yaml-mode/Property inside RecordType	
@@ -0,0 +1,34 @@
+# -*- mode: snippet -*-
+# This file is a part of the CaosDB Project.
+#
+# Copyright (C) 2022 IndiScale GmbH <info@indiscale.com>
+# Copyright (C) 2022 Daniel Hornung <d.hornung@indiscale.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# name: Property inside RecordType
+# key: prop
+# expand-env: ((yas-indent-line 'fixed))
+# --
+${1:property_name}:
+  datatype: ${2:$$(yas-choose-value '("BOOLEAN"
+                                      "DATETIME"
+                                      "DOUBLE"
+                                      "FILE"
+                                      "INTEGER"
+                                      "LIST"
+                                      "REFERENCE"
+                                      "TEXT"))}
+  description: ${3:description text}
+$0
\ No newline at end of file
diff --git a/extra/emacs/snippets/yaml-mode/RecordType b/extra/emacs/snippets/yaml-mode/RecordType
new file mode 100644
index 0000000000000000000000000000000000000000..6b4a9c263806b6d57442470a11a2770d3d417741
--- /dev/null
+++ b/extra/emacs/snippets/yaml-mode/RecordType
@@ -0,0 +1,30 @@
+# -*- mode: snippet -*-
+# This file is a part of the CaosDB Project.
+#
+# Copyright (C) 2022 IndiScale GmbH <info@indiscale.com>
+# Copyright (C) 2022 Daniel Hornung <d.hornung@indiscale.com>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+# name: RecordType
+# key: RT
+# expand-env: ((yas-indent-line 'fixed))
+# --
+${1:RecordTypeName}:
+  inherit_from_obligatory:$0
+  inherit_from_recommended:
+  inherit_from_suggested:
+  obligatory_properties:
+  recommended_properties:
+  suggested_properties:
diff --git a/src/doc/yaml_interface.rst b/src/doc/yaml_interface.rst
index 52d33a174e6c98f77f4bc55b1593545f864ee0b2..f5dea11acc3a23c3d6eb9680e1c3e488c4b43a54 100644
--- a/src/doc/yaml_interface.rst
+++ b/src/doc/yaml_interface.rst
@@ -98,7 +98,6 @@ would declare a list of elements with datatype Project.
 Keywords
 ========
 
-- **parent**: Parent of this entity.
 - **importance**: Importance of this entity. Possible values: "recommended", "obligatory", "suggested"
 - **datatype**: The datatype of this property, e.g. TEXT, INTEGER or Project.
 - **unit**: The unit of the property, e.g. "m/s".
@@ -106,9 +105,11 @@ Keywords
 - **recommended_properties**: Add properties to this entity with importance "recommended".
 - **obligatory_properties**: Add properties to this entity with importance "obligatory".
 - **suggested_properties**: Add properties to this entity with importance "suggested".
-- **inherit_from_recommended**: Inherit from another entity using the specified importance level including the higher importance level "obligatory". This would add a corresponding parent and add all obligatory and recommended properties from the parent.
-- **inherit_from_suggested including higher importance levels**: Inherit from another entity using the specified importance level. This would add a corresponding parent and add all obligatory, recommended and suggested properties from the parent.
-- **inherit_from_obligatory**: Inherit from another entity using the specified importance level. This would add a corresponding parent and add all obligatory properties from the parent.
+- **inherit_from_XXX**: This keyword accepts a list of other RecordTypes.  Those RecordTypes are
+  added as parents, and all Properties with at least the importance ``XXX`` are inherited.  For
+  example, ``inherited_from_recommended`` will inherit all Properties of importance ``recommended``
+  and ``obligatory``, but not ``suggested``.
+- **parent**: Parent of this entity. (*Deprecated*)
 
 Usage
 =====