diff --git a/docs/img/backoffice_assign_badge.jpg b/docs/img/backoffice_assign_badge.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c4ea9a2fd62c09d9bf1d7d3c7189e24b7a934c32
Binary files /dev/null and b/docs/img/backoffice_assign_badge.jpg differ
diff --git a/docs/img/backoffice_redeem_badges.jpg b/docs/img/backoffice_redeem_badges.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fc7a9678f21bc3048d42a246d799daa9b519eb65
Binary files /dev/null and b/docs/img/backoffice_redeem_badges.jpg differ
diff --git a/docs/img/badgeDokuFrontend1.png b/docs/img/badgeDokuFrontend1.png
new file mode 100644
index 0000000000000000000000000000000000000000..1d61b5684b435d16d212aedcf7fb81ab4ac0e168
Binary files /dev/null and b/docs/img/badgeDokuFrontend1.png differ
diff --git a/docs/img/cp_getBadge.png b/docs/img/cp_getBadge.png
new file mode 100644
index 0000000000000000000000000000000000000000..9f201eeb57c5c86ee9e2df5cf2ed2d2422631e6c
Binary files /dev/null and b/docs/img/cp_getBadge.png differ
diff --git a/docs/maps.en.md b/docs/maps.en.md
index 803377962c288907b5161dd2ecffc4309a6ad516..4c315fd49a0c1c11edea4a61ae125cb3894c0f58 100644
--- a/docs/maps.en.md
+++ b/docs/maps.en.md
@@ -21,6 +21,7 @@ This tutorial is "work in progess", hence its worth checking it from time to tim
 * 2020-12-22: World-Exit added.
 * 2020-12-22: Cross-Assembly Links added.
 * 2020-12-25: Added [exitUrl List](exitUrls.en.md)
+* 2020-12-28: Award Badge property added.
 
 ### Known Bugs
 Following bugs are known and worked on:
@@ -170,6 +171,11 @@ Should you not want audio and video communication between participants in certai
 ### Walls / non-accessible areas
 For a change, this is not a layer property, but a tile property.  For a description, see the Tiles section above.
 
+### Award badges
+You can award badges when stepping on certain tiles. To do this, give the layer the property "getBadge" (string). The token is a map token, which can be generated in the Backoffice for each badge.
+
+![](img/cp_getBadge.png)
+
 ### Animated Tiles
 Tiles can be combined to animations (loops), for example to make floating water or bliking lights look better. Therefore all frames need to be a single 32x32 tile.
 Create animations by editing the tileset, click on the tile to animate (or pick a free tile to not overwrite existing ones) and click on the animation editor:
diff --git a/docs/maps.md b/docs/maps.md
index 9b4b0a9fad83fc91414b708651ca650ff7ad86b8..37707037aa3c698a9330eb574e14a0353295c12b 100644
--- a/docs/maps.md
+++ b/docs/maps.md
@@ -23,7 +23,9 @@ Dieses Tutorial ist ein work in progress und wird immer mal wieder erweitert, es
 * 2020-12-20: Vorlage ergänzt.
 * 2020-12-22: World-Exit ergänzt.
 * 2020-12-22: Cross-Assembly Links ergänzt.
-* 2020-12-25: [Liste derexitUrls ](exitUrls.md) ergänzt.
+* 2020-12-25: [Liste der exitUrls ](exitUrls.md) ergänzt.
+* 2020-12-28: Badgevergabe-Property hinzugefügt
+
 
 ### Known Bugs
 Folgende Bugs sind aktuell bekannt, wir versuchen bereits, Lösungen dafür zu finden:
@@ -175,6 +177,11 @@ Solltet ihr in gewissen Bereichen keine Audio/Video Kommunikation zwischen den T
 ### Wände / nicht begehbare Bereiche
 Das ist ausnahmsweise kein Layer, sondern eine Tile-Eigenschaft. Beschreibung siehe weiter oben bei den Tiles.
 
+### Badgevergabe
+Ihr könnt Badges an User vergeben, wenn diese ein bestimmten Tile betreten. Analog zu Start und Exit Layern legt ihr ein Layer dafür an, setzt Tiles an die entsprechenden Stellen und gebt dem Layer die custom property "_getBadge_" (string). Ein Token könnt Ihr für jedes Badge im Backoffice generieren. Es funktioniert jedoch nur ein **Map** Redeem Token.
+
+![](img/cp_getBadge.png)
+
 ### Animationen
 Tiles können zu Animationen (Loops) zusammengeführt werden, um z.B. fließendes Wasser oder blinkende Lichter darzustellen. Dazu müssen alle "Frames" einer Animation jeweils ein eigenes 32x32 Tile sein.
 Bearbeitet dazu in Tiled das Tileset, wählt das zu animierende Tile (oder ein beliebiges leeres Tile) aus und klickt auf den Animation Editor:
