diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 17f38943a256a81d5be4fa0124141374f668d48f..35edda7bfd216c957ffe2922516dbe362e6f6bd5 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -22,6 +22,7 @@
     <element>ICON</element>
     <element>CLASSIFICATION</element>
     <element>TRANSPARENCY</element>
+    <element>CATEGORIES</element>
   </fields>
   <contentProcess>%aditoprj%/entity/Appointment_entity/contentProcess.js</contentProcess>
   <onInsert>%aditoprj%/entity/Appointment_entity/onInsert.js</onInsert>
@@ -88,6 +89,7 @@
     </entityField>
     <entityField>
       <name>CATEGORIES</name>
+      <fieldName>CATEGORIES</fieldName>
       <possibleItemsProcess>%aditoprj%/entity/Appointment_entity/entityfields/categories/possibleItemsProcess.js</possibleItemsProcess>
       <newItemsAllowed v="true" />
       <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/categories/valueProcess.js</valueProcess>
@@ -101,9 +103,5 @@
       <name>TRANSPARENCY</name>
       <fieldName>TRANSPARENCY</fieldName>
     </entityField>
-    <entityField>
-      <name>ALLDAY</name>
-      <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/allday/valueProcess.js</valueProcess>
-    </entityField>
   </entityFields>
 </entity>
diff --git a/entity/Appointment_entity/contentProcess.js b/entity/Appointment_entity/contentProcess.js
index f4b3c55983448f2e56d979fe05d824f379d913cf..927ff03b31f8e3c4ae557c6c99f25a076cbca914 100644
--- a/entity/Appointment_entity/contentProcess.js
+++ b/entity/Appointment_entity/contentProcess.js
@@ -24,11 +24,12 @@ if(vars.exists("$param.entry"))
     var remindercheck = entry[calendars.HASREMINDER]
     var classification = entry[calendars.CLASSIFICATION];
     var transparency = entry[calendars.TRANSPARENCY];
+    var categories = entry[calendars.CATEGORIES];
     
     //@TODO Icon 
   
     result.object([
-        [uid, '', '', attendees.length, startdate, enddate, summary, organizer, attendees, status, links, description, location, '', classification, transparency] //reminder, remindercheck
+        [uid, '', '', attendees.length, startdate, enddate, summary, organizer, attendees, status, links, description, location, '', classification, transparency, categories] //reminder, remindercheck
         ]);
 }
 else
diff --git a/entity/Appointment_entity/entityfields/allday/valueProcess.js b/entity/Appointment_entity/entityfields/allday/valueProcess.js
deleted file mode 100644
index aab21974bdd8dfea53bfa129fe5640be38e324fe..0000000000000000000000000000000000000000
--- a/entity/Appointment_entity/entityfields/allday/valueProcess.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import("system.vars");
-import("system.datetime");
-import("system.result");
-
-var start = vars.get("$field.BEGIN");
-var end = vars.get("$fild.END")
-
-var startNumber = number(start);
-var endNumber = number(end);
-
-// überprüft ob beide uhrzeiten start und end auf 0 Uhr stehen und
-// ob es 0 Uhr des selben tages ist
-var isAllday = datetime.toDate(start, "HH:mm") == "00:00" && 
-    datetime.toDate(end, "HH:mm") == "23:59" && 
-    startNumber < endNumber;
-
-result.string(allday);
\ No newline at end of file
diff --git a/entity/Appointment_entity/onInsert.js b/entity/Appointment_entity/onInsert.js
index 9eac4094d6b455abb0e28fcc81674849cf327956..ba6725551cea3e4f3f4d09416d13695cdc7f9f5c 100644
--- a/entity/Appointment_entity/onInsert.js
+++ b/entity/Appointment_entity/onInsert.js
@@ -10,12 +10,8 @@ import("system.db");
 import("system.result");
 import("system.tools");
 
-logging.log("on insert");
 
-// Dieser Prozess speichert die im Frame angezeigten Daten
-// Je nach Modus (INSERT, EDIT) wird ein neuer Datensatz angelegt oder der alte editiert
 var event = JSON.parse(vars.getString("param.entry"));
-
 var ok = false;
 
 event[calendars.TYPE] = calendars.VEVENT;
@@ -51,9 +47,9 @@ if (hasReminder == "true")
 //        }
 }
 event[calendars.CLASSIFICATION] = vars.get("$field.CLASSIFICATION");
-//    event[calendars.TRANSPARENCY] = vars.get("$field.transparency");
+event[calendars.TRANSPARENCY] = vars.get("$field.TRANSPARENCY");
 //event[calendars.AFFECTEDUSERS] = getAffectedUsers( event );   
-//    event[calendars.CATEGORIES] = vars.get("$field.categories");
+event[calendars.CATEGORIES] = vars.get("$field.CATEGORIES");
 //calcrecurrence(event);
 //if (event[calendars.RRULE] != undefined)     recurrencend(event);
 // Links updaten
@@ -63,15 +59,6 @@ event[calendars.ID] = calendars.insert([event])[0];
 vars.set("$image.editmode", calendars.MODE_UPDATE);
 ok = true;
 
-////Zwischenspeichern
-//if(vars.exists("$image.dontClose") && vars.get("$image.dontClose") )    ok = false; //Maske offen lassen
-//vars.set("$image.dontClose",  false); // zurücksetzen, damit Klick auf Speichern noch funktioniert
-
-if(vars.exists("$sys.ancestorimageuid") && vars.get("$sys.ancestorimageuid") != null)
-{
-    neon.closeImage(vars.getString("$sys.currentimage"), true);
-    neon.refresh(vars.get("$sys.ancestorimageuid"));
-}
 
 
 // Liefert die AffectedUsers
diff --git a/entity/Appointment_entity/onUpdate.js b/entity/Appointment_entity/onUpdate.js
index c57e7291d14c1cc45ad19d63e70c6fb8d518d905..3c635c2eb5eaa2d64d149ebeab676f44f2faefc2 100644
--- a/entity/Appointment_entity/onUpdate.js
+++ b/entity/Appointment_entity/onUpdate.js
@@ -27,7 +27,7 @@ if(vars.exists("param.entry"))
         ok = true;
     }
     else
-        {
+    {
         
         event[calendars.TYPE] = calendars.VEVENT;
         event[calendars.STATUS] = vars.getString("$field.STATUS");