diff --git a/docs/maschinenraum.en.md b/docs/maschinenraum.en.md
index 61a1587a86facf7d96813f97f942c03277889026..1e2ad23ff2abf51c955ed78d7f732aa33ab91639 100644
--- a/docs/maschinenraum.en.md
+++ b/docs/maschinenraum.en.md
@@ -100,14 +100,79 @@ Badges are distributed to users via token. A matching token can be generated whe
 
 * Achievement
     * Mode 1 (anonymous/ user not known): The assemblies gets a redeem token for the user, then they get the token and the profile with the input box opens (similar to found easter eggs). Redeem the redeem code in your profile to unlock the achievement and get the badge.
-    * Mode 2 (user / SSO known): The assembly hands out the badge to the user. The user has to accept the badge to receive it.
+      * Mode 2 (user / SSO known): The assembly hands out the badge to the user. The user has to accept the badge to receive it.
 
 
 Users will find collected badges in their profile. Users will always have to actively accept a badge - who wants to suddenly find a pink dolphine vibrator in their profile?
 
+##### Assign directly via Maschinenraum
+Within the Maschinenraum Badges can be directly assigned to users.
+
+![](img/backoffice_assign_badge.jpg)
+
+##### Create Redeem Tokens
+When automaticly assigning badges to users, Redeem Tokens (TM) are necessary. There are four types of Redeem Tokens:
+* **One-Time**: The token can be used exaclty once.
+* **Permanent**: The token can be used an unlimited amount of time.
+* **Map**: The token can be only used in rc3 World Maps.
+* **Limited**: The token can be used an n amount of time.
+
+![](img/backoffice_redeem_badges.jpg)
+  
+These can be created via the Maschinenraum (see image) or via API:
+
+Just send a REST POST Request to `/api/c/<conference_slug>/assembly/<assembly>/badges/new_redeem_token` with the following body:
+```
+{
+  issuing_token: <secret_issuing_token>,
+  badge_class: <private|public|map|limited>,
+  amount: <int>
+}
+```
+_`amount` is only necessary if you create a limited redeem token._
+
 #### How to distribute badges to the users?
 
-API endpoints will exist soon. You can award badges to individual users in the maschinenraum, too.
+##### Using Redeem Tokens to get the badge
+Badges can be distributed via the Redeem Tokens.
+###### User adds it via the frontend
+A user can go to his profile (`/<conference_slug>/me`) and redeem a token in "My badges". 
+
+A url is available to auto-fill in the token input field: `/<conference_slug>/me/redeem_badge/<redeem_token>`.
+This is perfect to use it in QR codes.
+
+When a user redeems a badge via his profile, it is automatically accepted and set to private on their profile.
+
+![]( img/badgeDokuFrontend1.png)
+
+###### Automaticly assign a badge to a user via the API
+An API is provided to automatically assign a badge to an user. These badges need to be accepted by the user (`/<conference_slug>/me/manage_badges`).
+
+
+Just send a REST POST Request to `/api/c/<conference_slug>/badges/redeem_token` with the following body:
+```
+{
+  token: <redeem_issuing_token>,
+  username: <username>
+}
+```
+
+##### Using the rc3.world map to assign badges
+In the rc3.world map a tile can be linked to assigning a badge. It works simiar to opening a website, but using the `getBadge` property instead. Usage of **Map** Redeem Tokens is required.
+
+![](img/cp_getBadge.png)
+
+##### API Repsonse
+The API always answaers the following when a badge is sucessfully assigned:
+```
+{
+  "badge": <badgename>,
+  "user":  <username>,
+  "created": <True if the badge has been assigned the first time>
+}
+```
+
+
 
 ## Any More Questions?
 Please send any questions not covered here to the Assembly Team: [rc3@c3assemblies.de](mailto:rc3@c3assemblies.de)
@@ -118,3 +183,4 @@ There is separate documentation for channels and connected questions: [c3voc.de/
 In case of questions regarding streams please contact:
 recommended: IRC, #voc-lounge im Hackint.eu
 possible: [voc@c3voc.de](mailto:voc@c3voc.de)
+ 
diff --git a/docs/maschinenraum.md b/docs/maschinenraum.md
index cbe8149bdbda15022ef4aa2f8fcd7e06a1f2050b..b406d520914df07e85c85e092e556aa2e4136a91 100644
--- a/docs/maschinenraum.md
+++ b/docs/maschinenraum.md
@@ -111,9 +111,75 @@ Badges werden via Token an die User:innen verteilt. Ein passendes Token kann bei
 
 Gesammelte Badges finden User:innen in ihrem Profil. User:innen müssen den Erhalt der Badges immer aktiv bestätigen - wer möchte schon plötzlich einen rosafarbenen Delphin-Vibrator im Profil vorfinden?
 
-#### Badges verteilen
-API Endpunkt existiert in Kürze, alternativ können Badges individuell im Maschinenraum an Nutzer verteilt werden.
+##### Direktzuweisung im Maschinenraum
+Im Maschinenraum können Badges direkt an User vergeben werden.
 
+![](img/backoffice_assign_badge.jpg)
+
+##### Erstellung von Redeem Tokens
+Zum sonstigen Vergeben von Badges wind Redeem Tokens (TM) notwending. Es gibt vier verschiedene Klassen:
+* **One-Time**: Dieses Token ist exakt einmal einlösbar.
+* **Permanent**: Dieses Token ist unendlich oft einlösbar.
+* **Map**: Dieses Token ist kann nur in rc3.World maps eingelöst werden.
+* **Limited**: Dieses Token ist exakt n-mal einlösbar.
+
+![](img/backoffice_redeem_badges.jpg)
+  
+Diese Redeem Tokens können im Maschinenraum (siehe Bild) oder per API erstellt werden:
+
+
+REST POST Request to `/api/c/<conference_slug>/assembly/<assembly>/badges/new_redeem_token` mit dem folgenden body:
+```
+{
+  issuing_token: <secret_issuing_token>,
+  badge_class: <private|public|map|limited>,
+  amount: <int>
+}
+```
+_`amount` ist nur notwending, wenn Ihr ein Limited Redeem Token erstellen wollt._
+
+#### Wie können Badges an User vergeben werden?
+
+##### Redeem Tokens einlösen
+Mit Redeem Tokens können Badges verteilt werden.
+
+###### User löst es im Frontend ein 
+Ein Benutzer kann ein Redeem Token in seinem Profil (`/<conference_slug>/me`) einlösen unter "Meine Badges".
+
+Eine URL zum automatischen ausfüllen von diesem Feld (z.B. für QR Codes) wird bereitgestellt: `/<conference_slug>/me/redeem_badge/<redeem_token>`.
+
+Wenn ein Benutzer einen Badge im Frontend in seinem Profil einlöst, wird dieser Badge automatisch akzeptiert und taucht in seinem Profil als "Privat" auf.
+
+![]( img/badgeDokuFrontend1.png)
+
+###### Automatisches Zuweisen von Badges mit der API
+Es wird eine API bereitgestellt, mit der Badges einem Benutzer zugewiesen wrden können. Diese Badges müssen vom Benutzer manuell akzeptiert werden (`/<conference_slug>/me/manage_badges`).
+
+
+REST POST Request: `/api/c/<conference_slug>/badges/redeem_token` 
+
+Body:
+```
+{
+  token: <redeem_issuing_token>,
+  username: <username>
+}
+```
+
+##### Badges in der rc3.world zuweisen
+In der rc3.world map kann ein Tile zu einem Badge verlinkt werden. Wenn der Benutzer dieses Teil betritt, bekommt er automatisch den Badge zugewiesen. Es funktioniert ähnlich wie das öffnen einer Website, hierfür wird das  `getBadge` Property verwendet. Es müssen **Map** Redeem Tokens verwendet werden.
+
+![](img/cp_getBadge.png)
+
+##### API Antwort
+The API antwortet immer mit dem folgenden JSON Objekt.
+```
+{
+  "badge": <badgename>,
+  "user":  <username>,
+  "created": <True wenn das Badge zum ersten Mal dem User zugewiesen wurde>
+}
+```
 
 ## Noch Fragen?
 Bitte stellt übrige Fragen an das Assembly-Team: [rc3@c3assemblies.de](mailto:rc3@c3assemblies.de)